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?
optional
auth:AxiosBasicCredentials
authKey?
optional
authKey:string
securityHeaders?
optional
securityHeaders:Record
<string
,string
>
securityQueries?
optional
securityQueries: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: {...} }