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:
- Authorization header from the headers parameter
- Axios auth configuration
- Security providers (new security system)
- 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?
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 objectsecurityHeaders: Additional headers from security providerssecurityQueries: Query parameters from security providers
auth?
optionalauth:AxiosBasicCredentials
authKey?
optionalauthKey:string
securityHeaders?
optionalsecurityHeaders:Record<string,string>
securityQueries?
optionalsecurityQueries:Record<string,string>
Example
// 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: {...} }