Skip to content

jin-frame / tools/auth/getAuthorization / getAuthorization

Function: getAuthorization()

getAuthorization(headers, frameOption, auth?, dynamicAuth?): object

Defined in: packages/jin-frame/src/tools/auth/getAuthorization.ts:53

Extracts and processes authorization information from various sources in priority order.

The function follows this priority hierarchy:

  1. Authorization header from the headers parameter
  2. Axios auth configuration
  3. Security providers (new security system)
  4. Legacy authorization configuration (deprecated)

Parameters

headers

Record<string, string>

HTTP headers containing potential Authorization header

frameOption

Pick<IFrameOption, "security" | "authorization" | "authoriztion">

Frame configuration options containing security and authorization settings

auth?

AxiosBasicCredentials

Optional Axios authentication configuration (username/password)

dynamicAuth?

AuthorizationData

Optional dynamic authorization data for runtime security provider configuration

Returns

object

Authorization result object containing:

  • authKey: Authorization token/key string (from header or legacy config)
  • auth: Axios auth configuration object
  • securityHeaders: Additional headers from security providers
  • securityQueries: Query parameters from security providers

auth?

optional auth: AxiosBasicCredentials

authKey?

optional authKey: string

securityHeaders?

optional securityHeaders: Record<string, string>

securityQueries?

optional securityQueries: Record<string, string>

Example

typescript
// Using Authorization header
const result = getAuthorization(
  { Authorization: 'Bearer token123' },
  frameOption
);
// Returns: { authKey: 'Bearer token123', auth: undefined }

// Using Axios auth
const result = getAuthorization(
  {},
  frameOption,
  { username: 'user', password: 'pass' }
);
// Returns: { authKey: undefined, auth: { username: 'user', password: 'pass' } }

// Using security providers
const result = getAuthorization(
  {},
  { security: [apiKeyProvider] },
  undefined,
  { apiKey: 'key123' }
);
// Returns: { authKey: undefined, auth: undefined, securityHeaders: {...}, securityQueries: {...} }