File
acrValues
(Optional)
|
Type
|
string[]
|
bffBaseUrl
|
Type
|
string
|
Description
|
All requests to this URL (or child paths) will have the access token appended as a header
when there is an access token present.
|
default
(Optional)
|
Type
|
boolean
|
Description
|
If set to true, this configuration will be taken as the default config when OAuth actions are requested
without a specific config name.
|
endSessionUrl
(Optional)
|
Type
|
string
|
name
|
Type
|
string
|
Description
|
The name of this OAuth config. Will be used for reference to identify which configuration to use when
calling one of the OAuth actions (authorize or token ).
|
refreshBeforeExpiryThreshold
(Optional)
|
Type
|
number
|
Description
|
Defines the threshold when a token is refreshed even before it has expired.
Example: If the token still has 5,000 ms before it expires, it will be renewed.
If it has 5,001ms, it won't be renewed.
|
revokeUrl
(Optional)
|
Type
|
string
|
import { InjectionToken } from '@angular/core';
export const OAUTH_CONFIGURATIONS = new InjectionToken<OauthConfig>('OAUTH_CONFIGURATIONS');
export const LOCATION = new InjectionToken<Location>('LOCATION', {
providedIn: 'root',
factory: () => window.location
});
export const STORAGE = new InjectionToken<Storage>('STORAGE', {
providedIn: 'root',
factory: () => sessionStorage
});
export interface OauthOptions {
configurations: OauthConfig[];
}
export type OauthConfig = OauthConfigWithAppTokenUrl | OauthConfigWithAppTokenPageIdOrInternalPath;
interface OauthConfigBase {
/**
* If set to true, this configuration will be taken as the default config when OAuth actions are requested
* without a specific config name.
*/
default?: boolean;
/**
* The name of this OAuth config. Will be used for reference to identify which configuration to use when
* calling one of the OAuth actions (`authorize` or `token`).
*/
name: string;
clientId: string;
authorizeUrl: string;
tokenUrl: string;
endSessionUrl?: string;
revokeUrl?: string;
scope: string;
acrValues?: string[];
/**
* All requests to this URL (or child paths) will have the access token appended as a header
* when there is an access token present.
*/
bffBaseUrl: string;
/**
* Defines the threshold when a token is refreshed even before it has expired.
*
* Example: If the token still has 5,000 ms before it expires, it will be renewed.
* If it has 5,001ms, it won't be renewed.
*/
refreshBeforeExpiryThreshold?: number;
}
export interface OauthConfigWithAppTokenUrl extends OauthConfigBase {
appTokenUrl: string;
appTokenPageIdOrInternalPath?: never;
}
export interface OauthConfigWithAppTokenPageIdOrInternalPath extends OauthConfigBase {
appTokenPageIdOrInternalPath: string;
appTokenUrl?: never;
}