Skip to content

jin-frame / tools/auth/applySecurityProviders / applySecurityProviders

Function: applySecurityProviders()

applySecurityProviders(providers, authorization?, dynamicAuth?): ISecurityContext

Defined in: packages/jin-frame/src/tools/auth/applySecurityProviders.ts:38

Applies multiple security providers to generate a unified security context.

This function processes an array of security providers sequentially, merging their outputs into a single security context. Headers and query parameters are merged additively, while auth configuration uses the last provider's value (last wins strategy).

Parameters

providers

ISecurityProvider[]

Array of security providers to apply

authorization?

AuthorizationData

Static authorization data configured at frame level

dynamicAuth?

AuthorizationData

Runtime authorization data that overrides static configuration

Returns

ISecurityContext

Unified security context containing:

  • headers: Merged HTTP headers from all providers
  • queries: Merged query parameters from all providers
  • auth: Axios auth configuration from the last provider that provided one

Example

typescript
const providers = [apiKeyProvider, bearerTokenProvider];
const context = applySecurityProviders(
  providers,
  { apiKey: 'static-key' },
  { token: 'runtime-token' }
);

// Returns merged context:
// {
//   headers: { 'X-API-Key': 'static-key', 'Authorization': 'Bearer runtime-token' },
//   queries: { ... },
//   auth: { ... } // from last provider
// }