From f9c6efe3c44ddeef794fb8502762eb697305d754 Mon Sep 17 00:00:00 2001 From: ManfredSteyer Date: Tue, 29 Aug 2017 00:26:16 +0200 Subject: [PATCH] updated docs --- .../classes/AbstractValidationHandler.html | 15 +- .../docs/classes/JwksValidationHandler.html | 104 +- .../docs/classes/LoginOptions.html | 59 + .../docs/classes/NullValidationHandler.html | 6 + .../docs/classes/OAuthErrorEvent.html | 6 + .../docs/classes/OAuthEvent.html | 6 + .../docs/classes/OAuthInfoEvent.html | 6 + .../docs/classes/OAuthSuccessEvent.html | 6 + .../docs/classes/ReceivedTokens.html | 24 +- angular-oauth2-oidc/docs/coverage.html | 674 ++++++ .../docs/images/coverage-badge.svg | 9 + angular-oauth2-oidc/docs/index.html | 46 +- .../docs/injectables/OAuthService.html | 2145 +++++++++++++---- .../docs/injectables/UrlHelperService.html | 10 +- .../docs/interfaces/OAuthStorage.html | 22 +- .../docs/interfaces/ParsedIdToken.html | 28 +- .../docs/interfaces/ValidationHandler.html | 11 +- .../docs/interfaces/ValidationParams.html | 43 + .../docs/js/search/search_index.js | 4 +- angular-oauth2-oidc/docs/license.html | 6 + .../docs/miscellaneous/typealiases.html | 6 + .../docs/miscellaneous/variables.html | 6 + angular-oauth2-oidc/docs/modules.html | 6 + .../docs/modules/OAuthModule.html | 7 + angular-oauth2-oidc/docs/overview.html | 6 + npm-debug.log | 23 + 26 files changed, 2821 insertions(+), 463 deletions(-) create mode 100644 angular-oauth2-oidc/docs/coverage.html create mode 100644 angular-oauth2-oidc/docs/images/coverage-badge.svg create mode 100644 npm-debug.log diff --git a/angular-oauth2-oidc/docs/classes/AbstractValidationHandler.html b/angular-oauth2-oidc/docs/classes/AbstractValidationHandler.html index 0bc1af57..75aacf76 100644 --- a/angular-oauth2-oidc/docs/classes/AbstractValidationHandler.html +++ b/angular-oauth2-oidc/docs/classes/AbstractValidationHandler.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -481,7 +487,7 @@

    - + @@ -548,7 +554,7 @@

    - + @@ -609,7 +615,7 @@

    - + @@ -644,7 +650,7 @@

    - + @@ -674,6 +680,7 @@

    idTokenHeader: object; idTokenClaims: object; jwks: object; + loadKeys: () => Promise<object>; } /** diff --git a/angular-oauth2-oidc/docs/classes/JwksValidationHandler.html b/angular-oauth2-oidc/docs/classes/JwksValidationHandler.html index 0bdffb95..90a9a949 100644 --- a/angular-oauth2-oidc/docs/classes/JwksValidationHandler.html +++ b/angular-oauth2-oidc/docs/classes/JwksValidationHandler.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -455,6 +461,9 @@

    Methods
    @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -377,9 +383,22 @@

    angular-oauth2-oidc

    Support for OAuth 2 and OpenId Connect (OIDC) in Angular.

    +

    OIDC Certified Logo

    Credits

    +

    Resources

    +

    Tested Environment

    Successfully tested with the Angular 2 and 4 and its Router, PathLocationStrategy as well as HashLocationStrategy and CommonJS-Bundling via webpack. At server side we've used IdentityServer (.NET/ .NET Core) and Redhat's Keycloak (Java).

    @@ -413,10 +432,16 @@

    Breaking Changes in Version 2

    Sample-Auth-Server

    You can use the OIDC-Sample-Server mentioned in the samples for Testing. It assumes, that your Web-App runns on http://localhost:8080.

    Username/Password: max/geheim

    -

    Resources

    +

    clientIds:

    + +

    redirectUris:

    Setup Provider for OAuthService

    import { OAuthModule } from 'angular-oauth2-oidc';
    @@ -560,18 +585,7 @@ 

    Configure [...] this.oauthService.tokenValidationHandler = new JwksValidationHandler();

    In cases where no ValidationHandler is defined, you receive a warning on the console. This means that the library wants you to explicitly decide on this.

    -

    Validate id_token (legacy, deprecated)

    -

    In cases where security relies on the id_token (e. g. in hybrid apps that use it to provide access to local resources) -you could use the callback validationHandler to define the logic to validate the token's signature. -The following sample uses the validation-endpoint of IdentityServer3 for this:

    -
    this.oauthService.tryLogin({
    -    validationHandler: context => {
    -        var search = new URLSearchParams();
    -        search.set('token', context.idToken); 
    -        search.set('client_id', oauthService.clientId);
    -        return http.get(validationUrl, { search }).toPromise();
    -    }
    -});

    Calling a Web API with OAuth-Token

    +

    Calling a Web API with OAuth-Token

    Pass this Header to the used method of the Http-Service within an Instance of the class Headers:

    var headers = new Headers({
         "Authorization": "Bearer " + this.oauthService.getAccessToken()
    diff --git a/angular-oauth2-oidc/docs/injectables/OAuthService.html b/angular-oauth2-oidc/docs/injectables/OAuthService.html
    index 0ec01861..6ee20a67 100644
    --- a/angular-oauth2-oidc/docs/injectables/OAuthService.html
    +++ b/angular-oauth2-oidc/docs/injectables/OAuthService.html
    @@ -187,6 +187,9 @@
                         
                 
                 
    +                    
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -428,6 +434,12 @@
    Properties
    @@ -610,7 +724,7 @@

    Constructor

    - + @@ -641,7 +755,7 @@

    - + @@ -663,21 +777,21 @@

    - - Protected createNonce + + Private calcTimeout - - createNonce() + + calcTimeout(expiration: number) - + @@ -685,7 +799,7 @@

    - Returns : Promise<string> + Returns : number
    @@ -696,71 +810,31 @@

    - - Public fetchTokenUsingPasswordFlow + + Private callOnTokenReceivedIfExists - - fetchTokenUsingPasswordFlow(userName: string, password: string, headers: Headers) + + callOnTokenReceivedIfExists(options: LoginOptions) - + -

    Uses password flow to exchange userName and password for an access_token.

    -
    - Parameters : - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    userName -
    password -
    headers -

    Optional additional http-headers.

    -
    -
    -
    -
    -
    - Returns : Promise<object> + Returns : void
    -
    - -
    @@ -769,77 +843,31 @@

    - - Public fetchTokenUsingPasswordFlowAndLoadUserProfile + + Private checkAtHash - - fetchTokenUsingPasswordFlowAndLoadUserProfile(userName: string, password: string, headers: Headers) + + checkAtHash(params: ValidationParams) - + -

    Uses password flow to exchange userName and password for an - access_token. After receiving the access_token, this method - uses it to query the userinfo endpoint in order to get information - about the user in question.

    -

    When using this, make sure that the property oidc is set to false. - Otherwise stricter validations take happen that makes this operation - fail.

    -
    - Parameters : - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameTypeDescription
    userName -
    password -
    headers -

    Optional additional http-headers.

    -
    -
    -
    -
    -
    - Returns : Promise<object> + Returns : boolean
    -
    - -
    @@ -848,31 +876,29 @@

    - - Public getAccessToken + + Private checkSignature - - getAccessToken() + + checkSignature(params: ValidationParams) - + -

    Returns the current access_token.

    -
    - Returns : string + Returns : Promise<any>
    @@ -883,32 +909,29 @@

    - - Public getAccessTokenExpiration + + Private clearAccessTokenTimer - - getAccessTokenExpiration() + + clearAccessTokenTimer() - + -

    Returns the expiration date of the access_token - as milliseconds since 1970.

    -
    - Returns : number + Returns : void
    @@ -919,31 +942,29 @@

    - - Public getIdentityClaims + + Private clearIdTokenTimer - - getIdentityClaims() + + clearIdTokenTimer() - + -

    Returns the received claims about the user.

    -
    - Returns : object + Returns : void
    @@ -954,33 +975,36 @@

    - - Public getIdToken + + Public createAndSaveNonce - getIdToken() + createAndSaveNonce() - + -

    Returns the current id_token.

    -
    +
    +
    - Returns : string + Returns : Promise<string>
    +
    + +
    @@ -989,32 +1013,29 @@

    - - Public getIdTokenExpiration + + Private createLoginUrl - - getIdTokenExpiration() + + createLoginUrl(state: string, loginHint: string, customRedirectUri: string) - + -

    Returns the expiration date of the id_token - as milliseconds since 1970.

    -
    - Returns : number + Returns : any
    @@ -1025,31 +1046,29 @@

    - - Public hasValidAccessToken + + Protected createNonce - - hasValidAccessToken() + + createNonce() - + -

    Checkes, whether there is a valid access_token.

    -
    - Returns : boolean + Returns : Promise<string>
    @@ -1060,31 +1079,29 @@

    - - Public hasValidIdToken + + Private debug - - hasValidIdToken() + + debug(...args: any[]) - + -

    Checkes, whether there is a valid id_token.

    -
    - Returns : boolean + Returns : void
    @@ -1095,28 +1112,27 @@

    - - Public initImplicitFlow + + Public fetchTokenUsingPasswordFlow - initImplicitFlow(additionalState: , loginHint: ) + fetchTokenUsingPasswordFlow(userName: string, password: string, headers: Headers) - + -

    Starts the implicit flow and redirects to user to - the auth servers login url.

    +

    Uses password flow to exchange userName and password for an access_token.

    @@ -1131,25 +1147,31 @@

    - additionalState + userName -

    Optinal state that is passes around. You find this state in the property state after tryLogin logged in the user.

    - + - loginHint + password + + headers + + +

    Optional additional http-headers.

    + +

    - Returns : void + Returns : Promise<object>
    @@ -1163,31 +1185,33 @@

    - - Public loadDiscoveryDocument + + Public fetchTokenUsingPasswordFlowAndLoadUserProfile - loadDiscoveryDocument(fullUrl: string) + fetchTokenUsingPasswordFlowAndLoadUserProfile(userName: string, password: string, headers: Headers) - + -

    Loads the discovery document to configure most - properties of this service. The url of the discovery - document is infered from the issuer's url according - to the OpenId Connect spec. To use another url you - can pass it to to optional parameter fullUrl.

    +

    Uses password flow to exchange userName and password for an + access_token. After receiving the access_token, this method + uses it to query the userinfo endpoint in order to get information + about the user in question.

    +

    When using this, make sure that the property oidc is set to false. + Otherwise stricter validations take happen that makes this operation + fail.

    @@ -1202,11 +1226,24 @@

    - fullUrl + userName + + + + + + password + + headers + + +

    Optional additional http-headers.

    + +

    @@ -1227,34 +1264,31 @@

    - - Public loadUserProfile + + Public getAccessToken - loadUserProfile() + getAccessToken() - + -

    Loads the user profile by accessing the user info endpoint defined by OpenId Connect.

    -

    When using this with OAuth2 password flow, make sure that the property oidc is set to false. - Otherwise stricter validations take happen that makes this operation - fail.

    +

    Returns the current access_token.

    - Returns : Promise<object> + Returns : string
    @@ -1265,60 +1299,34 @@

    - - Public logOut + + Public getAccessTokenExpiration - logOut(noRedirectToLogoutUrl: boolean) + getAccessTokenExpiration() - + -

    Removes all tokens and logs the user out. - If a logout url is configured, the user is - redirected to it.

    +

    Returns the expiration date of the access_token + as milliseconds since 1970.

    - Parameters : - - - - - - - - - - - - - - - -
    NameTypeDescription
    noRedirectToLogoutUrl -
    -
    -
    -
    -
    - Returns : void + Returns : number
    -
    - -
    @@ -1327,29 +1335,31 @@

    - - Protected processIdToken + + Public getIdentityClaims - - processIdToken(idToken: string, accessToken: string) + + getIdentityClaims() - + +

    Returns the received claims about the user.

    +
    - Returns : Promise<> + Returns : object
    @@ -1360,35 +1370,31 @@

    - - Public refreshToken + + Public getIdToken - refreshToken() + getIdToken() - + -

    Refreshes the token using a refresh_token. - This does not work for implicit flow, b/c - there is no refresh_token in this flow. - A solution for this is provided by the - method silentRefresh.

    +

    Returns the current id_token.

    - Returns : Promise<object> + Returns : string
    @@ -1399,60 +1405,100 @@

    - - Public setStorage + + Public getIdTokenExpiration - setStorage(storage: OAuthStorage) + getIdTokenExpiration() - + -

    Sets a custom storage used to store the received - tokens on client side. By default, the browser's - sessionStorage is used.

    +

    Returns the expiration date of the id_token + as milliseconds since 1970.

    - Parameters : - - - - - - - - - - - - - - - -
    NameTypeDescription
    storage -
    + Returns : number +
    -
    + + + + + + + + + + + + + + + + + + + + + + +
    + + Private getKeyCount +
    + + getKeyCount() +
    + +
    + +
    + Returns : number +
    +
    + + + + + + + + + + + + + + + + @@ -1461,33 +1507,31 @@

    @@ -1498,29 +1542,31 @@

    @@ -1531,30 +1577,28 @@

    - + - + + + + +
    + + Private handleLoginError +
    + + handleLoginError(options: LoginOptions, parts: object) +
    + +
    +
    Returns : void
    -
    - -
    - - Public silentRefresh + + Public hasValidAccessToken
    - silentRefresh() + hasValidAccessToken()
    - +
    -

    Performs a silent refresh for implicit flow. - Use this method to get a new tokens when/ before - the existing tokens expires.

    +

    Checkes, whether there is a valid access_token.

    - Returns : Promise<> + Returns : boolean
    - - Protected storeIdToken + + Public hasValidIdToken
    - - storeIdToken(idToken: ParsedIdToken) + + hasValidIdToken()
    - +
    +

    Checkes, whether there is a valid id_token.

    +
    - Returns : void + Returns : boolean
    - - Public tryLogin + + Public initImplicitFlow
    - tryLogin(options: LoginOptions) + initImplicitFlow(additionalState: , loginHint: )
    - +
    -

    Checks whether there are tokens in the hash fragment - as a result of the implicit flow. These tokens are - parsed, validated and used to sign the user in to the - current client.

    +

    Starts the implicit flow and redirects to user to + the auth servers login url.

    @@ -1569,72 +1613,1159 @@

    optionsadditionalState

    Optinal options.

    +

    Optinal state that is passes around. You find this state in the property state after tryLogin logged in the user.

    loginHint +
    - Returns : Promise<void> + Returns : void + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + Public loadDiscoveryDocument +
    + + loadDiscoveryDocument(fullUrl: string) +
    + +
    +

    Loads the discovery document to configure most + properties of this service. The url of the discovery + document is infered from the issuer's url according + to the OpenId Connect spec. To use another url you + can pass it to to optional parameter fullUrl.

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + +
    NameTypeDescription
    fullUrl +
    +
    +
    +
    +
    + Returns : Promise<object> + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private loadJwks +
    + + loadJwks() +
    + +
    + +
    + Returns : Promise<object> + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public loadUserProfile +
    + + loadUserProfile() +
    + +
    +

    Loads the user profile by accessing the user info endpoint defined by OpenId Connect.

    +

    When using this with OAuth2 password flow, make sure that the property oidc is set to false. + Otherwise stricter validations take happen that makes this operation + fail.

    +
    + +
    + Returns : Promise<object> + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public logOut +
    + + logOut(noRedirectToLogoutUrl: boolean) +
    + +
    +

    Removes all tokens and logs the user out. + If a logout url is configured, the user is + redirected to it.

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + +
    NameTypeDescription
    noRedirectToLogoutUrl +
    +
    +
    +
    +
    + Returns : void + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private padBase64 +
    + + padBase64(base64data: ) +
    + +
    + +
    + Returns : string + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public processIdToken +
    + + processIdToken(idToken: string, accessToken: string) +
    + +
    + +
    +
    +
    + Returns : Promise<> + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public refreshToken +
    + + refreshToken() +
    + +
    +

    Refreshes the token using a refresh_token. + This does not work for implicit flow, b/c + there is no refresh_token in this flow. + A solution for this is provided by the + method silentRefresh.

    +
    + +
    + Returns : Promise<object> + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private removeSilentRefreshEventListener +
    + + removeSilentRefreshEventListener() +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public setStorage +
    + + setStorage(storage: OAuthStorage) +
    + +
    +

    Sets a custom storage used to store the received + tokens on client side. By default, the browser's + sessionStorage is used.

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + +
    NameTypeDescription
    storage +
    +
    +
    +
    +
    + Returns : void + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private setupAccessTokenTimer +
    + + setupAccessTokenTimer() +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private setupIdTokenTimer +
    + + setupIdTokenTimer() +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private setupSilentRefreshEventListener +
    + + setupSilentRefreshEventListener() +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private setupTimer +
    + + setupTimer() +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public silentRefresh +
    + + silentRefresh() +
    + +
    +

    Performs a silent refresh for implicit flow. + Use this method to get a new tokens when/ before + the existing tokens expires.

    +
    + +
    + Returns : Promise<> + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private storeAccessTokenResponse +
    + + storeAccessTokenResponse(accessToken: string, refreshToken: string, expiresIn: number) +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Protected storeIdToken +
    + + storeIdToken(idToken: ParsedIdToken) +
    + +
    + +
    + Returns : void + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Public tryLogin +
    + + tryLogin(options: LoginOptions) +
    + +
    +

    Checks whether there are tokens in the hash fragment + as a result of the implicit flow. These tokens are + parsed, validated and used to sign the user in to the + current client.

    +
    + +
    + Parameters : + + + + + + + + + + + + + + + +
    NameTypeDescription
    options +

    Optinal options.

    +
    +
    +
    +
    +
    + Returns : Promise<void> + +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private validateDiscoveryDocument +
    + + validateDiscoveryDocument(doc: object) +
    + +
    + +
    + Returns : boolean + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private validateNonceForAccessToken +
    + + validateNonceForAccessToken(accessToken: string, nonceInState: string) +
    + +
    + +
    + Returns : boolean + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private validateUrlAgainstIssuer +
    + + validateUrlAgainstIssuer(url: string) +
    + +
    + +
    + Returns : any + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private validateUrlForHttps +
    + + validateUrlForHttps(url: string) +
    + +
    + +
    + Returns : boolean + +
    +
    + + + + + + + + + + + + + + + + + + +
    + + Private validateUrlFromDiscoveryDocument +
    + + validateUrlFromDiscoveryDocument(url: string) +
    + +
    + +
    + Returns : string[] + +
    +
    + + +
    + +

    + Properties +

    + + + + + + + + + + + + + + + + + +
    + + Private _storage +
    + _storage: OAuthStorage + +
    + Type : OAuthStorage + +
    + +
    + + + + + + + + + + + + + + + + + +
    + + Private accessTokenTimeoutSubscription +
    + accessTokenTimeoutSubscription: Subscription + +
    + Type : Subscription + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + + Public clearHashAfterLogin +
    + clearHashAfterLogin: boolean + +
    + Type : boolean + +
    + Default value : true +
    + +
    +

    Defines whether to clear the hash fragment after logging in.

    +
    +
    + + + + + + + + + + + + + + + + + +
    + + Public clientId +
    + clientId: + +
    + +
    +

    The client's id as registered with the auth server

    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + + Public customQueryParams +
    + customQueryParams: object + +
    + Type : object + +
    + +
    +

    Map with additional query parameter that are appended to + the request when initializing implicit flow.

    +
    +
    + + + + + + + + + + + + + + + + + + + + +
    + + Public discoveryDocumentLoaded +
    + discoveryDocumentLoaded: boolean + +
    + Type : boolean + +
    + Default value : false +
    + +
    + + + + + + + + + + + + + + + - -
    - -
    - -
    + + Public discoveryDocumentLoaded$ +
    + discoveryDocumentLoaded$: Observable<object> + +
    + Type : Observable<object> + +
    + +
    -
    - -
    - -

    - Properties -

    - - - - - -
    - - Public clearHashAfterLogin + + Private discoveryDocumentLoadedSubject
    - clearHashAfterLogin: boolean + discoveryDocumentLoadedSubject: Subject<object>
    - Type : boolean + Type : Subject<object>
    - Default value : true -
    - +
    -

    Defines whether to clear the hash fragment after logging in.

    -
    -
    @@ -1642,25 +2773,36 @@

    - - Public clientId + + Public dummyClientSecret - clientId: + dummyClientSecret: string + + + Type : string + + + - + -

    The client's id as registered with the auth server

    +

    Some auth servers don't allow using password flow + w/o a client secreat while the standards do not + demand for it. In this case, you can set a password + here. As this passwort is exposed to the public + it does not bring additional security and is therefore + as good as using no password.

    @@ -1671,32 +2813,32 @@

    - - Public customQueryParams + + Public events - customQueryParams: object + events: Observable<OAuthEvent> - Type : object + Type : Observable<OAuthEvent> - + -

    Map with additional query parameter that are appended to - the request when initializing implicit flow.

    +

    Informs about events, like token_received or token_expires. + See the string enum EventType for a full list of events.

    @@ -1707,39 +2849,28 @@

    - - Public dummyClientSecret + + Private eventsSubject - dummyClientSecret: string + eventsSubject: Subject<OAuthEvent> - Type : string + Type : Subject<OAuthEvent> - + - - -

    Some auth servers don't allow using password flow - w/o a client secreat while the standards do not - demand for it. In this case, you can set a password - here. As this passwort is exposed to the public - it does not bring additional security and is therefore - as good as using no password.

    -
    - - @@ -1747,35 +2878,57 @@

    - - Public events + + Private grantTypesSupported - events: Observable<OAuthEvent> + grantTypesSupported: Array<string> - Type : Observable<OAuthEvent> + Type : Array<string> - + + + + + + + + + + + + + + + +
    -

    Informs about events, like token_received or token_expires. - See the string enum EventType for a full list of events.

    -
    + + Private idTokenTimeoutSubscription
    + idTokenTimeoutSubscription: Subscription + +
    + Type : Subscription + +
    + +
    @@ -1830,7 +2983,7 @@

    - + @@ -1845,6 +2998,35 @@

    + + + + + + + + + + + + + + + + + +
    + + Private jwksUri +
    + jwksUri: string + +
    + Type : string + +
    + +
    @@ -2004,6 +3186,34 @@

    + + + + + + + + + + + + + + + + + +
    + + Private receivedFirstToken +
    + receivedFirstToken: + +
    + Default value : true +
    + +
    @@ -2101,7 +3311,7 @@

    @@ -2299,7 +3509,7 @@

    @@ -2333,6 +3543,35 @@

    +

    +
    - +
    - +
    + + + + + + + + + + + + + + + +
    + + Private silentRefreshPostMessageEventListener +
    + silentRefreshPostMessageEventListener: EventListener + +
    + Type : EventListener + +
    + +
    @@ -2364,6 +3603,47 @@

    + + + +

    The redirect uri used when doing silent refresh.

    +
    +
    + + + + + + + + + + + + + + + + + + + + @@ -2392,7 +3672,7 @@

    @@ -2462,7 +3742,7 @@

    @@ -2503,7 +3783,7 @@

    @@ -2575,7 +3855,7 @@

    @@ -2737,6 +4017,13 @@

    public silentRefreshMessagePrefix: string = ''; + /** + * Set this to true to display the iframe used for + * silent refresh for debugging. + */ + public silentRefreshShowIFrame: boolean = false; + + /** * Timeout for silent refresh. */ @@ -2823,6 +4110,8 @@

    private accessTokenTimeoutSubscription: Subscription; private idTokenTimeoutSubscription: Subscription; + private jwksUri: string; + constructor( private http: Http, private urlHelper: UrlHelperService) { @@ -2868,6 +4157,9 @@

    } private validateUrlForHttps(url: string): boolean { + + if (!url) return true; + let lcUrl = url.toLowerCase(); if (this.requireHttps == false) return true; @@ -2883,6 +4175,7 @@

    private validateUrlAgainstIssuer(url: string) { if (!this.strictDiscoveryDocumentValidation) return true; + if (!url) return true; return url.toLowerCase().startsWith(this.issuer.toLowerCase()); } @@ -2931,7 +4224,7 @@

    Observable .of(new OAuthInfoEvent('token_expires', 'id_token')) .delay(timeout) - .subscribe(this.eventsSubject); + .subscribe(e => this.eventsSubject.next(e)); } private clearAccessTokenTimer(): void { @@ -2949,8 +4242,8 @@

    private calcTimeout(expiration: number): number { let now = Date.now(); let delta = (expiration - now) * this.timeoutFactor; - let timeout = now + delta; - return timeout; + // let timeout = now + delta; + return delta; } /** @@ -3001,28 +4294,20 @@

    this.issuer = doc.issuer; this.tokenEndpoint = doc.token_endpoint; this.userinfoEndpoint = doc.userinfo_endpoint; - + this.jwksUri = doc.jwks_uri; this.discoveryDocumentLoaded = true; this.discoveryDocumentLoadedSubject.next(doc); - if (doc.jwks_uri) { - this.http.get(doc.jwks_uri).map(r => r.json()).subscribe( - jwks => { - this.jwks = jwks; - this.eventsSubject.next(new OAuthSuccessEvent('discovery_document_loaded')); - resolve(doc); - }, - err => { - console.error('error loading jwks', err); - this.eventsSubject.next(new OAuthErrorEvent('jwks_load_error', err)); - reject(err); - } - ) - } - else { - this.eventsSubject.next(new OAuthSuccessEvent('discovery_document_loaded')); - resolve(doc); - } + this.loadJwks().then(_ => { + let result = new OAuthSuccessEvent('discovery_document_loaded'); + this.eventsSubject.next(result); + resolve(result); + return; + }).catch(err => { + this.eventsSubject.next(new OAuthErrorEvent('discovery_document_load_error', err)); + reject(err); + return; + }); }, (err) => { console.error('error loading dicovery document', err); @@ -3033,6 +4318,29 @@

    }); } + private loadJwks(): Promise<object> { + return new Promise<object>((resolve, reject) => { + if (this.jwksUri) { + this.http.get(this.jwksUri).map(r => r.json()).subscribe( + jwks => { + this.jwks = jwks; + this.eventsSubject.next(new OAuthSuccessEvent('discovery_document_loaded')); + resolve(jwks); + }, + err => { + console.error('error loading jwks', err); + this.eventsSubject.next(new OAuthErrorEvent('jwks_load_error', err)); + reject(err); + } + ) + } + else { + resolve(null); + } + }); + + } + private validateDiscoveryDocument(doc: object): boolean { let errors: string[]; @@ -3300,7 +4608,9 @@

    let redirectUri = this.silentRefreshRedirectUri || this.redirectUri; this.createLoginUrl(null, null, redirectUri).then(url => { iframe.setAttribute('src', url); - iframe.style.visibility = 'hidden'; + if (!this.silentRefreshShowIFrame) { + iframe.style.visibility = 'hidden'; + } document.body.appendChild(iframe); }); @@ -3383,9 +4693,11 @@

    + "&redirect_uri=" + encodeURIComponent(redirectUri) + "&scope=" - + encodeURIComponent(scope) - + "&login_hint=" - + encodeURIComponent(loginHint); + + encodeURIComponent(scope); + + if (loginHint) { + url += "&login_hint=" + encodeURIComponent(loginHint); + } if (that.resource) { url += "&resource=" + encodeURIComponent(that.resource); @@ -3494,7 +4806,8 @@

    return Promise.reject('Either requestAccessToken or oidc or both must be true.'); } - if (this.requestAccessToken && (!accessToken || !state)) return Promise.resolve(); + if (this.requestAccessToken && !accessToken) return Promise.resolve(); + if (this.requestAccessToken && !options.disableOAuth2StateCheck && !state) return Promise.resolve(); if (this.oidc && !idToken) return Promise.resolve(); var stateParts = state.split(';'); @@ -3504,22 +4817,16 @@

    var nonceInState = stateParts[0]; - // Our state might be URL encoded - // Check for this and then decode it if it is - // TODO: Check this! - /* - let decodedState = decodeURIComponent(state); - if (decodedState != state) { - state = decodedState; - } - */ - if (this.requestAccessToken) { + if (this.requestAccessToken && !options.disableOAuth2StateCheck) { let success = this.validateNonceForAccessToken(accessToken, nonceInState); if (!success) { let event = new OAuthErrorEvent('invalid_nonce_in_state', null); this.eventsSubject.next(event); return Promise.reject(event); } + } + + if (this.requestAccessToken) { this.storeAccessTokenResponse(accessToken, null, parts['expires_in']); } @@ -3575,8 +4882,10 @@

    if (this.clearHashAfterLogin) location.hash = ''; } - - protected processIdToken(idToken: string, accessToken: string): Promise<ParsedIdToken> { + /** + * @ignore + */ + public processIdToken(idToken: string, accessToken: string): Promise<ParsedIdToken> { let tokenParts = idToken.split("."); let headerBase64 = this.padBase64(tokenParts[0]); @@ -3601,11 +4910,13 @@

    } } - if (this.getKeyCount() > 1 && !claims.kid) { - let err = 'There needs to be a kid claim in the id_token when multiple keys are defined via the property jwks'; + /* + if (this.getKeyCount() > 1 && !header.kid) { + let err = 'There needs to be a kid property in the id_token header when multiple keys are defined via the property jwks'; console.warn(err); return Promise.reject(err); } + */ if (!claims.sub) { let err = "No sub claim in id_token"; @@ -3631,6 +4942,12 @@

    return Promise.reject(err); } + if (this.requestAccessToken && !claims['at_hash']) { + let err = "An at_hash is needed!" + console.warn(err); + return Promise.reject(err); + } + let now = Date.now(); let issuedAtMSec = claims.iat * 1000; let expiresAtMSec = claims.exp * 1000; @@ -3652,7 +4969,8 @@

    idToken: idToken, jwks: this.jwks, idTokenClaims: claims, - idTokenHeader: header + idTokenHeader: header, + loadKeys: () => this.loadJwks() }; if (this.requestAccessToken && !this.checkAtHash(validationParams)) { @@ -3802,7 +5120,10 @@

    location.href = logoutUrl; }; - private createAndSaveNonce(): Promise<string> { + /** + * @ignore + */ + public createAndSaveNonce(): Promise<string> { var that = this; return this.createNonce().then(function (nonce: any) { that._storage.setItem("nonce", nonce); diff --git a/angular-oauth2-oidc/docs/injectables/UrlHelperService.html b/angular-oauth2-oidc/docs/injectables/UrlHelperService.html index 1baa2438..447ab4e3 100644 --- a/angular-oauth2-oidc/docs/injectables/UrlHelperService.html +++ b/angular-oauth2-oidc/docs/injectables/UrlHelperService.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -489,7 +495,7 @@

    @@ -519,6 +525,8 @@

    let hash = customHashFragment || window.location.hash; + hash = decodeURIComponent(hash); + if (hash.indexOf("#") !== 0) { return {}; } diff --git a/angular-oauth2-oidc/docs/interfaces/OAuthStorage.html b/angular-oauth2-oidc/docs/interfaces/OAuthStorage.html index 57477cc2..cb163057 100644 --- a/angular-oauth2-oidc/docs/interfaces/OAuthStorage.html +++ b/angular-oauth2-oidc/docs/interfaces/OAuthStorage.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -469,7 +475,7 @@

    @@ -501,7 +507,7 @@

    @@ -533,7 +539,7 @@

    @@ -585,6 +591,16 @@

    * pass the iframes hash fragment to this method. */ customHashFragment?: string; + + /** + * Set this to true to disable the oauth2 state + * check which is a best practice to avoid + * security attacks. + * As OIDC defines a nonce check that includes + * this, this can be set to true when only doing + * OIDC. + */ + disableOAuth2StateCheck?: boolean; } /** diff --git a/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html b/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html index 0ac88546..683bf87a 100644 --- a/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html +++ b/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -484,7 +490,7 @@

    Properties

    @@ -517,7 +523,7 @@

    Properties

    @@ -550,7 +556,7 @@

    Properties

    @@ -583,7 +589,7 @@

    Properties

    @@ -616,7 +622,7 @@

    Properties

    @@ -649,7 +655,7 @@

    Properties

    @@ -690,6 +696,16 @@

    Properties

    * pass the iframes hash fragment to this method. */ customHashFragment?: string; + + /** + * Set this to true to disable the oauth2 state + * check which is a best practice to avoid + * security attacks. + * As OIDC defines a nonce check that includes + * this, this can be set to true when only doing + * OIDC. + */ + disableOAuth2StateCheck?: boolean; } /** diff --git a/angular-oauth2-oidc/docs/interfaces/ValidationHandler.html b/angular-oauth2-oidc/docs/interfaces/ValidationHandler.html index a18ab75b..4e42822e 100644 --- a/angular-oauth2-oidc/docs/interfaces/ValidationHandler.html +++ b/angular-oauth2-oidc/docs/interfaces/ValidationHandler.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -464,7 +470,7 @@

    @@ -498,7 +504,7 @@

    @@ -528,6 +534,7 @@

    idTokenHeader: object; idTokenClaims: object; jwks: object; + loadKeys: () => Promise<object>; } /** diff --git a/angular-oauth2-oidc/docs/interfaces/ValidationParams.html b/angular-oauth2-oidc/docs/interfaces/ValidationParams.html index 8a8c718e..a7f3132c 100644 --- a/angular-oauth2-oidc/docs/interfaces/ValidationParams.html +++ b/angular-oauth2-oidc/docs/interfaces/ValidationParams.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -436,6 +442,9 @@

    Properties
  • jwks
  • +
  • + loadKeys +
  • @@ -612,6 +621,39 @@

    Properties

    + + Public silentRefreshShowIFrame +
    + silentRefreshShowIFrame: boolean + +
    + Type : boolean + +
    + Default value : false +
    + +
    +

    Set this to true to display the iframe used for + silent refresh for debugging.

    - +
    - +
    - +
    - +
    - +
    -
    Defined in src/types.ts:43
    +
    Defined in src/types.ts:53
    -
    Defined in src/types.ts:44
    +
    Defined in src/types.ts:54
    -
    Defined in src/types.ts:45
    +
    Defined in src/types.ts:55
    -
    Defined in src/types.ts:63
    +
    Defined in src/types.ts:73
    -
    Defined in src/types.ts:64
    +
    Defined in src/types.ts:74
    -
    Defined in src/types.ts:66
    +
    Defined in src/types.ts:76
    -
    Defined in src/types.ts:68
    +
    Defined in src/types.ts:78
    -
    Defined in src/types.ts:65
    +
    Defined in src/types.ts:75
    -
    Defined in src/types.ts:67
    +
    Defined in src/types.ts:77
    - +
    - +
    + + + + + + + + + + + + + + + + + + + + + +
    + + loadKeys +
    + loadKeys: function + +
    + Type : function + +
    + +

    @@ -623,6 +665,7 @@

    Properties

    idTokenHeader: object; idTokenClaims: object; jwks: object; + loadKeys: () => Promise<object>; } /** diff --git a/angular-oauth2-oidc/docs/js/search/search_index.js b/angular-oauth2-oidc/docs/js/search/search_index.js index 43cb6809..b4196be2 100644 --- a/angular-oauth2-oidc/docs/js/search/search_index.js +++ b/angular-oauth2-oidc/docs/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"1.0.0","fields":[{"name":"title","boost":10},{"name":"body","boost":1}],"ref":"url","tokenizer":"default","documentStore":{"store":{"index.html":["0","0.33","0.5","1","2","20","20.000","4","4711","4th","75","access","access_token","add","addit","adjust","against","allow","alreadi","although","angular","angular/cor","angular2","anoth","api","app","app/home.html","appcompon","applic","appmodul","approach","approutermodul","asset","assum","at_hash","auth","author","automat","avoid","back","base","bearer","befor","below","between","bootstrap","break","browser","build","bundl","call","callback","case","catch(err","chang","cite","claim","claims.given_nam","class","cli","cli.json","client","commonj","commun","compens","compon","configu","configur","connect","consol","console.debug(\"log","console.debug('given_nam","console.debug('oauth/oidc","console.debug('ok","console.debug('refresh","console.debug('st","console.debug(context","console.error('refresh","constructor","constructor(priv","contain","context","context.idtoken","cooki","copi","core","credenti","credit","current","custom","customqueryparam","data","decid","declar","default","defin","demand","demo","demonstr","deprec","describ","design","directli","directori","disabl","discoveri","document","don't","dosn't","dummi","dummyclientsecret","e","e.typ","eas","email","enabl","endpoint","endpont","enter","environ","err));when","error","event","exampl","expir","explicitli","export","fact","factor","fail","fals","featur","fetch","file","filter(","fire","first","flow","follow","form","former","fragment","further","g","geheim","geheim').then","geheim').then((resp","gener","get","give","half","hallo","hash","hashlocationstrategi","hashstrategi","header","here","hidden","his/her","home","homecompon","hook","http","http.get(validationurl","http://localhost:8080","http://localhost:8080/#/homeev","httpmodul","https://github.com/jvandemo/gener","https://github.com/manfredsteyer/angular","https://github.com/manfredsteyer/angular2","https://steyer","hybrid","id","id_token","ident","identityserv","identityserver3","ifram","implcit","implement","implicit","import","index","index.html","info","info.st","initi","initialnavig","initimplicitflow","instanc","instead","interact","interfac","isn't","issu","issuer'","java","job","jwk","jwksvalidationhandl","jwksvalidationhandler();in","keep","key","keycloak","kick","known","known/openid","later","legaci","leverag","lib","librari","life","line","load","local","localstorag","location.origin","locationstrategi","log","loggin","logic","login","logoff","logout","main","make","manual","match","max/geheim","mean","mention","method","mind","modul","more","msec","name","navig","net","new","ngmodul","note","null","nullvalidationhandl","oauth","oauth2","oauthmodul","oauthmodule.forroot","oauthservic","oauthservice.clientid","observ","offline_access","oidc","ok","on","ontokenreceiv","openid","option","otherparam","otherwis","out","output","over","overrid","owner","packag","page","paramet","parent.postmessage(location.hash","pars","pass","password","pathlocationstrategi","perform","permiss","pleas","preserv","prevent","profil","project","properti","provid","public","purpos","queri","quit","read","receiv","redhat'","redirect","refresh","refresh.html","refresh.html\";pleas","regard","regist","registerd","relax","relay","reli","request","requirehttp","resourc","respond","result","return","root","rout","router","routermodule.forroot(app_rout","rule","run","runn","safe","sampl","scope","search","search.set('client_id","search.set('token","second","secreat","secret","section","secur","see","send","sens","server","server'","server.azurewebsites.net/ident","server.azurewebsites.net/identity/.wel","server.azurewebsites.net/identity/connect/author","server.azurewebsites.net/identity/connect/endsess","server.azurewebsites.net/identity/connect/token","server.azurewebsites.net/identity/connect/userinfo","servic","sessionstorag","set","setstorag","setup","short","show","side","sign","signatur","silent","silentrefresh","siletrefreshtimeout","similar","singl","skip","solut","somevalu","sourc","spa","spa'","spec","specif","standard","start","startup","state","still","storag","strictdiscoverydocumentvalid","subscribe(","succeed","success","successfulli","such","support","sure","task","templateurl","tenant","test","testen","that'","then(info","third","this.oauthservice.clientid","this.oauthservice.customqueryparam","this.oauthservice.dummyclientsecret","this.oauthservice.events.subscribe(","this.oauthservice.fetchtokenusingpasswordflow('max","this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max","this.oauthservice.getaccesstoken","this.oauthservice.getidentityclaim","this.oauthservice.initimplicitflow","this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');aft","this.oauthservice.issu","this.oauthservice.loaddiscoverydocument().then","this.oauthservice.loaddiscoverydocument(url).then","this.oauthservice.loaduserprofil","this.oauthservice.loginurl","this.oauthservice.logout","this.oauthservice.logouturl","this.oauthservice.redirecturi","this.oauthservice.refreshtoken().then","this.oauthservice.scop","this.oauthservice.setstorage(sessionstorag","this.oauthservice.silentrefresh","this.oauthservice.silentrefreshredirecturi","this.oauthservice.tokenendpoint","this.oauthservice.tokenvalidationhandl","this.oauthservice.trylogin","this.oauthservice.trylogin().then(_","this.oauthservice.userinfoendpoint","this.router.navig","three","time","timeout","timeoutfactor","timespan","togeht","token","token'","token(","token_expir","tokenvalid","topromis","transmit","tri","trigger","true","trylogin","ts","two","type","up","uri","url","urlsearchparam","us","usecas","usehash","user","user'","userinfo","username/password","username/passwort","valid","validationhandl","valu","var","version","via","voucher","want","warn","we'v","web","webpack","well","window.location.origin","within","without","zum"],"overview.html":["1","2","4","9","bootstrap","class","declar","depend","export","inject","interfac","legend","match","modul","out","overview","provid","reset","result","zoom"],"license.html":["2017","abov","action","and/or","aris","associ","author","c","charg","claim","condit","connect","contract","copi","copyright","damag","deal","distribut","document","event","express","file","fit","follow","free","furnish","get","grant","herebi","holder","impli","includ","kind","liabil","liabl","licens","limit","manfr","match","merchant","merg","modifi","noninfring","notic","obtain","otherwis","out","particular","permiss","permit","person","portion","provid","publish","purpos","restrict","result","right","sell","shall","softwar","start","steyer","subject","sublicens","substanti","tort","us","warranti","whether","without"],"modules.html":["brows","browser","match","modul","oauthmodul","result","support","svg"],"modules/OAuthModule.html":["angular/common","angular/cor","class","commonmodul","declar","export","file","forroot","handler","helper.servic","import","info","match","modul","modulewithprovid","ngmodul","oauth","oauthmodul","oauthservic","provid","result","return","rxjs/add/observable/of","rxjs/add/observable/rac","rxjs/add/operator/delay","rxjs/add/operator/do","rxjs/add/operator/filt","rxjs/add/operator/first","rxjs/add/operator/map","rxjs/add/operator/publish","rxjs/add/operator/topromis","servic","sourc","src/index.t","static","token","url","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid"],"injectables/OAuthService.html":["0","0.75","1","10","1000","1970","2","20","4","60","75","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","addit","additionalst","allow","angular","angular/cor","angular/http","anoth","api","append","application/x","arg","around","array","array.isarray(claims.aud","atob(claimsbase64","atob(headerbase64","audienc","auth","authorization_endpoint","authorizationhead","b/c","base64data","base64data.length","bearer","befor","boolean","both","bring","browser'","calctimeout(expir","callontokenreceivedifexists(opt","case","catch(error","catch(reason","check","claim","claims.aud","claims.aud.every(v","claims.aud.join","claims.exp","claims.iat","claims.iss","claims.kid","claims.nonc","claims.sub","claimsbase64","claimsjson","class","clear","clearaccesstokentim","clearhashafterlogin","clearidtokentim","client","client'","client_id","clientid","configur","connect","consol","console.debug.apply(consol","console.error","console.error(\"error","console.error('error","console.error(err","console.error(error","console.error(reason","console.warn('no","console.warn(err","constructor","constructor(http","createandsavenonc","createloginurl","createnonc","current","custom","customhashfrag","customqueryparam","customredirecturi","date","date.now","debug","debug(...arg","decod","decodedst","decodeuricomponent(parts[\"st","decodeuricomponent(st","default","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","demand","deprec","descript","dicoveri","discoveri","discoverydocumentload","discoverydocumentloadedsubject","disoveri","do","do(e","doc","doc.authorization_endpoint","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.silentrefreshiframenam","domain","don't","dummyclientsecret","dure","e","e.data","e.typ","encod","encodeuricomponent(id_token","encodeuricomponent(loginhint","encodeuricomponent(nonc","encodeuricomponent(redirecturi","encodeuricomponent(scop","encodeuricomponent(st","encodeuricomponent(that.clientid","encodeuricomponent(that.resourc","encodeuricomponent(that.responsetyp","encodeuricomponent(this.customqueryparams[key","encodeuricomponent(this.postlogoutredirecturi","end_session_endpoint","endpoint","enum","err","error","error(\"can","error(\"createnonc","error('eith","error('loginurl","error('sil","error('tokenendpoint","error('userinfoendpoint","errors.length","errors.push('everi","errors.push('http","event","eventlisten","eventssubject","eventtyp","exchang","exist","existingclaim","existingclaims['sub","existingifram","expect","expectedprefix","expir","expiresat","expiresatmsec","expiresin","expiresinmillisecond","export","expos","fail","fals","far","fetchtokenusingpasswordflow","fetchtokenusingpasswordflow(usernam","fetchtokenusingpasswordflowandloaduserprofil","fetchtokenusingpasswordflowandloaduserprofile(usernam","file","find","flow","for(let","form","fragment","full","fullurl","getaccesstoken","getaccesstokenexpir","getidentityclaim","getidtoken","getidtokenexpir","getkeycount","good","granttypessupport","handleloginerror(opt","handler","happen","hash","hasvalidaccesstoken","hasvalididtoken","header","headerbase64","headerjson","headers.set('author","headers.set('cont","helper.servic","here","hidden","http","https://tools.ietf.org/html/rfc7517","httpscheck","iat","id","id_token","id_token_hint","idclaim","idtoken","idtoken.idtoken","idtoken.idtokenclaimsjson","idtoken.idtokenexpiresat","idtoken.split","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","idtokentimeoutsubscript","ifram","iframe.id","iframe.setattribute('src","iframe.style.vis","implement","implicit","import","index","infer","info","inform","initi","initimplicitflow","initimplicitflow(additionalst","inject","instanceof","instead","intern","invalid","issuedatmsec","issuer","issuer'","issuercheck","json","json.parse(claim","json.parse(claimsjson","json.parse(headerjson","json.stringify(doc","jwk","jwks_uri","key","kid","known/openid","lcurl","lcurl.match(/^http:\\/\\/localhost","lcurl.startswith('http","life","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loaduserprofil","locat","location.hash","location.href","log","login","login_hint","loginhint","loginhint).then(funct","loginopt","loginurl","logout","logout(noredirecttologouturl","logouturl","make","manual","map","map(","map(r","match","messag","messageev","method","millisecond","multipl","name","need","new","nonc","nonceinst","noredirecttologouturl","now","now.gettim","null","nullvalidationhandl","number","oauth","oauth2","oautherrorev","oautherrorevent('discovery_document_load_error","oautherrorevent('discovery_document_validation_error","oautherrorevent('invalid_nonce_in_st","oautherrorevent('jwks_load_error","oautherrorevent('silent_refresh_error","oautherrorevent('silent_refresh_timeout","oautherrorevent('token_error","oautherrorevent('token_refresh_error","oautherrorevent('token_validation_error","oautherrorevent('user_profile_load_error","oautherrorevent).first","oauthev","oauthinfoev","oauthinfoevent('token_expir","oauthservic","oauthstorag","oauthsuccessev","oauthsuccessevent('discovery_document_load","oauthsuccessevent('silently_refresh","oauthsuccessevent('token_receiv","oauthsuccessevent('token_refresh","oauthsuccessevent('user_profile_load","object","object.assign","object.getownpropertynames(this.customqueryparam","observ","observable.of(new","of(new","oidc","oidc.\\n","onloginerror","ontokenreceiv","openid","oper","optin","option","options.customhashfrag","options.onloginerror","options.onloginerror(part","options.ontokenreceiv","options.ontokenreceived(tokenparam","options.validationhandl","order","otherwis","out","padbase64(base64data","param","paramet","pars","parsedidtoken","parseint(expiresat","parseint(this._storage.getitem(\"expires_at","parseint(this._storage.getitem(\"id_token_expires_at","part","parts[\"access_token","parts[\"error","parts[\"id_token","parts['expires_in","pass","password","passwort","perform","platform","plattform","possibl","post_logout_redirect_uri","postlogoutredirecturi","prefixedmessag","prefixedmessage.startswith(expectedprefix","prefixedmessage.substr(expectedprefix.length","privat","processidtoken","processidtoken(idtoken","profil","promis","promise((resolv","promise.reject('eith","promise.reject(err","promise.reject(ev","promise.resolv","promise.resolve(nul","properti","protect","provid","public","queri","question","r.json()).subscrib","race([error","rais","reason","receiv","receivedfirsttoken","redirect","redirect_uri","redirecturi","redirecturi).then(url","refresh","refresh_token","refreshtoken","regist","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","remoteonli","remov","removesilentrefresheventlisten","request","requestaccesstoken","requir","requirehttp","resolve(doc","resolve(tokenrespons","resourc","response_typ","responsetyp","result","result.idtoken","result.idtokenclaim","return","rng","rngurl","rxjs/observ","rxjs/subject","rxjs/subscript","savednonc","scope","scope.match(/(^|\\s)openid($|\\","search","search.set('client_id","search.set('client_secret","search.set('grant_typ","search.set('password","search.set('refresh_token","search.set('scop","search.set('usernam","search.tostr","second","secreat","secur","see","seperationchar","server","server'","servic","service.t","service.ts:100","service.ts:105","service.ts:1050","service.ts:1059","service.ts:107","service.ts:1073","service.ts:1081","service.ts:1089","service.ts:1096","service.ts:1114","service.ts:112","service.ts:1133","service.ts:1143","service.ts:1182","service.ts:122","service.ts:128","service.ts:136","service.ts:142","service.ts:149","service.ts:155","service.ts:176","service.ts:179","service.ts:190","service.ts:193","service.ts:23","service.ts:28","service.ts:332","service.ts:34","service.ts:345","service.ts:40","service.ts:45","service.ts:464","service.ts:47","service.ts:477","service.ts:48","service.ts:522","service.ts:54","service.ts:567","service.ts:60","service.ts:61","service.ts:651","service.ts:67","service.ts:72","service.ts:77","service.ts:784","service.ts:82","service.ts:837","service.ts:87","service.ts:92","service.ts:934","service.ts:94","service.ts:948","sessionstorag","set","setstorag","setstorage(storag","setupaccesstokentim","setupidtokentim","setupsilentrefresheventlisten","setuptim","showdebuginform","shown","side","sign","signatur","silent","silent_refresh_timeout","silently_refreshed').first","silentrefresh","silentrefreshiframenam","silentrefreshmessageprefix","silentrefreshpostmessageeventlisten","silentrefreshredirecturi","siletrefreshtimeout","solut","sourc","spec","src/oauth","standard","start","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","storag","store","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","strictdiscoverydocumentvalid","stricter","string","sub","subject","subscribe(","subscribe(this.eventssubject","subscript","success","support","sure","take","taken","tenminutesinmsec","text","that._storage.setitem(\"nonc","that.getaccesstoken","that.getidentityclaim","that.getidtoken","that.loginurl","that.loginurl.indexof","that.oidc","that.resourc","that.scop","that.stat","then(_","then(result","therefor","this._storag","this._storage.getitem(\"access_token","this._storage.getitem(\"expires_at","this._storage.getitem(\"id_token","this._storage.getitem(\"id_token_claims_obj","this._storage.getitem(\"nonc","this._storage.getitem('refresh_token","this._storage.setitem(\"access_token","this._storage.setitem(\"expires_at","this._storage.setitem(\"id_token","this._storage.setitem(\"id_token_claims_obj","this._storage.setitem(\"id_token_expires_at","this._storage.setitem(\"refresh_token","this._storage.setitem('id_token_claims_obj","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug('error","this.debug('refresh","this.debug('tim","this.debug('tokenrespons","this.debug('userinfo","this.discoverydocumentload","this.discoverydocumentloadedsubject.asobserv","this.discoverydocumentloadedsubject.next(doc","this.dummyclientsecret","this.ev","this.events.filter(","this.eventssubject.asobserv","this.eventssubject.next(","this.eventssubject.next(err","this.eventssubject.next(ev","this.eventssubject.next(new","this.getaccesstoken","this.getaccesstokenexpir","this.getidentityclaim","this.getkeycount","this.granttypessupport","this.handleloginerror(opt","this.hasvalidaccesstoken","this.hasvalididtoken","this.http.get(doc.jwks_uri).map(r","this.http.get(fullurl).map(r","this.http.get(this.userinfoendpoint","this.http.post(this.tokenendpoint","this.idtokentimeoutsubscript","this.idtokentimeoutsubscription.unsubscrib","this.issu","this.jwk","this.jwks['key","this.jwks['keys'].length","this.loaduserprofil","this.loginurl","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oidc","this.padbase64(tokenparts[0","this.padbase64(tokenparts[1","this.redirecturi","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.rngurl","this.scop","this.setupaccesstokentim","this.setupidtokentim","this.setupsilentrefresheventlisten","this.setuptim","this.showdebuginform","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.stat","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.strictdiscoverydocumentvalid","this.timeoutfactor","this.tokenendpoint","this.tokenvalidationhandl","this.tokenvalidationhandler.validatesignature(param","this.trylogin","this.urlhelper.gethashfragmentparam","this.urlhelper.gethashfragmentparams(options.customhashfrag","this.userinfoendpoint","this.validatediscoverydocument(doc","this.validatenonceforaccesstoken(accesstoken","this.validateurlagainstissuer(url","this.validateurlforhttps(fullurl","this.validateurlforhttps(this.loginurl","this.validateurlforhttps(this.tokenendpoint","this.validateurlforhttps(this.userinfoendpoint","this.validateurlforhttps(url","this.validateurlfromdiscoverydocument(doc['authorization_endpoint","this.validateurlfromdiscoverydocument(doc['end_session_endpoint","this.validateurlfromdiscoverydocument(doc['jwks_uri","this.validateurlfromdiscoverydocument(doc['token_endpoint","this.validateurlfromdiscoverydocument(doc['userinfo_endpoint","throw","time","timeout","timeoutfactor","todo","token","token'","token_endpoint","token_expir","token_receiv","token_received').subscribe(_","token_timeout","tokenendpoint","tokenparam","tokenpart","tokenrespons","tokenresponse.expires_in","tokenresponse.refresh_token","tokenvalidationhandl","topromis","transmit","tri","trigger","true","trylogin","trylogin(opt","type","typeof","uri","url","url.tolowercas","url.tolowercase().startswith(this.issuer.tolowercas","urlencod","urlhelp","urlhelperservic","urlsearchparam","us","user","userinfo","userinfo_endpoint","userinfoendpoint","usernam","v","valid","validatediscoverydocument(doc","validatenonceforaccesstoken(accesstoken","validateurlagainstissuer(url","validateurlforhttps(url","validateurlfromdiscoverydocument(url","validation/nul","validation/valid","validationhandl","validationparam","valu","var","via","void","w/o","web","well","whether","window","window.addeventlistener('messag","window.removeeventlistener('messag","without","work","wrong","www"],"injectables/UrlHelperService.html":["0","1","angular/cor","class","customhashfrag","data","defin","escapedkey","escapedvalu","export","file","gethashfragmentparam","gethashfragmentparams(customhashfrag","hash","hash.indexof","hash.substr(1","hash.substr(questionmarkposition+1","helper.service.t","helper.service.ts:27","helper.service.ts:6","import","index","info","inject","key","match","method","null","object","pair","parsequerystr","parsequerystring(querystr","public","querystr","querystring.split","questionmarkposit","result","return","separatorindex","sourc","src/url","string","this.parsequerystring(hash","urlhelperservic","valu","var","window.location.hash"],"classes/AbstractValidationHandler.html":["2","9]{3","_\").replace(/=/g","abstract","abstractvalidationhandl","access_token","accesstoken","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alreadi","asstr","at_hash","athash","boolean","btoa(leftmosthalf","calchash","calchash(valuetohash","calcul","claimsathash","class","console.error(\"actu","console.error(\"exptect","defin","descript","error('algorithm","export","field","file","handler","handler.t","handler.ts:36","handler.ts:41","handler.ts:69","handler.ts:86","hash","hashalg","header","hook","id_token","id_token'","idtoken","idtokenclaim","idtokenhead","implement","index","infer","inferhashalgorithm","inferhashalgorithm(jwthead","info","interfac","jwk","jwtheader","jwtheader['alg","leftmosthalf","make","match","method","name","new","object","overrid","param","paramet","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","protect","receiv","replace(/\\//g","result","return","sha","sha256(accesstoken","signatur","sourc","src/token","string","support","this.calchash(params.accesstoken","this.inferhashalgorithm(params.idtokenhead","throw","token","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","true","type","us","valid","validateathash","validateathash(param","validateathash(validationparam","validatesignatur","validatesignature(validationparam","validation/valid","validationhandl","validationparam","valu","valuetohash","var"],"classes/JwksValidationHandler.html":["0","1","600","abstractvalidationhandl","against","alg","algorithm","allow","allowedalgorithm","array.isarray(params.jwks['key","bytearrayasstr","calchash","calchash(valuetohash","class","console.error(error","current","declar","default","defin","descript","differ","discoveri","document","error","error('array","error('paramet","es256","es384","expect","export","extend","file","for(let","found","graceperiod","graceperiodinsec","handler","handler.t","handler.ts:17","handler.ts:23","handler.ts:25","handler.ts:71","handler.ts:78","hashalg","hashalg.digeststring(valuetohash","hs256","hs384","hs512","i=0","id","id_token","idtoken","idtokenhandl","import","index","info","isvalid","json","jwk","jwksvalidationhandl","k['kid","k['use","key","keyobj","keys.find(k","kid","load","match","method","miss","multipl","new","number","object","on","params.idtoken","params.idtokenhead","params.idtokenheader['kid","params.jwk","params.jwks['key","params.jwks['keys'].length","params.jwks['keys'][0","period","promis","promise.reject('signatur","promise.reject(error","promise.resolv","properti","provid","ps256","ps384","ps512","requir","require('jsrsasign","result","return","rs","rs.keyutil.getkey(key","rs.kjur.crypto.messagedigest({alg","rs.kjur.jws.jws.verifyjwt(params.idtoken","rs256","rs384","rs512","second","set","sig","signatur","sourc","src/token","string","this.allowedalgorithm","this.graceperiodinsec","this.tobytearrayasstring(result","throw","time","timestamp","tobytearrayasstr","tobytearrayasstring(hexstr","token","type","valid","validatesignatur","validatesignature(param","validation/jwk","validationhandl","validationparam","valu","var","web"],"classes/LoginOptions.html":["accesstoken","actual","addit","auth","call","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","error","event","export","file","fragment","function","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","null","number","oauthservic","oauthstorag","object","on","onloginerror","ontokenreceiv","option","param","pars","parsedidtoken","pass","passt","promis","properti","receiv","receivedtoken","refresh","removeitem(key","repres","result","server","sessionstorag","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:12","src/types.ts:18","src/types.ts:26","src/types.ts:33","state","storag","store","string","successfulli","token","tokenvalidationhandl","trylogin","type","us","valid","validationhandl","void"],"classes/NullValidationHandler.html":["abstractvalidationhandl","boolean","class","defin","descript","export","file","handler","handler.t","handler.ts:11","handler.ts:8","implement","import","index","info","isn't","match","method","noth","nullvalidationhandl","promis","promise.resolve(nul","result","return","risk","skip","sourc","src/token","true","us","valid","validateathash","validateathash(validationparam","validatesignatur","validatesignature(validationparam","validation/nul","validationhandl","validationparam"],"classes/OAuthErrorEvent.html":["abstract","class","constructor","constructor(typ","defin","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:39","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/OAuthEvent.html":["abstract","class","constructor","constructor(typ","defin","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:21","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/OAuthInfoEvent.html":["abstract","class","constructor","constructor(typ","defin","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:30","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/OAuthSuccessEvent.html":["abstract","class","constructor","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/ReceivedTokens.html":["accesstoken","actual","auth","call","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","error","event","export","file","fragment","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","null","number","oauthservic","oauthstorag","object","on","onloginerror","ontokenreceiv","param","pars","parsedidtoken","pass","promis","properti","receiv","receivedtoken","refresh","removeitem(key","repres","result","server","sessionstorag","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:53","src/types.ts:54","src/types.ts:55","src/types.ts:56","state","storag","store","string","successfulli","token","tokenvalidationhandl","trylogin","type","us","valid","validationhandl","void"],"interfaces/OAuthStorage.html":["accesstoken","actual","auth","call","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","error","event","export","file","fragment","getitem","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","null","number","oauthservic","oauthstorag","object","on","onloginerror","ontokenreceiv","param","pars","parsedidtoken","pass","promis","properti","receiv","receivedtoken","refresh","removeitem","removeitem(key","repres","result","return","server","sessionstorag","setitem","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:43","src/types.ts:44","src/types.ts:45","state","storag","store","string","successfulli","token","tokenvalidationhandl","trylogin","us","valid","validationhandl","void"],"interfaces/ParsedIdToken.html":["accesstoken","actual","auth","call","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","error","event","export","file","fragment","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","null","number","oauthservic","oauthstorag","object","on","onloginerror","ontokenreceiv","param","pars","parsedidtoken","pass","promis","properti","receiv","receivedtoken","refresh","removeitem(key","repres","result","server","sessionstorag","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:63","src/types.ts:64","src/types.ts:65","src/types.ts:66","src/types.ts:67","src/types.ts:68","state","storag","store","string","successfulli","token","tokenvalidationhandl","trylogin","type","us","valid","validationhandl","void"],"interfaces/ValidationHandler.html":["2","9]{3","_\").replace(/=/g","abstract","abstractvalidationhandl","access_token","accesstoken","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alreadi","asstr","at_hash","athash","boolean","btoa(leftmosthalf","calchash","calchash(valuetohash","calcul","claimsathash","class","console.error(\"actu","console.error(\"exptect","defin","descript","error('algorithm","export","field","file","handler","handler.t","handler.ts:18","handler.ts:23","hash","hashalg","header","hook","id_token","id_token'","idtoken","idtokenclaim","idtokenhead","implement","index","infer","inferhashalgorithm(jwthead","info","interfac","jwk","jwtheader","jwtheader['alg","leftmosthalf","make","match","method","name","new","object","overrid","param","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","protect","receiv","replace(/\\//g","result","return","sha","sha256(accesstoken","signatur","sourc","src/token","string","support","this.calchash(params.accesstoken","this.inferhashalgorithm(params.idtokenhead","throw","token","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","true","us","valid","validateathash","validateathash(param","validateathash(validationparam","validatesignatur","validatesignature(validationparam","validation/valid","validationhandl","validationparam","valu","valuetohash","var"],"interfaces/ValidationParams.html":["2","9]{3","_\").replace(/=/g","abstract","abstractvalidationhandl","access_token","accesstoken","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alreadi","asstr","at_hash","athash","boolean","btoa(leftmosthalf","calchash","calchash(valuetohash","calcul","claimsathash","class","console.error(\"actu","console.error(\"exptect","defin","error('algorithm","export","field","file","handler","handler.t","handler.ts:2","handler.ts:3","handler.ts:4","handler.ts:5","handler.ts:6","hash","hashalg","header","hook","id_token","id_token'","idtoken","idtokenclaim","idtokenhead","implement","index","infer","inferhashalgorithm(jwthead","info","interfac","jwk","jwtheader","jwtheader['alg","leftmosthalf","make","match","method","name","new","object","overrid","param","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","properti","protect","receiv","replace(/\\//g","result","return","sha","sha256(accesstoken","signatur","sourc","src/token","string","support","this.calchash(params.accesstoken","this.inferhashalgorithm(params.idtokenhead","throw","token","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","true","type","us","valid","validateathash","validateathash(param","validateathash(validationparam","validatesignature(validationparam","validation/valid","validationhandl","validationparam","valu","valuetohash","var"],"miscellaneous/variables.html":["handler.t","match","miscellan","requir","result","rs","src/token","type","valid","validation/jwk","variabl"],"miscellaneous/typealiases.html":["alias","eventtyp","match","miscellan","result","src/events.t","type","typealias"]},"length":22},"tokenStore":{"root":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},".":{"3":{"3":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"docs":{}},"5":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"7":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}},"docs":{}},"docs":{}}},"1":{"0":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}},"docs":{}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"9":{"7":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}},"docs":{}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"2":{"0":{"1":{"7":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},".":{"0":{"0":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"4":{"7":{"1":{"1":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"docs":{}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"6":{"0":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"7":{"5":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}},"docs":{}},"9":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}},"]":{"docs":{},"{":{"3":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"docs":{}}}},"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005458887751620608},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.020942408376963352},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}},"d":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"/":{"docs":{},"^":{"docs":{},".":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"docs":{}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"docs":{}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02909090909090909},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018050541516245487},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.01904761904761905},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0061823802163833074}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"u":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"t":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.023809523809523808},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}}}}}}},"o":{"docs":{},"b":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.023809523809523808},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.022222222222222223}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.012364760432766615},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004435346298191744},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"license.html":{"ref":"license.html","tf":0.010526315789473684}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}}}}},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"b":{"docs":{},"o":{"docs":{},"v":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{},"k":{"docs":{},"l":{"docs":{},"m":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"q":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"v":{"docs":{},"w":{"docs":{},"x":{"docs":{},"y":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{},"k":{"docs":{},"l":{"docs":{},"m":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"q":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"v":{"docs":{},"w":{"docs":{},"x":{"docs":{},"y":{"docs":{},"z":{"0":{"1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.01904761904761905},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":5.007272727272727},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.010830324909747292},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008870692596383487},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"modules.html":{"ref":"modules.html","tf":0.1}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"modules.html":{"ref":"modules.html","tf":0.1}},"'":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"/":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}}}}}}}}}}},"c":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.006955177743431221},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}},"s":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"r":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004776526782668032}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.01904761904761905},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":5.007272727272727},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.007220216606498},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.012605042016807},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.060975609756097},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.065789473684211},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.063291139240507},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.068493150684931},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.015706806282722},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.010046367851622875},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"'":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"j":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976}}}}}}}}},"u":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394}}}},"a":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.00927357032457496},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"'":{"docs":{},"g":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"(":{"docs":{},"'":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037529853292391675}}}}}}}},"\"":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"x":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"n":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05263157894736842},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0410958904109589}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"license.html":{"ref":"license.html","tf":0.042105263157894736}}},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.031578947368421054}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"a":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005458887751620608},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.02490617536676902},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018050541516245487},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02100840336134454},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02617801047120419},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.026455026455026454},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.034653465346534656},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.022222222222222223}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.025210084033613446},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"a":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.008500772797527048},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004776526782668032},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.010830324909747292}}},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.008500772797527048},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005800068236096895},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.010830324909747292}},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"(":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795}}}}},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009211873080859774}},")":{"docs":{},")":{"docs":{},";":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004776526782668032},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.010830324909747292}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.006955177743431221},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005458887751620608},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06097560975609756},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.06578947368421052},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06329113924050633},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2}}}}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915}},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.07792207792207792},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06097560975609756},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.06578947368421052},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06329113924050633},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0684931506849315},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.020942408376963352},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.021164021164021163},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}}}},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018050541516245487}},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.039473684210526314},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}},"l":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00511770726714432}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"license.html":{"ref":"license.html","tf":0.010526315789473684},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.017001545595054096},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.011941316956670079}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"r":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.025210084033613446},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485}}}}}}}},"e":{"docs":{},"e":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"u":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"l":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}}}},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.025210084033613446}}}}}}}}}},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":3.334106130860381},"license.html":{"ref":"license.html","tf":3.333333333333333}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808}},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"l":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03571428571428571},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.025210084033613446},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"1":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}},"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"+":{"1":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.03896103896103896},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},".":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667}},"s":{"docs":{},":":{"1":{"1":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}},"7":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"8":{"docs":{"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762}}},"docs":{}},"2":{"3":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762}}},"5":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"3":{"6":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"4":{"1":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"5":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"6":{"9":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"7":{"1":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"8":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"8":{"6":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}},"docs":{}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01023541453428864},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"b":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}},"s":{"docs":{},":":{"2":{"7":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}},"docs":{}},"6":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}},"docs":{}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006823609689525759}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"/":{"docs":{},"#":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"j":{"docs":{},"v":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"7":{"5":{"1":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}},"y":{"docs":{},"b":{"docs":{},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0077279752704791345},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.006955177743431221},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005458887751620608},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02909090909090909},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.03333333333333333},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.022222222222222223}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"'":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"e":{"docs":{},"r":{"3":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"docs":{}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.020942408376963352},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02617801047120419},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.024752475247524754},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}},"e":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}}}}}}},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.008500772797527048},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006823609689525759}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.18181818181818182},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":3.333333333333333},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.0379746835443038},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273}},"(":{"docs":{},"j":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.03361344537815126},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.020942408376963352},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.021164021164021163},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":5.015873015873016},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.014851485148514},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":5.023809523809524},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.017777777777778}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":5.001023541453429},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.035714285714286}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"license.html":{"ref":"license.html","tf":0.031578947368421054},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}}},"s":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}}},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"=":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"o":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"w":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02527075812274368},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017777777777777778}},"s":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.007220216606498}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"y":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04693140794223827}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"n":{"docs":{},"d":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02527075812274368}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"e":{"docs":{},"g":{"docs":{},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"f":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0077279752704791345}}}}}}},"f":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"n":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":3.333333333333333}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005458887751620608}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.011591962905718702},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.008403361344538},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"/":{"docs":{},"^":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"\\":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"k":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"f":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"license.html":{"ref":"license.html","tf":0.021052631578947368},"modules.html":{"ref":"modules.html","tf":0.2},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2}}}}},"x":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.01904761904761905},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":3.4},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":3.433333333333333}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"modules.html":{"ref":"modules.html","tf":10.1},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":5.012987012987013}},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009553053565336063},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018050541516245487},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"e":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}},"g":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.03896103896103896}}}}}}}},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"i":{"docs":{},"c":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"h":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004776526782668032},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.010830324909747292},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0061823802163833074},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}},"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"modules.html":{"ref":"modules.html","tf":0.1},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":5.038961038961039}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.010819165378670788},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":5.000682360968953},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.025210084033613446},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485}},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":5.01058201058201},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.027397260273973}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.024390243902439},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06097560975609756},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.065789473684211},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06329113924050633},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0684931506849315}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.025316455696203},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037529853292391675},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047619047619047616},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.031413612565445025},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.021164021164021163},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.039603960396039604},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.01904761904761905},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.044444444444444446}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.011591962905718702},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005800068236096895}},".":{"docs":{},"\\":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004435346298191744}}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006141248720573183},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"overview.html":{"ref":"overview.html","tf":10.041666666666666}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"g":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00511770726714432},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037529853292391675},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273}}}},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"=":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}},"s":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}}}},"[":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.00990099009901}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}},"i":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"s":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.00927357032457496},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010917775503241215}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}}}}},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03571428571428571}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}}},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.011591962905718702},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.007164790174002047},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.03361344537815126},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02617801047120419},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.024752475247524754},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0077279752704791345},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"license.html":{"ref":"license.html","tf":0.010526315789473684},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006482429205049471},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304}},"o":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010576595018764927}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.04947117024906175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.07142857142857142}}},"s":{"docs":{},"h":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"docs":{}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05263157894736842},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00511770726714432},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.025210084033613446},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.031413612565445025},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.021164021164021163},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02100840336134454},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.031413612565445},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.026455026455026454},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.024752475247524754}}}}}}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0077279752704791345},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0040941658137154556}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.013910355486862442},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037529853292391675},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"\"":{"docs":{},";":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002388263391334016}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"y":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0061823802163833074},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333}},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795}}}}}},"(":{"docs":{},"'":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"license.html":{"ref":"license.html","tf":0.021052631578947368},"modules.html":{"ref":"modules.html","tf":0.2},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.010471204188481676},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.03207096554077107},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.05952380952380952},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02888086642599278},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.05},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.01904761904761905},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},"(":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.01485148514851485}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00463678516228748}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"s":{"docs":{},"k":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}}},"x":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"o":{"docs":{},"f":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}},"o":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}},"docs":{}},"docs":{}},"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"{":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"j":{"docs":{},"w":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0061823802163833074}}}}},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"/":{"docs":{},"(":{"docs":{},"^":{"docs":{},"|":{"docs":{},"\\":{"docs":{},"s":{"docs":{},")":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"$":{"docs":{},"|":{"docs":{},"\\":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0061823802163833074}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.012364760432766615},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}},".":{"docs":{},"a":{"docs":{},"z":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"s":{"docs":{},":":{"1":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"5":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"7":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"8":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"9":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}},"1":{"1":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"3":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"4":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"8":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}},"2":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"3":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"4":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"5":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"7":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"9":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}},"2":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"3":{"3":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"4":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"4":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"7":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"5":{"2":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"6":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}},"6":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"5":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"7":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"8":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}},"8":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"3":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"9":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"3":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"4":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}},"docs":{}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.010819165378670788},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00511770726714432},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"a":{"2":{"5":{"6":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"l":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.005409582689335394},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"p":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}},"f":{"docs":{},"t":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.09473684210526316}}}}}}}},"p":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.0077279752704791345}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"i":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":3.334878928387429},"license.html":{"ref":"license.html","tf":3.333333333333333},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008870692596383487},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.031413612565445025},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.009900990099009901}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"[":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}}}}}}}},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.010582010582010581},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.02012964858410099},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047619047619047616},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.04},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.05054151624548736},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.058823529411764705},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.09424083769633508},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.08994708994708994},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0891089108910891},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.03333333333333333},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.04888888888888889}}}}}},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"modules.html":{"ref":"modules.html","tf":0.1},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}},"v":{"docs":{},"g":{"docs":{"modules.html":{"ref":"modules.html","tf":0.1}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.018082565677243263}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03571428571428571}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.021660649819494584},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02666666666666667},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"s":{"docs":{},":":{"1":{"2":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}}},"8":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}}},"docs":{}},"2":{"6":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}}},"docs":{}},"3":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.004201680672268907}}},"docs":{}},"4":{"3":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291}}},"4":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291}}},"5":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291}}},"docs":{}},"5":{"3":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838}}},"4":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838}}},"5":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838}}},"6":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838}}},"docs":{}},"6":{"3":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"4":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"5":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"6":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"7":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"8":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}},"docs":{}},"docs":{}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}},"s":{"docs":{},":":{"2":{"1":{"docs":{"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105}}},"docs":{}},"3":{"0":{"docs":{"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266}}},"9":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513}}},"docs":{}},"docs":{}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"k":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"x":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},".":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"x":{"docs":{},"/":{"docs":{},"y":{"docs":{},"/":{"docs":{},"z":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}}},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673}},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}},"'":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"'":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005458887751620608}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},".":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}},"n":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"s":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"{":{"docs":{},"\\":{"docs":{},"{":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0034118048447628795},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01444043321299639}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002729443875810304}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.01854714064914992},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.03896103896103896},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008188331627430911},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.029411764705882353},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03664921465968586},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.031746031746031744},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.024752475247524754},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.008403361344537815},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}},"docs":{}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"+":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"r":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"d":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"x":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}},"u":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006141248720573183},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.012605042016806723},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}}}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}},"w":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01023541453428864},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05263157894736842},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.020942408376963352},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0297029702970297},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.022222222222222223},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":6.666666666666666}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.010046367851622875},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.011258955987717503}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.023809523809524}}}}}}}}}}}}}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}}}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.04095826893353941},"license.html":{"ref":"license.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.016376663254861822},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.046218487394957986},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.031413612565445025},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.037037037037037035},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0297029702970297},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.01622874806800618},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008529512111907198}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.001364721937905152}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0030706243602865915}},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.00927357032457496},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025974025974025976},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.007164790174002047},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.025454545454545455},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.036101083032490974},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02100840336134454},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.015706806282722512},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.015873015873015872},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0380952380952381},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.022222222222222223},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0020470829068577278},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.005235602094240838},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.005291005291005291},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0049504950495049506},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":5.019047619047619},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.013333333333333334}}}}}}},"/":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.021660649819494584},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.012987012987012988},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01818181818181818},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02666666666666667}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.025454545454545455},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.010830324909747292},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0625},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.03333333333333333},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.026666666666666}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014545454545454545},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036363636363636364},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525}},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01090909090909091},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014285714285714285},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004776526782668032},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.004761904761904762},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.0044444444444444444}}}}}}}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.007164790174002047},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023809523809523808},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02181818181818182},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.02857142857142857},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02666666666666667}},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":6.7333333333333325}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}}}}}},"i":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}}}}},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005800068236096895},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.01680672268907563},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.020942408376963352},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.031746031746031744},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.019801980198019802}}}}}},"w":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015455950540958269}}}},"r":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}}}}}},"e":{"docs":{},"'":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0010235414534288639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.007220216606498195}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}}}}},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.00231839258114374}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011904761904761904}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0030911901081916537}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0038639876352395673},"license.html":{"ref":"license.html","tf":0.031578947368421054},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005800068236096895}}}}}}}},"/":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0017059024223814397}}}}}},"w":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000682360968952576}}}}},"z":{"docs":{},"u":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007727975270479134}}}},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"overview.html":{"ref":"overview.html","tf":0.08333333333333333}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000341180484476288}}}}}}}},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"=":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007272727272727273},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009523809523809525},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008888888888888889}}}}}}}}}}}}}}}}}}},"length":2447},"corpusTokens":["0","0.33","0.5","0.75","1","10","1000","1970","2","20","20.000","2017","4","4711","4th","60","600","75","9","9]{3","_\").replace(/=/g","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","abov","abstract","abstractvalidationhandl","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","action","actual","add","addit","additionalst","adjust","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alias","allow","allowedalgorithm","alreadi","although","and/or","angular","angular/common","angular/cor","angular/http","angular2","anoth","api","app","app/home.html","appcompon","append","applic","application/x","appmodul","approach","approutermodul","arg","aris","around","array","array.isarray(claims.aud","array.isarray(params.jwks['key","asset","associ","asstr","assum","at_hash","athash","atob(claimsbase64","atob(headerbase64","audienc","auth","author","authorization_endpoint","authorizationhead","automat","avoid","b/c","back","base","base64data","base64data.length","bearer","befor","below","between","boolean","bootstrap","both","break","bring","brows","browser","browser'","btoa(leftmosthalf","build","bundl","bytearrayasstr","c","calchash","calchash(valuetohash","calctimeout(expir","calcul","call","callback","callontokenreceivedifexists(opt","case","catch(err","catch(error","catch(reason","chang","charg","check","cite","claim","claims.aud","claims.aud.every(v","claims.aud.join","claims.exp","claims.given_nam","claims.iat","claims.iss","claims.kid","claims.nonc","claims.sub","claimsathash","claimsbase64","claimsjson","class","clear","clearaccesstokentim","clearhashafterlogin","clearidtokentim","cli","cli.json","client","client'","client_id","clientid","commonj","commonmodul","commun","compat","compens","compon","condit","configu","configur","connect","consol","console.debug(\"log","console.debug('given_nam","console.debug('oauth/oidc","console.debug('ok","console.debug('refresh","console.debug('st","console.debug(context","console.debug.apply(consol","console.error","console.error(\"actu","console.error(\"error","console.error(\"exptect","console.error('error","console.error('refresh","console.error(err","console.error(error","console.error(reason","console.warn('no","console.warn(err","constructor","constructor(http","constructor(priv","constructor(typ","contain","context","context.idtoken","contract","cooki","copi","copyright","core","creat","createandsavenonc","createloginurl","createnonc","credenti","credit","current","custom","customhashfrag","customqueryparam","customredirecturi","damag","data","date","date.now","deal","debug","debug(...arg","decid","declar","decod","decodedst","decodeuricomponent(parts[\"st","decodeuricomponent(st","default","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","demand","demo","demonstr","depend","deprec","describ","descript","design","detect","dicoveri","differ","directli","directori","disabl","discoveri","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","discoverydocumentload","discoverydocumentloadedsubject","disoveri","distribut","do","do(e","doc","doc.authorization_endpoint","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.silentrefreshiframenam","domain","don't","dosn't","dummi","dummyclientsecret","dure","e","e.data","e.typ","eas","email","enabl","encod","encodeuricomponent(id_token","encodeuricomponent(loginhint","encodeuricomponent(nonc","encodeuricomponent(redirecturi","encodeuricomponent(scop","encodeuricomponent(st","encodeuricomponent(that.clientid","encodeuricomponent(that.resourc","encodeuricomponent(that.responsetyp","encodeuricomponent(this.customqueryparams[key","encodeuricomponent(this.postlogoutredirecturi","end_session_endpoint","endpoint","endpont","enter","enum","environ","err","err));when","error","error(\"can","error(\"createnonc","error('algorithm","error('array","error('eith","error('loginurl","error('paramet","error('sil","error('tokenendpoint","error('userinfoendpoint","errors.length","errors.push('everi","errors.push('http","es256","es384","escapedkey","escapedvalu","event","eventlisten","eventssubject","eventtyp","exampl","exchang","exist","existingclaim","existingclaims['sub","existingifram","expect","expectedprefix","expir","expiresat","expiresatmsec","expiresin","expiresinmillisecond","explicitli","export","expos","express","extend","fact","factor","fail","fals","far","featur","fetch","fetchtokenusingpasswordflow","fetchtokenusingpasswordflow(usernam","fetchtokenusingpasswordflowandloaduserprofil","fetchtokenusingpasswordflowandloaduserprofile(usernam","field","file","filter(","find","fire","first","fit","flow","follow","for(let","form","former","forroot","found","fragment","free","full","fullurl","function","furnish","further","g","geheim","geheim').then","geheim').then((resp","gener","get","getaccesstoken","getaccesstokenexpir","gethashfragmentparam","gethashfragmentparams(customhashfrag","getidentityclaim","getidtoken","getidtokenexpir","getitem","getitem(key","getkeycount","give","good","graceperiod","graceperiodinsec","grant","granttypessupport","half","hallo","handleloginerror(opt","handler","handler.t","handler.ts:11","handler.ts:17","handler.ts:18","handler.ts:2","handler.ts:23","handler.ts:25","handler.ts:3","handler.ts:36","handler.ts:4","handler.ts:41","handler.ts:5","handler.ts:6","handler.ts:69","handler.ts:71","handler.ts:78","handler.ts:8","handler.ts:86","happen","hash","hash.indexof","hash.substr(1","hash.substr(questionmarkposition+1","hashalg","hashalg.digeststring(valuetohash","hashlocationstrategi","hashstrategi","hasvalidaccesstoken","hasvalididtoken","header","headerbase64","headerjson","headers.set('author","headers.set('cont","helper.servic","helper.service.t","helper.service.ts:27","helper.service.ts:6","here","herebi","hidden","his/her","holder","home","homecompon","hook","hs256","hs384","hs512","http","http.get(validationurl","http://localhost:8080","http://localhost:8080/#/homeev","httpmodul","https://github.com/jvandemo/gener","https://github.com/manfredsteyer/angular","https://github.com/manfredsteyer/angular2","https://steyer","https://tools.ietf.org/html/rfc7517","httpscheck","hybrid","i=0","iat","id","id_token","id_token'","id_token_hint","idclaim","ident","identityserv","identityserver3","idtoken","idtoken.idtoken","idtoken.idtokenclaimsjson","idtoken.idtokenexpiresat","idtoken.split","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhandl","idtokenhead","idtokenheaderjson","idtokentimeoutsubscript","ifram","iframe.id","iframe.setattribute('src","iframe.style.vis","implcit","implement","impli","implicit","import","includ","index","index.html","infer","inferhashalgorithm","inferhashalgorithm(jwthead","info","info.st","inform","initi","initialnavig","initimplicitflow","initimplicitflow(additionalst","inject","instanc","instanceof","instead","interact","interfac","intern","invalid","invalid_nonce_in_st","isn't","issu","issuedatmsec","issuer","issuer'","issuercheck","isvalid","java","job","json","json.parse(claim","json.parse(claimsjson","json.parse(headerjson","json.stringify(doc","jwk","jwks_load_error","jwks_uri","jwksvalidationhandl","jwksvalidationhandler();in","jwtheader","jwtheader['alg","k['kid","k['use","keep","key","keycloak","keyobj","keys.find(k","kick","kid","kind","known","known/openid","later","lcurl","lcurl.match(/^http:\\/\\/localhost","lcurl.startswith('http","leftmosthalf","legaci","legend","leverag","liabil","liabl","lib","librari","licens","life","limit","line","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loaduserprofil","local","localstorag","locat","location.hash","location.href","location.origin","locationstrategi","log","loggin","logic","login","login_hint","loginhint","loginhint).then(funct","loginopt","loginurl","logoff","logout","logout(noredirecttologouturl","logouturl","main","make","manfr","manual","map","map(","map(r","match","max/geheim","mean","mention","merchant","merg","messag","messageev","method","millisecond","mind","miscellan","miss","modifi","modul","modulewithprovid","more","msec","multipl","name","navig","need","net","new","ngmodul","nonc","nonceinst","noninfring","noredirecttologouturl","note","noth","notic","now","now.gettim","null","nullvalidationhandl","number","oauth","oauth2","oautherrorev","oautherrorevent('discovery_document_load_error","oautherrorevent('discovery_document_validation_error","oautherrorevent('invalid_nonce_in_st","oautherrorevent('jwks_load_error","oautherrorevent('silent_refresh_error","oautherrorevent('silent_refresh_timeout","oautherrorevent('token_error","oautherrorevent('token_refresh_error","oautherrorevent('token_validation_error","oautherrorevent('user_profile_load_error","oautherrorevent).first","oauthev","oauthinfoev","oauthinfoevent('token_expir","oauthmodul","oauthmodule.forroot","oauthservic","oauthservice.clientid","oauthstorag","oauthsuccessev","oauthsuccessevent('discovery_document_load","oauthsuccessevent('silently_refresh","oauthsuccessevent('token_receiv","oauthsuccessevent('token_refresh","oauthsuccessevent('user_profile_load","object","object.assign","object.getownpropertynames(this.customqueryparam","observ","observable.of(new","obtain","of(new","offline_access","oidc","oidc.\\n","ok","on","onloginerror","ontokenreceiv","openid","oper","optin","option","options.customhashfrag","options.onloginerror","options.onloginerror(part","options.ontokenreceiv","options.ontokenreceived(tokenparam","options.validationhandl","order","otherparam","otherwis","out","output","over","overrid","overview","owner","packag","padbase64(base64data","page","pair","param","paramet","params.idtoken","params.idtokenclaims['at_hash'].replace(/=/g","params.idtokenhead","params.idtokenheader['kid","params.jwk","params.jwks['key","params.jwks['keys'].length","params.jwks['keys'][0","parent.postmessage(location.hash","pars","parsedidtoken","parseint(expiresat","parseint(this._storage.getitem(\"expires_at","parseint(this._storage.getitem(\"id_token_expires_at","parsequerystr","parsequerystring(querystr","part","particular","parts[\"access_token","parts[\"error","parts[\"id_token","parts['expires_in","pass","passt","password","passwort","pathlocationstrategi","perform","period","permiss","permit","person","platform","plattform","pleas","portion","possibl","post_logout_redirect_uri","postlogoutredirecturi","prefixedmessag","prefixedmessage.startswith(expectedprefix","prefixedmessage.substr(expectedprefix.length","preserv","prevent","privat","processidtoken","processidtoken(idtoken","profil","project","promis","promise((resolv","promise.reject('eith","promise.reject('signatur","promise.reject(err","promise.reject(error","promise.reject(ev","promise.resolv","promise.resolve(nul","properti","protect","provid","ps256","ps384","ps512","public","publish","purpos","queri","querystr","querystring.split","question","questionmarkposit","quit","r.json()).subscrib","race([error","rais","read","readonli","reason","receiv","received_first_token","receivedfirsttoken","receivedtoken","redhat'","redirect","redirect_uri","redirecturi","redirecturi).then(url","refresh","refresh.html","refresh.html\";pleas","refresh_token","refreshtoken","regard","regist","registerd","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","relax","relay","reli","remoteonli","remov","removeitem","removeitem(key","removesilentrefresheventlisten","replace(/\\//g","repres","request","requestaccesstoken","requir","require('jsrsasign","requirehttp","reset","resolve(doc","resolve(tokenrespons","resourc","respond","response_typ","responsetyp","restrict","result","result.idtoken","result.idtokenclaim","return","right","risk","rng","rngurl","root","rout","router","routermodule.forroot(app_rout","rs","rs.keyutil.getkey(key","rs.kjur.crypto.messagedigest({alg","rs.kjur.jws.jws.verifyjwt(params.idtoken","rs256","rs384","rs512","rule","run","runn","rxjs/add/observable/of","rxjs/add/observable/rac","rxjs/add/operator/delay","rxjs/add/operator/do","rxjs/add/operator/filt","rxjs/add/operator/first","rxjs/add/operator/map","rxjs/add/operator/publish","rxjs/add/operator/topromis","rxjs/observ","rxjs/subject","rxjs/subscript","safe","sampl","savednonc","scope","scope.match(/(^|\\s)openid($|\\","search","search.set('client_id","search.set('client_secret","search.set('grant_typ","search.set('password","search.set('refresh_token","search.set('scop","search.set('token","search.set('usernam","search.tostr","second","secreat","secret","section","secur","see","sell","send","sens","separatorindex","seperationchar","server","server'","server.azurewebsites.net/ident","server.azurewebsites.net/identity/.wel","server.azurewebsites.net/identity/connect/author","server.azurewebsites.net/identity/connect/endsess","server.azurewebsites.net/identity/connect/token","server.azurewebsites.net/identity/connect/userinfo","servic","service.t","service.ts:100","service.ts:105","service.ts:1050","service.ts:1059","service.ts:107","service.ts:1073","service.ts:1081","service.ts:1089","service.ts:1096","service.ts:1114","service.ts:112","service.ts:1133","service.ts:1143","service.ts:1182","service.ts:122","service.ts:128","service.ts:136","service.ts:142","service.ts:149","service.ts:155","service.ts:176","service.ts:179","service.ts:190","service.ts:193","service.ts:23","service.ts:28","service.ts:332","service.ts:34","service.ts:345","service.ts:40","service.ts:45","service.ts:464","service.ts:47","service.ts:477","service.ts:48","service.ts:522","service.ts:54","service.ts:567","service.ts:60","service.ts:61","service.ts:651","service.ts:67","service.ts:72","service.ts:77","service.ts:784","service.ts:82","service.ts:837","service.ts:87","service.ts:92","service.ts:934","service.ts:94","service.ts:948","sessionstorag","set","setitem","setitem(key","setstorag","setstorage(storag","setup","setupaccesstokentim","setupidtokentim","setupsilentrefresheventlisten","setuptim","sha","sha256(accesstoken","shall","short","show","showdebuginform","shown","side","sig","sign","signatur","silent","silent_refresh_error","silent_refresh_timeout","silently_refresh","silently_refreshed').first","silentrefresh","silentrefreshiframenam","silentrefreshmessageprefix","silentrefreshpostmessageeventlisten","silentrefreshredirecturi","siletrefreshtimeout","similar","simpl","singl","skip","softwar","solut","somevalu","sourc","spa","spa'","spec","specif","src/events.t","src/events.ts:21","src/events.ts:30","src/events.ts:39","src/index.t","src/oauth","src/token","src/types.t","src/types.ts:12","src/types.ts:18","src/types.ts:26","src/types.ts:33","src/types.ts:43","src/types.ts:44","src/types.ts:45","src/types.ts:53","src/types.ts:54","src/types.ts:55","src/types.ts:56","src/types.ts:63","src/types.ts:64","src/types.ts:65","src/types.ts:66","src/types.ts:67","src/types.ts:68","src/url","standard","start","startup","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","static","steyer","still","storag","store","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","strictdiscoverydocumentvalid","stricter","string","sub","subject","sublicens","subscribe(","subscribe(this.eventssubject","subscript","substanti","succeed","success","successfulli","such","super(typ","support","sure","svg","take","taken","task","templateurl","tenant","tenminutesinmsec","test","testen","text","that'","that._storage.setitem(\"nonc","that.getaccesstoken","that.getidentityclaim","that.getidtoken","that.loginurl","that.loginurl.indexof","that.oidc","that.resourc","that.scop","that.stat","then(_","then(info","then(result","therefor","third","this._storag","this._storage.getitem(\"access_token","this._storage.getitem(\"expires_at","this._storage.getitem(\"id_token","this._storage.getitem(\"id_token_claims_obj","this._storage.getitem(\"nonc","this._storage.getitem('refresh_token","this._storage.setitem(\"access_token","this._storage.setitem(\"expires_at","this._storage.setitem(\"id_token","this._storage.setitem(\"id_token_claims_obj","this._storage.setitem(\"id_token_expires_at","this._storage.setitem(\"refresh_token","this._storage.setitem('id_token_claims_obj","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.allowedalgorithm","this.calchash(params.accesstoken","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug('error","this.debug('refresh","this.debug('tim","this.debug('tokenrespons","this.debug('userinfo","this.discoverydocumentload","this.discoverydocumentloadedsubject.asobserv","this.discoverydocumentloadedsubject.next(doc","this.dummyclientsecret","this.ev","this.events.filter(","this.eventssubject.asobserv","this.eventssubject.next(","this.eventssubject.next(err","this.eventssubject.next(ev","this.eventssubject.next(new","this.getaccesstoken","this.getaccesstokenexpir","this.getidentityclaim","this.getkeycount","this.graceperiodinsec","this.granttypessupport","this.handleloginerror(opt","this.hasvalidaccesstoken","this.hasvalididtoken","this.http.get(doc.jwks_uri).map(r","this.http.get(fullurl).map(r","this.http.get(this.userinfoendpoint","this.http.post(this.tokenendpoint","this.idtokentimeoutsubscript","this.idtokentimeoutsubscription.unsubscrib","this.inferhashalgorithm(params.idtokenhead","this.issu","this.jwk","this.jwks['key","this.jwks['keys'].length","this.loaduserprofil","this.loginurl","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oauthservice.clientid","this.oauthservice.customqueryparam","this.oauthservice.dummyclientsecret","this.oauthservice.events.subscribe(","this.oauthservice.fetchtokenusingpasswordflow('max","this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max","this.oauthservice.getaccesstoken","this.oauthservice.getidentityclaim","this.oauthservice.initimplicitflow","this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');aft","this.oauthservice.issu","this.oauthservice.loaddiscoverydocument().then","this.oauthservice.loaddiscoverydocument(url).then","this.oauthservice.loaduserprofil","this.oauthservice.loginurl","this.oauthservice.logout","this.oauthservice.logouturl","this.oauthservice.redirecturi","this.oauthservice.refreshtoken().then","this.oauthservice.scop","this.oauthservice.setstorage(sessionstorag","this.oauthservice.silentrefresh","this.oauthservice.silentrefreshredirecturi","this.oauthservice.tokenendpoint","this.oauthservice.tokenvalidationhandl","this.oauthservice.trylogin","this.oauthservice.trylogin().then(_","this.oauthservice.userinfoendpoint","this.oidc","this.padbase64(tokenparts[0","this.padbase64(tokenparts[1","this.parsequerystring(hash","this.redirecturi","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.rngurl","this.router.navig","this.scop","this.setupaccesstokentim","this.setupidtokentim","this.setupsilentrefresheventlisten","this.setuptim","this.showdebuginform","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.stat","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.strictdiscoverydocumentvalid","this.timeoutfactor","this.tobytearrayasstring(result","this.tokenendpoint","this.tokenvalidationhandl","this.tokenvalidationhandler.validatesignature(param","this.trylogin","this.urlhelper.gethashfragmentparam","this.urlhelper.gethashfragmentparams(options.customhashfrag","this.userinfoendpoint","this.validatediscoverydocument(doc","this.validatenonceforaccesstoken(accesstoken","this.validateurlagainstissuer(url","this.validateurlforhttps(fullurl","this.validateurlforhttps(this.loginurl","this.validateurlforhttps(this.tokenendpoint","this.validateurlforhttps(this.userinfoendpoint","this.validateurlforhttps(url","this.validateurlfromdiscoverydocument(doc['authorization_endpoint","this.validateurlfromdiscoverydocument(doc['end_session_endpoint","this.validateurlfromdiscoverydocument(doc['jwks_uri","this.validateurlfromdiscoverydocument(doc['token_endpoint","this.validateurlfromdiscoverydocument(doc['userinfo_endpoint","three","throw","time","timeout","timeoutfactor","timespan","timestamp","tobytearrayasstr","tobytearrayasstring(hexstr","todo","togeht","token","token'","token(","token_endpoint","token_error","token_expir","token_receiv","token_received').subscribe(_","token_refresh","token_refresh_error","token_timeout","token_validation_error","tokenendpoint","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","tokenparam","tokenpart","tokenrespons","tokenresponse.expires_in","tokenresponse.refresh_token","tokenvalid","tokenvalidationhandl","topromis","tort","transmit","tri","trigger","true","trylogin","trylogin(opt","ts","two","type","typealias","typeof","up","uri","url","url.tolowercas","url.tolowercase().startswith(this.issuer.tolowercas","urlencod","urlhelp","urlhelperservic","urlsearchparam","us","usecas","usehash","user","user'","user_profile_load","user_profile_load_error","userinfo","userinfo_endpoint","userinfoendpoint","usernam","username/password","username/passwort","v","valid","validateathash","validateathash(param","validateathash(validationparam","validatediscoverydocument(doc","validatenonceforaccesstoken(accesstoken","validatesignatur","validatesignature(param","validatesignature(validationparam","validateurlagainstissuer(url","validateurlforhttps(url","validateurlfromdiscoverydocument(url","validation/jwk","validation/nul","validation/valid","validationhandl","validationparam","valu","valuetohash","var","variabl","version","via","void","voucher","w/o","want","warn","warranti","we'v","web","webpack","well","whether","window","window.addeventlistener('messag","window.location.hash","window.location.origin","window.removeeventlistener('messag","within","without","work","wrong","www","zoom","zum"],"pipeline":["trimmer","stopWordFilter","stemmer"]}, - "store": {"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nangular-oauth2-oidc\nSupport for OAuth 2 and OpenId Connect (OIDC) in Angular.\nCredits\n\ngenerator-angular2-library: https://github.com/jvandemo/generator-angular2-library\n\nTested Environment\nSuccessfully tested with the Angular 2 and 4 and its Router, PathLocationStrategy as well as HashLocationStrategy and CommonJS-Bundling via webpack. At server side we've used IdentityServer (.NET/ .NET Core) and Redhat's Keycloak (Java).\nNew Features in Version 2\n\nToken Refresh for Implicit Flow by implementing \"silent refresh\"\nValidating the signature of the received id_token\nProviding Events via the observable events.\nThe event token_expires can be used togehter with a silent refresh to automatically refresh a token when/ before it expires (see also property timeoutFactor).\n\nAdditional Features\n\nLogging in via OAuth2 and OpenId Connect (OIDC) Implicit Flow (where user is redirected to Identity Provider)\n\"Logging in\" via Password Flow (where user enters his/her password into the client)\nToken Refresh for Password Flow by using a Refresh Token\nAutomatically refreshing a token when/ some time before it expires\nQuerying Userinfo Endpoint\nQuerying Discovery Document to ease configuration\nValidating claims of the id_token regarding the specs\nHook for further custom validations\nSingle-Sign-Out by redirecting to the auth-server's logout-endpoint\n\nBreaking Changes in Version 2\n\nThe property oidc defaults to true.\nIf you are just using oauth2, you have to set oidc to false. Otherwise, the validation of the user profile will fail!\nBy default, sessionStorage is used. To use localStorage call method setStorage\nDemands using https as OIDC and OAuth2 relay on it. This rule can be relaxed using the property requireHttps, e. g. for local testing.\nDemands that every url provided by the discovery document starts with the issuer's url. This can be relaxed by using the property strictDiscoveryDocumentValidation.\n\nSample-Auth-Server\nYou can use the OIDC-Sample-Server mentioned in the samples for Testing. It assumes, that your Web-App runns on http://localhost:8080.\nUsername/Password: max/geheim\nResources\n\nSources of this lib: https://github.com/manfredsteyer/angular-oauth2-oidc\nSample Project: https://github.com/manfredsteyer/angular2-oauth-oidc-demo\n\nSetup Provider for OAuthService\nimport { OAuthModule } from 'angular-oauth2-oidc';\n[...]\n\n@NgModule({\n imports: [ \n [...]\n HttpModule,\n OAuthModule.forRoot()\n ],\n declarations: [\n AppComponent,\n HomeComponent,\n [...]\n ],\n bootstrap: [\n AppComponent \n ]\n})\nexport class AppModule {\n}Using Implicit Flow\nThis section shows how to use the implicit flow, which is redirecting the user to the auth-server for the login.\nConfigure Library for Implicit Flow (using discovery document)\nTo configure the library you just have to set some properties on startup. For this, the following sample uses the constructor of the AppComponent which is called before routing kicks in.\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // URL of the SPA to redirect the user to after login\n this.oauthService.redirectUri = window.location.origin + \"/index.html\";\n\n // The SPA's id. The SPA is registerd with this id at the auth-server\n this.oauthService.clientId = \"spa-demo\";\n\n // set the scope for the permissions the client should request\n // The first three are defined by OIDC. The 4th is a usecase-specific one\n this.oauthService.scope = \"openid profile email voucher\";\n\n // The name of the auth-server that has to be mentioned within the token\n this.oauthService.issuer = \"https://steyer-identity-server.azurewebsites.net/identity\";\n\n // Load Discovery Document and then try to login the user\n this.oauthService.loadDiscoveryDocument().then(() => {\n\n // This method just tries to parse the token(s) within the url when\n // the auth-server redirects the user back to the web-app\n // It dosn't send the user the the login page\n this.oauthService.tryLogin(); \n\n });\n\n }\n\n}Configure Library for Implicit Flow (without discovery document)\nWhen you don't have a discovery document, you have to configure more properties manually:\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // Login-Url\n this.oauthService.loginUrl = \"https://steyer-identity-server.azurewebsites.net/identity/connect/authorize\"; //Id-Provider?\n\n // URL of the SPA to redirect the user to after login\n this.oauthService.redirectUri = window.location.origin + \"/index.html\";\n\n // The SPA's id. Register SPA with this id at the auth-server\n this.oauthService.clientId = \"spa-demo\";\n\n // set the scope for the permissions the client should request\n this.oauthService.scope = \"openid profile email voucher\";\n\n // Use setStorage to use sessionStorage or another implementation of the TS-type Storage\n // instead of localStorage\n this.oauthService.setStorage(sessionStorage);\n\n // To also enable single-sign-out set the url for your auth-server's logout-endpoint here\n this.oauthService.logoutUrl = \"https://steyer-identity-server.azurewebsites.net/identity/connect/endsession\";\n\n // This method just tries to parse the token(s) within the url when\n // the auth-server redirects the user back to the web-app\n // It dosn't send the user the the login page\n this.oauthService.tryLogin(); \n\n\n }\n\n}Home-Component (for login)\nimport { Component } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\n@Component({\n templateUrl: \"app/home.html\" \n})\nexport class HomeComponent {\n\n constructor(private oAuthService: OAuthService) {\n }\n\n public login() {\n this.oAuthService.initImplicitFlow();\n }\n\n public logoff() {\n this.oAuthService.logOut();\n }\n\n public get name() {\n let claims = this.oAuthService.getIdentityClaims();\n if (!claims) return null;\n return claims.given_name; \n }\n\n}\n Hallo\n\n\n Hallo, {{name}}\n\n\n\n Login\n\n\n Logout\n\n\n\n Username/Passwort zum Testen: max/geheim\nValidate id_token\nYou can hook in an implementation of the interface TokenValidator to validate the signature of the received id_token and its at_hash property. This packages provides two implementations:\n\nJwksValidationHandler\nNullValidationHandler\n\nThe former one validates the signature against public keys received via the discovery document (property jwks) and the later one skips the validation on client side. \nimport { JwksValidationHandler } from 'angular-oauth2-oidc';\n\n[...]\n\nthis.oauthService.tokenValidationHandler = new JwksValidationHandler();In cases where no ValidationHandler is defined, you receive a warning on the console. This means that the library wants you to explicitly decide on this. \nValidate id_token (legacy, deprecated)\nIn cases where security relies on the id_token (e. g. in hybrid apps that use it to provide access to local resources)\nyou could use the callback validationHandler to define the logic to validate the token's signature. \nThe following sample uses the validation-endpoint of IdentityServer3 for this:\nthis.oauthService.tryLogin({\n validationHandler: context => {\n var search = new URLSearchParams();\n search.set('token', context.idToken); \n search.set('client_id', oauthService.clientId);\n return http.get(validationUrl, { search }).toPromise();\n }\n});Calling a Web API with OAuth-Token\nPass this Header to the used method of the Http-Service within an Instance of the class Headers:\nvar headers = new Headers({\n \"Authorization\": \"Bearer \" + this.oauthService.getAccessToken()\n});Refreshing a Token when using Implicit Flow\nTo refresh your tokens when using implicit flow you can use a silent refresh. This is a well-known solution that compensates the fact that implicit flow does not allow for issuing a refresh token. It uses a hidden iframe to get another token from the auth-server. When the user is there still logged in (by using a cookie) it will respond without user interaction and provide new tokens.\nTo use this approach, setup a redirect uri for the silent refresh:\nthis.oauthService.silentRefreshRedirectUri = window.location.origin + \"/silent-refresh.html\";Please keep in mind that this uri has to be configured at the auth-server too.\nThis file is loaded into the hidden iframe after getting new tokens. Its only task is to send the received tokens to the main application:\n\n\n \n parent.postMessage(location.hash, location.origin);\n \n\nPlease make sure that this file is copied to your output directory by your build task. When using the CLI you can define it as an asset for this. For this, you have to add the following line to the file .angular-cli.json:\n\"assets\": [\n [...],\n \"silent-refresh.html\"\n],To perform a silent refresh, just call the following method:\nthis\n .oauthService\n .silentRefresh()\n .then(info => console.debug('refresh ok', info))\n .catch(err => console.error('refresh error', err));When there is an error in the iframe that prevents the communication with the main application, silentRefresh will give you a timeout. To configure the timespan for this, you can set the property siletRefreshTimeout (msec). The default value is 20.000 (20 seconds).\nAutomatically refreshing a token when/ before it expires\nTo automatically refresh a token when/ some time before it expires, you can make use of the event token_expires:\nthis\n .oauthService\n .events\n .filter(e => e.type == 'token_expires')\n .subscribe(e => {\n this.oauthService.silentRefresh();\n });By default, this event is fired after 75% of the token's life time is over. You can adjust this factor by setting the property timeoutFactor to a value between 0 and 1. For instance, 0.5 means, that the event is fired after half of the life time is over and 0.33 triggers the event after a third.\nCallback after successful login\nThere is a callback onTokenReceived, that is called after a successful login. In this case, the lib received the access_token as\nwell as the id_token, if it was requested. If there is an id_token, the lib validated it.\nthis.oauthService.tryLogin({\n onTokenReceived: context => {\n //\n // Output just for purpose of demonstration\n // Don't try this at home ... ;-)\n // \n console.debug(\"logged in\");\n console.debug(context);\n }\n});Preserving State like the requested URL\nWhen calling initImplicitFlow, you can pass an optional state which could be the requested url:\nthis.oauthService.initImplicitFlow('http://www.myurl.com/x/y/z');After login succeeded, you can read this state:\nthis.oauthService.tryLogin({\n onTokenReceived: (info) => {\n console.debug('state', info.state);\n }\n})Custom Query Parameter\nYou can set the property customQueryParams to a hash with custom parameter that are transmitted when starting implicit flow.\nthis.oauthService.customQueryParams = {\n 'tenant': '4711',\n 'otherParam': 'someValue'\n};Routing with the HashStrategy\nIf you are leveraging the LocationStrategy which the Router is using by default, you can skip this section.\nWhen using the HashStrategy for Routing, the Router will override the received hash fragment with the tokens when it performs it initial navigation. This prevents the library from reading them. To avoid this, disable initial navigation when setting up the routes for your root module:\nexport let AppRouterModule = RouterModule.forRoot(APP_ROUTES, { \n useHash: true,\n initialNavigation: false\n});After tryLogin did its job, you can manually perform the initial navigation:\nthis.oauthService.tryLogin().then(_ => {\n this.router.navigate(['/']);\n})Another solution is the use a redirect uri that already contains the initial route. In this case the router will not override it. An example for such a redirect uri is\n http://localhost:8080/#/homeEvents\nthis.oauthService.events.subscribe(e => {\n console.debug('oauth/oidc event', e);\n})Using Password-Flow\nThis section shows how to use the password flow, which demands the user to directly enter his or her password into the client.\nConfigure Library for Password Flow (using discovery document)\nTo configure the library you just have to set some properties on startup. For this, the following sample uses the constructor of the AppComponent which is called before routing kicks in.\nPlease not, that this configuation is quite similar to the one for the implcit flow.\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // The SPA's id. Register SPA with this id at the auth-server\n this.oauthService.clientId = \"demo-resource-owner\";\n\n // set the scope for the permissions the client should request\n // The auth-server used here only returns a refresh token (see below), when the scope offline_access is requested\n this.oauthService.scope = \"openid profile email voucher offline_access\";\n\n // Use setStorage to use sessionStorage or another implementation of the TS-type Storage\n // instead of localStorage\n this.oauthService.setStorage(sessionStorage);\n\n // Set a dummy secret\n // Please note that the auth-server used here demand the client to transmit a client secret, although\n // the standard explicitly cites that the password flow can also be used without it. Using a client secret\n // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret\n // Using such a dummy secreat is as safe as using no secret.\n this.oauthService.dummyClientSecret = \"geheim\";\n\n // Load Discovery Document and then try to login the user\n let url = 'https://steyer-identity-server.azurewebsites.net/identity/.well-known/openid-configuration';\n this.oauthService.loadDiscoveryDocument(url).then(() => {\n // Do what ever you want here\n });\n\n }\n\n}Configure Library for Password Flow (without discovery document)\nIn cases where you don't have an OIDC based discovery document you have to configure some more properties manually:\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // Login-Url\n this.oauthService.tokenEndpoint = \"https://steyer-identity-server.azurewebsites.net/identity/connect/token\"; \n\n // Url with user info endpoint\n // This endpont is described by OIDC and provides data about the loggin user\n // This sample uses it, because we don't get an id_token when we use the password flow\n // If you don't want this lib to fetch data about the user (e. g. id, name, email) you can skip this line\n this.oauthService.userinfoEndpoint = \"https://steyer-identity-server.azurewebsites.net/identity/connect/userinfo\";\n\n // The SPA's id. Register SPA with this id at the auth-server\n this.oauthService.clientId = \"demo-resource-owner\";\n\n // set the scope for the permissions the client should request\n this.oauthService.scope = \"openid profile email voucher offline_access\";\n\n // Set a dummy secret\n // Please note that the auth-server used here demand the client to transmit a client secret, although\n // the standard explicitly cites that the password flow can also be used without it. Using a client secret\n // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret\n // Using such a dummy secreat is as safe as using no secret.\n this.oauthService.dummyClientSecret = \"geheim\";\n\n }\n\n}Fetching an Access Token by providing the current user's credentials\nthis.oauthService.fetchTokenUsingPasswordFlow('max', 'geheim').then((resp) => {\n\n // Loading data about the user\n return this.oauthService.loadUserProfile();\n\n}).then(() => {\n\n // Using the loaded user data\n let claims = this.oAuthService.getIdentityClaims();\n if (claims) console.debug('given_name', claims.given_name); \n\n})There is also a short form for fetching the token and loading the user profile:\nthis.oauthService.fetchTokenUsingPasswordFlowAndLoadUserProfile('max', 'geheim').then(() => {\n let claims = this.oAuthService.getIdentityClaims();\n if (claims) console.debug('given_name', claims.given_name); \n});Refreshing the current Access Token\nUsing the password flow you MIGHT get a refresh token (which isn't the case with the implicit flow by design!). You can use this token later to get a new access token, e. g. after it expired.\nthis.oauthService.refreshToken().then(() => {\n console.debug('ok');\n})\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\nOverview\n \n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\n\n\n \n \n Zoom in\n Reset\n Zoom out\n \n \n\n \n \n \n \n \n \n 1 module\n \n \n \n \n \n \n \n \n 2 injectables\n \n \n \n \n \n \n \n 9 classes\n \n \n \n \n \n \n \n 4 interfaces\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nCopyright (c) 2017 Manfred Steyer\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\nModules\n\n \n \n \n \n OAuthModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OAuthModule.html":{"url":"modules/OAuthModule.html","title":"module - OAuthModule","body":"\n \n\n\n\n\n Modules\n OAuthModule\n\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n\n \n File\n \n \n src/index.ts\n \n\n\n \n \n \n \n \n\n\n \n import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OAuthService } from './oauth-service';\n\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/do';\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/delay';\nimport 'rxjs/add/operator/first';\nimport 'rxjs/add/operator/toPromise';\nimport 'rxjs/add/operator/publish';\n\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/observable/race';\n\nexport * from \"./oauth-service\";\nexport * from './token-validation/jwks-validation-handler';\nexport * from './token-validation/null-validation-handler';\nexport * from './token-validation/validation-handler';\n\nimport { UrlHelperService } from \"./url-helper.service\";\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class OAuthModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: OAuthModule,\n providers: [\n OAuthService,\n UrlHelperService\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuthService.html":{"url":"injectables/OAuthService.html","title":"injectable - OAuthService","body":"\n \n\n\n\n\n\n\n\n Injectables\n OAuthService\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/oauth-service.ts\n \n\n \n Description\n \n \n Service for logging in and logging out with\nOIDC and OAuth2. Supports implicit flow and\npassword flow.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public clearHashAfterLogin\n \n \n Public clientId\n \n \n Public customQueryParams\n \n \n Public dummyClientSecret\n \n \n Public events\n \n \n Public issuer\n \n \n Public jwks\n \n \n Public loginUrl\n \n \n Public logoutUrl\n \n \n Public oidc\n \n \n Public options\n \n \n Public postLogoutRedirectUri\n \n \n Public redirectUri\n \n \n Public requestAccessToken\n \n \n Public requireHttps\n \n \n Public resource\n \n \n Public responseType\n \n \n Public rngUrl\n \n \n Public scope\n \n \n Public showDebugInformation\n \n \n Public silentRefreshIFrameName\n \n \n Public silentRefreshMessagePrefix\n \n \n Public silentRefreshRedirectUri\n \n \n Public siletRefreshTimeout\n \n \n Public state\n \n \n Public strictDiscoveryDocumentValidation\n \n \n Public timeoutFactor\n \n \n Public tokenEndpoint\n \n \n Public tokenValidationHandler\n \n \n Public userinfoEndpoint\n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n Public authorizationHeader\n \n \n Protected createNonce\n \n \n Public fetchTokenUsingPasswordFlow\n \n \n Public fetchTokenUsingPasswordFlowAndLoadUserProfile\n \n \n Public getAccessToken\n \n \n Public getAccessTokenExpiration\n \n \n Public getIdentityClaims\n \n \n Public getIdToken\n \n \n Public getIdTokenExpiration\n \n \n Public hasValidAccessToken\n \n \n Public hasValidIdToken\n \n \n Public initImplicitFlow\n \n \n Public loadDiscoveryDocument\n \n \n Public loadUserProfile\n \n \n Public logOut\n \n \n Protected processIdToken\n \n \n Public refreshToken\n \n \n Public setStorage\n \n \n Public silentRefresh\n \n \n Protected storeIdToken\n \n \n Public tryLogin\n \n \n \n \n \n \n \n\n \n Constructor\n \n \n \n \n constructor(http: Http, urlHelper: UrlHelperService)\n \n \n \n \n Defined in src/oauth-service.ts:193\n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n Public authorizationHeader\n \n \n \n \n \n authorizationHeader()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1133\n \n \n \n \n \n Returns the auth-header that can be used\n to transmit the access_token to a service\n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Protected createNonce\n \n \n \n \n \n createNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1182\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Public fetchTokenUsingPasswordFlow\n \n \n \n \n \n fetchTokenUsingPasswordFlow(userName: string, password: string, headers: Headers)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:522\n \n \n \n \n \n Uses password flow to exchange userName and password for an access_token.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n userName\n \n \n \n \n \n password\n \n \n \n \n \n headers\n \n \n Optional additional http-headers.\n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public fetchTokenUsingPasswordFlowAndLoadUserProfile\n \n \n \n \n \n fetchTokenUsingPasswordFlowAndLoadUserProfile(userName: string, password: string, headers: Headers)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:464\n \n \n \n \n \n Uses password flow to exchange userName and password for an\n access_token. After receiving the access_token, this method\n uses it to query the userinfo endpoint in order to get information\n about the user in question.\n When using this, make sure that the property oidc is set to false.\n Otherwise stricter validations take happen that makes this operation\n fail.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n userName\n \n \n \n \n \n password\n \n \n \n \n \n headers\n \n \n Optional additional http-headers.\n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public getAccessToken\n \n \n \n \n \n getAccessToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1073\n \n \n \n \n \n Returns the current access_token.\n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Public getAccessTokenExpiration\n \n \n \n \n \n getAccessTokenExpiration()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1081\n \n \n \n \n \n Returns the expiration date of the access_token\n as milliseconds since 1970.\n \n \n \n Returns : number\n \n \n \n \n \n \n \n \n \n \n \n Public getIdentityClaims\n \n \n \n \n \n getIdentityClaims()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1050\n \n \n \n \n \n Returns the received claims about the user.\n \n \n \n Returns : object\n \n \n \n \n \n \n \n \n \n \n \n Public getIdToken\n \n \n \n \n \n getIdToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1059\n \n \n \n \n \n Returns the current id_token.\n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Public getIdTokenExpiration\n \n \n \n \n \n getIdTokenExpiration()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1089\n \n \n \n \n \n Returns the expiration date of the id_token\n as milliseconds since 1970.\n \n \n \n Returns : number\n \n \n \n \n \n \n \n \n \n \n \n Public hasValidAccessToken\n \n \n \n \n \n hasValidAccessToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1096\n \n \n \n \n \n Checkes, whether there is a valid access_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Public hasValidIdToken\n \n \n \n \n \n hasValidIdToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1114\n \n \n \n \n \n Checkes, whether there is a valid id_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Public initImplicitFlow\n \n \n \n \n \n initImplicitFlow(additionalState: , loginHint: )\n \n \n \n \n \n \n Defined in src/oauth-service.ts:784\n \n \n \n \n \n Starts the implicit flow and redirects to user to\n the auth servers login url. \n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n additionalState\n \n \n Optinal state that is passes around. You find this state in the property state after tryLogin logged in the user.\n \n \n \n loginHint\n \n \n \n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public loadDiscoveryDocument\n \n \n \n \n \n loadDiscoveryDocument(fullUrl: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:345\n \n \n \n \n \n Loads the discovery document to configure most\n properties of this service. The url of the discovery\n document is infered from the issuer's url according\n to the OpenId Connect spec. To use another url you\n can pass it to to optional parameter fullUrl.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n fullUrl\n \n \n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public loadUserProfile\n \n \n \n \n \n loadUserProfile()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:477\n \n \n \n \n \n Loads the user profile by accessing the user info endpoint defined by OpenId Connect.\n When using this with OAuth2 password flow, make sure that the property oidc is set to false.\n Otherwise stricter validations take happen that makes this operation\n fail.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Public logOut\n \n \n \n \n \n logOut(noRedirectToLogoutUrl: boolean)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1143\n \n \n \n \n \n Removes all tokens and logs the user out.\n If a logout url is configured, the user is \n redirected to it.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n noRedirectToLogoutUrl\n \n \n \n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected processIdToken\n \n \n \n \n \n processIdToken(idToken: string, accessToken: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:948\n \n \n \n \n \n \n \n Returns : Promise<>\n \n \n \n \n \n \n \n \n \n \n \n Public refreshToken\n \n \n \n \n \n refreshToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:567\n \n \n \n \n \n Refreshes the token using a refresh_token.\n This does not work for implicit flow, b/c\n there is no refresh_token in this flow.\n A solution for this is provided by the\n method silentRefresh.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Public setStorage\n \n \n \n \n \n setStorage(storage: OAuthStorage)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:332\n \n \n \n \n \n Sets a custom storage used to store the received\n tokens on client side. By default, the browser's\n sessionStorage is used.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n storage\n \n \n \n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public silentRefresh\n \n \n \n \n \n silentRefresh()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:651\n \n \n \n \n \n Performs a silent refresh for implicit flow.\n Use this method to get a new tokens when/ before \n the existing tokens expires.\n \n \n \n Returns : Promise<>\n \n \n \n \n \n \n \n \n \n \n \n Protected storeIdToken\n \n \n \n \n \n storeIdToken(idToken: ParsedIdToken)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:934\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public tryLogin\n \n \n \n \n \n tryLogin(options: LoginOptions)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:837\n \n \n \n \n \n Checks whether there are tokens in the hash fragment\n as a result of the implicit flow. These tokens are\n parsed, validated and used to sign the user in to the\n current client.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n options\n \n \n Optinal options.\n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n Public clearHashAfterLogin\n \n \n \n \n clearHashAfterLogin: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:82\n \n \n \n \n \n Defines whether to clear the hash fragment after logging in.\n \n \n \n \n \n \n \n \n \n \n \n Public clientId\n \n \n \n \n clientId: \n \n \n \n \n \n Defined in src/oauth-service.ts:23\n \n \n \n \n \n The client's id as registered with the auth server\n \n \n \n \n \n \n \n \n \n \n \n Public customQueryParams\n \n \n \n \n customQueryParams: object\n \n \n \n \n \n Type : object\n \n \n \n \n \n Defined in src/oauth-service.ts:155\n \n \n \n \n \n Map with additional query parameter that are appended to\n the request when initializing implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public dummyClientSecret\n \n \n \n \n dummyClientSecret: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:122\n \n \n \n \n \n Some auth servers don't allow using password flow\n w/o a client secreat while the standards do not\n demand for it. In this case, you can set a password\n here. As this passwort is exposed to the public\n it does not bring additional security and is therefore\n as good as using no password.\n \n \n \n \n \n \n \n \n \n \n \n Public events\n \n \n \n \n events: Observable\n \n \n \n \n \n Type : Observable\n \n \n \n \n \n Defined in src/oauth-service.ts:176\n \n \n \n \n \n Informs about events, like token_received or token_expires.\n See the string enum EventType for a full list of events.\n \n \n \n \n \n \n \n \n \n \n \n Public issuer\n \n \n \n \n issuer: \n \n \n \n \n \n Defined in src/oauth-service.ts:72\n \n \n \n \n \n The issuer's uri.\n \n \n \n \n \n \n \n \n \n \n \n Public jwks\n \n \n \n \n jwks: object\n \n \n \n \n \n Type : object\n \n \n \n \n \n Defined in src/oauth-service.ts:149\n \n \n \n \n \n JSON Web Key Set (https://tools.ietf.org/html/rfc7517)\n with keys used to validate received id_tokens.\n This is taken out of the disovery document. Can be set manually too.\n \n \n \n \n \n \n \n \n \n \n \n Public loginUrl\n \n \n \n \n loginUrl: \n \n \n \n \n \n Defined in src/oauth-service.ts:40\n \n \n \n \n \n The auth server's endpoint that allows to log\n the user in when using implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public logoutUrl\n \n \n \n \n logoutUrl: \n \n \n \n \n \n Defined in src/oauth-service.ts:77\n \n \n \n \n \n The logout url.\n \n \n \n \n \n \n \n \n \n \n \n Public oidc\n \n \n \n \n oidc: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:54\n \n \n \n \n \n Defines whether to use OpenId Connect during\n implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public options\n \n \n \n \n options: any\n \n \n \n \n \n Type : any\n \n \n \n \n \n Defined in src/oauth-service.ts:61\n \n \n \n \n \n \n \n \n \n \n \n Public postLogoutRedirectUri\n \n \n \n \n postLogoutRedirectUri: \n \n \n \n \n \n Defined in src/oauth-service.ts:34\n \n \n \n \n \n An optional second redirectUri where the auth server\n redirects the user to after logging out.\n \n \n \n \n \n \n \n \n \n \n \n Public redirectUri\n \n \n \n \n redirectUri: \n \n \n \n \n \n Defined in src/oauth-service.ts:28\n \n \n \n \n \n The client's redirectUri as registered with the auth server\n \n \n \n \n \n \n \n \n \n \n \n Public requestAccessToken\n \n \n \n \n requestAccessToken: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:60\n \n \n \n \n \n Defines whether to request a access token during\n implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public requireHttps\n \n \n \n \n requireHttps: boolean|\n \n \n \n \n \n Type : boolean|\n \n \n \n \n \n Default value : remoteOnly\n \n \n \n \n Defined in src/oauth-service.ts:136\n \n \n \n \n \n Defines whether https is required.\n The default value is remoteOnly which only allows\n http for location, while every other domains need\n to be used with https.\n \n \n \n \n \n \n \n \n \n \n \n Public resource\n \n \n \n \n resource: \n \n \n \n \n \n Defined in src/oauth-service.ts:47\n \n \n \n \n \n \n \n \n \n \n \n Public responseType\n \n \n \n \n responseType: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Default value : token\n \n \n \n \n Defined in src/oauth-service.ts:94\n \n \n \n \n \n \n \n \n \n \n \n Public rngUrl\n \n \n \n \n rngUrl: \n \n \n \n \n \n Defined in src/oauth-service.ts:48\n \n \n \n \n \n \n \n \n \n \n \n Public scope\n \n \n \n \n scope: \n \n \n \n \n \n Default value : openid profile\n \n \n \n \n Defined in src/oauth-service.ts:45\n \n \n \n \n \n The requested scopes\n \n \n \n \n \n \n \n \n \n \n \n Public showDebugInformation\n \n \n \n \n showDebugInformation: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in src/oauth-service.ts:100\n \n \n \n \n \n Defines whether additional debug information should \n be shown at the console.\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshIFrameName\n \n \n \n \n silentRefreshIFrameName: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Default value : angular-oauth-oidc-silent-refresh-iframe\n \n \n \n \n Defined in src/oauth-service.ts:179\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshMessagePrefix\n \n \n \n \n silentRefreshMessagePrefix: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:107\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshRedirectUri\n \n \n \n \n silentRefreshRedirectUri: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:105\n \n \n \n \n \n The redirect uri used when doing silent refresh.\n \n \n \n \n \n \n \n \n \n \n \n Public siletRefreshTimeout\n \n \n \n \n siletRefreshTimeout: number\n \n \n \n \n \n Type : number\n \n \n \n \n \n Defined in src/oauth-service.ts:112\n \n \n \n \n \n Timeout for silent refresh. \n \n \n \n \n \n \n \n \n \n \n \n Public state\n \n \n \n \n state: \n \n \n \n \n \n Defined in src/oauth-service.ts:67\n \n \n \n \n \n The received (passed around) state, when logging\n in with implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public strictDiscoveryDocumentValidation\n \n \n \n \n strictDiscoveryDocumentValidation: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:142\n \n \n \n \n \n Defines whether every url provided by the discovery \n document has to start with the issuer's url.\n \n \n \n \n \n \n \n \n \n \n \n Public timeoutFactor\n \n \n \n \n timeoutFactor: number\n \n \n \n \n \n Type : number\n \n \n \n \n \n Default value : 0.75\n \n \n \n \n Defined in src/oauth-service.ts:190\n \n \n \n \n \n Defines when the token_timeout event should be raised.\n If you set this to the default value 0.75, the event\n is triggered after 75% of the token's life time.\n \n \n \n \n \n \n \n \n \n \n \n Public tokenEndpoint\n \n \n \n \n tokenEndpoint: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:87\n \n \n \n \n \n Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n \n \n \n \n \n \n \n \n \n \n \n Public tokenValidationHandler\n \n \n \n \n tokenValidationHandler: ValidationHandler\n \n \n \n \n \n Type : ValidationHandler\n \n \n \n \n \n Defined in src/oauth-service.ts:128\n \n \n \n \n \n The ValidationHandler used to validate received\n id_tokens.\n \n \n \n \n \n \n \n \n \n \n \n Public userinfoEndpoint\n \n \n \n \n userinfoEndpoint: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:92\n \n \n \n \n \n Url of the userinfo endpoint as defined by OpenId Connect.\n \n \n \n \n \n \n \n \n\n\n \n import { Http, URLSearchParams, Headers } from '@angular/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\nimport { ValidationHandler, ValidationParams } from \"./token-validation/validation-handler\";\nimport { NullValidationHandler } from \"./token-validation/null-validation-handler\";\nimport { UrlHelperService } from \"./url-helper.service\";\nimport { Subscription } from \"rxjs/Subscription\";\nimport { OAuthEvent, OAuthInfoEvent, OAuthErrorEvent, OAuthSuccessEvent } from \"./events\";\nimport { OAuthStorage, LoginOptions, ParsedIdToken } from \"./types\";\n\n/**\n * Service for logging in and logging out with\n * OIDC and OAuth2. Supports implicit flow and\n * password flow.\n */\n@Injectable()\nexport class OAuthService {\n\n /**\n * The client's id as registered with the auth server\n */\n public clientId = \"\";\n\n /**\n * The client's redirectUri as registered with the auth server\n */\n public redirectUri = \"\";\n\n /**\n * An optional second redirectUri where the auth server\n * redirects the user to after logging out.\n */\n public postLogoutRedirectUri = \"\";\n\n /**\n * The auth server's endpoint that allows to log\n * the user in when using implicit flow.\n */\n public loginUrl = \"\";\n\n /**\n * The requested scopes\n */\n public scope = \"openid profile\";\n\n public resource = \"\";\n public rngUrl = \"\";\n\n /**\n * Defines whether to use OpenId Connect during\n * implicit flow.\n */\n public oidc: boolean = true;\n\n /**\n * Defines whether to request a access token during\n * implicit flow.\n */\n public requestAccessToken: boolean = true;\n public options: any;\n \n /**\n * The received (passed around) state, when logging\n * in with implicit flow.\n */\n public state = \"\";\n\n /**\n * The issuer's uri.\n */\n public issuer = \"\";\n\n /**\n * The logout url.\n */\n public logoutUrl = \"\";\n\n /**\n * Defines whether to clear the hash fragment after logging in.\n */\n public clearHashAfterLogin: boolean = true;\n\n /**\n * Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n */\n public tokenEndpoint: string;\n\n /**\n * Url of the userinfo endpoint as defined by OpenId Connect.\n */\n public userinfoEndpoint: string;\n\n public responseType: string = \"token\";\n\n /**\n * Defines whether additional debug information should \n * be shown at the console.\n */\n public showDebugInformation: boolean = false;\n\n /**\n * The redirect uri used when doing silent refresh.\n */\n public silentRefreshRedirectUri: string = '';\n\n public silentRefreshMessagePrefix: string = '';\n\n /**\n * Timeout for silent refresh. \n */\n public siletRefreshTimeout: number = 1000 * 20; \n\n /**\n * Some auth servers don't allow using password flow\n * w/o a client secreat while the standards do not\n * demand for it. In this case, you can set a password\n * here. As this passwort is exposed to the public\n * it does not bring additional security and is therefore\n * as good as using no password.\n */\n public dummyClientSecret: string;\n\n /**\n * The ValidationHandler used to validate received\n * id_tokens.\n */\n public tokenValidationHandler: ValidationHandler;\n\n /**\n * Defines whether https is required.\n * The default value is remoteOnly which only allows\n * http for location, while every other domains need\n * to be used with https.\n */\n public requireHttps: boolean | 'remoteOnly' = 'remoteOnly';\n \n /**\n * Defines whether every url provided by the discovery \n * document has to start with the issuer's url.\n */\n public strictDiscoveryDocumentValidation: boolean = true;\n\n /**\n * JSON Web Key Set (https://tools.ietf.org/html/rfc7517)\n * with keys used to validate received id_tokens.\n * This is taken out of the disovery document. Can be set manually too.\n */\n public jwks: object;\n\n /**\n * Map with additional query parameter that are appended to\n * the request when initializing implicit flow.\n */\n public customQueryParams: object;\n\n /**\n * @internal\n * Deprecated: use property events instead\n */\n \n public discoveryDocumentLoaded: boolean = false;\n \n /**\n * @internal\n * Deprecated: use property events instead\n */\n public discoveryDocumentLoaded$: Observable;\n \n private discoveryDocumentLoadedSubject: Subject = new Subject();\n\n /**\n * Informs about events, like token_received or token_expires.\n * See the string enum EventType for a full list of events.\n */\n public events: Observable;\n private eventsSubject: Subject = new Subject();\n\n public silentRefreshIFrameName: string = 'angular-oauth-oidc-silent-refresh-iframe';\n private silentRefreshPostMessageEventListener: EventListener;\n\n private grantTypesSupported: Array = [];\n private _storage: OAuthStorage;\n\n /**\n * Defines when the token_timeout event should be raised.\n * If you set this to the default value 0.75, the event\n * is triggered after 75% of the token's life time.\n */\n public timeoutFactor: number = 0.75;\n\n private accessTokenTimeoutSubscription: Subscription;\n private idTokenTimeoutSubscription: Subscription;\n\n constructor(\n private http: Http,\n private urlHelper: UrlHelperService) {\n \n this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();\n this.events = this.eventsSubject.asObservable();\n\n if (sessionStorage) {\n this._storage = sessionStorage;\n }\n\n this.setupTimer();\n }\n\n private getKeyCount(): number {\n if (!this.jwks) return 0;\n if (!this.jwks['keys']) return 0;\n return this.jwks['keys'].length;\n }\n\n\n private debug(...args): void {\n if (this.showDebugInformation) {\n console.debug.apply(console, args);\n }\n }\n\n private validateUrlFromDiscoveryDocument(url: string): string[] {\n\n let errors: string[] = [];\n let httpsCheck = this.validateUrlForHttps(url);\n let issuerCheck = this.validateUrlAgainstIssuer(url);\n\n if (!httpsCheck) {\n errors.push('https for all urls required. Also for urls received by discovery.');\n }\n\n if (!issuerCheck) {\n errors.push('Every url in discovery document has to start with the issuer url. Also see property strictDiscoveryDocumentValidation.');\n }\n\n return errors;\n }\n\n private validateUrlForHttps(url: string): boolean {\n let lcUrl = url.toLowerCase();\n \n if (this.requireHttps == false) return true;\n\n if ((lcUrl.match(/^http:\\/\\/localhost($|[:\\/])/) \n || lcUrl.match(/^http:\\/\\/localhost($|[:\\/])/))\n && this.requireHttps == 'remoteOnly') {\n return true;\n }\n\n return lcUrl.startsWith('https://');\n }\n\n private validateUrlAgainstIssuer(url: string) {\n if (!this.strictDiscoveryDocumentValidation) return true;\n return url.toLowerCase().startsWith(this.issuer.toLowerCase());\n }\n\n private setupTimer(): void {\n \n if (!window) {\n this.debug('timer not supported on this plattform')\n return;\n } \n\n this.events.filter(e => e.type == 'token_received').subscribe(_ => {\n \n this.clearAccessTokenTimer();\n this.clearIdTokenTimer();\n\n let now = Date.now();\n\n if (this.hasValidAccessToken()) {\n this.setupAccessTokenTimer();\n }\n\n if (this.hasValidIdToken()) {\n this.setupIdTokenTimer();\n }\n\n });\n }\n\n private setupAccessTokenTimer(): void {\n let expiration = this.getAccessTokenExpiration();\n let timeout = this.calcTimeout(expiration);\n \n this.accessTokenTimeoutSubscription = \n Observable\n .of(new OAuthInfoEvent('token_expires', 'access_token'))\n .delay(timeout)\n .subscribe(e => this.eventsSubject.next(e));\n }\n\n\n private setupIdTokenTimer(): void {\n let expiration = this.getAccessTokenExpiration();\n let timeout = this.calcTimeout(expiration);\n \n this.accessTokenTimeoutSubscription = \n Observable\n .of(new OAuthInfoEvent('token_expires', 'id_token'))\n .delay(timeout)\n .subscribe(this.eventsSubject);\n }\n\n private clearAccessTokenTimer(): void {\n if (this.accessTokenTimeoutSubscription) {\n this.accessTokenTimeoutSubscription.unsubscribe();\n }\n }\n\n private clearIdTokenTimer(): void {\n if (this.idTokenTimeoutSubscription) {\n this.idTokenTimeoutSubscription.unsubscribe();\n }\n }\n\n private calcTimeout(expiration: number): number {\n let now = Date.now();\n let delta = (expiration - now) * this.timeoutFactor;\n let timeout = now + delta;\n return timeout;\n }\n\n /**\n * Sets a custom storage used to store the received\n * tokens on client side. By default, the browser's\n * sessionStorage is used.\n * \n * @param storage \n */\n public setStorage(storage: OAuthStorage): void {\n this._storage = storage;\n }\n\n /**\n * Loads the discovery document to configure most\n * properties of this service. The url of the discovery\n * document is infered from the issuer's url according\n * to the OpenId Connect spec. To use another url you\n * can pass it to to optional parameter fullUrl.\n * \n * @param fullUrl \n */\n public loadDiscoveryDocument(fullUrl: string = null): Promise {\n\n return new Promise((resolve, reject) => {\n\n if (!fullUrl) {\n fullUrl = this.issuer + '/.well-known/openid-configuration';\n }\n\n if (!this.validateUrlForHttps(fullUrl)) {\n reject('loginUrl must use Http. Also check property requireHttps.');\n return;\n }\n \n this.http.get(fullUrl).map(r => r.json()).subscribe(\n (doc) => {\n\n if (!this.validateDiscoveryDocument(doc)) {\n this.eventsSubject.next(new OAuthErrorEvent('discovery_document_validation_error', null));\n reject('discovery_document_validation_error');\n return;\n }\n\n this.loginUrl = doc.authorization_endpoint;\n this.logoutUrl = doc.end_session_endpoint;\n this.grantTypesSupported = doc.grant_types_supported;\n this.issuer = doc.issuer;\n this.tokenEndpoint = doc.token_endpoint;\n this.userinfoEndpoint = doc.userinfo_endpoint;\n\n this.discoveryDocumentLoaded = true;\n this.discoveryDocumentLoadedSubject.next(doc);\n\n if (doc.jwks_uri) {\n this.http.get(doc.jwks_uri).map(r => r.json()).subscribe(\n jwks => {\n this.jwks = jwks;\n this.eventsSubject.next(new OAuthSuccessEvent('discovery_document_loaded'));\n resolve(doc);\n },\n err => {\n console.error('error loading jwks', err);\n this.eventsSubject.next(new OAuthErrorEvent('jwks_load_error', err));\n reject(err);\n }\n )\n }\n else {\n this.eventsSubject.next(new OAuthSuccessEvent('discovery_document_loaded'));\n resolve(doc);\n }\n },\n (err) => {\n console.error('error loading dicovery document', err);\n this.eventsSubject.next(new OAuthErrorEvent('discovery_document_load_error', err));\n reject(err);\n }\n );\n });\n }\n\n private validateDiscoveryDocument(doc: object): boolean {\n\n let errors: string[];\n\n if (doc['issuer'] != this.issuer) {\n console.error(\n 'invalid issuer in discovery document',\n 'expected: ' + this.issuer,\n 'current: ' + doc['issuer']\n );\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['authorization_endpoint']);\n if (errors.length > 0) {\n console.error('error validating authorization_endpoint in discovery document', errors);\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['end_session_endpoint']);\n if (errors.length > 0) {\n console.error('error validating end_session_endpoint in discovery document', errors);\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['token_endpoint']);\n if (errors.length > 0) {\n console.error('error validating token_endpoint in discovery document', errors);\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['userinfo_endpoint']);\n if (errors.length > 0) {\n console.error('error validating userinfo_endpoint in discovery document', errors);\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['jwks_uri']);\n if (errors.length > 0) {\n console.error('error validating jwks_uri in discovery document', errors);\n return false;\n }\n\n return true;\n }\n\n /**\n * Uses password flow to exchange userName and password for an\n * access_token. After receiving the access_token, this method\n * uses it to query the userinfo endpoint in order to get information\n * about the user in question.\n * \n * When using this, make sure that the property oidc is set to false.\n * Otherwise stricter validations take happen that makes this operation\n * fail.\n * \n * @param userName \n * @param password \n * @param headers Optional additional http-headers.\n */\n public fetchTokenUsingPasswordFlowAndLoadUserProfile(userName: string, password: string, headers: Headers = new Headers()): Promise {\n return this\n .fetchTokenUsingPasswordFlow(userName, password, headers)\n .then(() => this.loadUserProfile());\n }\n\n /**\n * Loads the user profile by accessing the user info endpoint defined by OpenId Connect.\n * \n * When using this with OAuth2 password flow, make sure that the property oidc is set to false.\n * Otherwise stricter validations take happen that makes this operation\n * fail.\n */\n public loadUserProfile(): Promise {\n if (!this.hasValidAccessToken()) throw new Error(\"Can not load User Profile without access_token\");\n if (!this.validateUrlForHttps(this.userinfoEndpoint)) throw new Error('userinfoEndpoint must use Http. Also check property requireHttps.');\n \n return new Promise((resolve, reject) => {\n\n let headers = new Headers();\n headers.set('Authorization', 'Bearer ' + this.getAccessToken());\n\n this.http.get(this.userinfoEndpoint, { headers }).map(r => r.json()).subscribe(\n (doc) => {\n this.debug('userinfo received', doc);\n\n let existingClaims = this.getIdentityClaims() || {};\n if (this.oidc && (!existingClaims['sub'] || doc.sub != existingClaims['sub'])) {\n let err = 'if property oidc is true, the received user-id (sub) has to be the user-id of the user that has logged in with oidc.\\n'\n + 'if you are not using oidc but just oauth2 password flow set oidc to false';\n\n reject(err);\n return;\n }\n\n doc = Object.assign({}, existingClaims, doc);\n\n this._storage.setItem('id_token_claims_obj', JSON.stringify(doc));\n this.eventsSubject.next(new OAuthSuccessEvent('user_profile_loaded'));\n resolve(doc);\n },\n (err) => {\n console.error('error loading user info', err);\n this.eventsSubject.next(new OAuthErrorEvent('user_profile_load_error', err));\n reject(err);\n }\n );\n });\n\n\n }\n\n /**\n * Uses password flow to exchange userName and password for an access_token.\n * @param userName \n * @param password \n * @param headers Optional additional http-headers.\n */\n public fetchTokenUsingPasswordFlow(userName: string, password: string, headers: Headers = new Headers()): Promise {\n\n if (!this.validateUrlForHttps(this.tokenEndpoint)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n return new Promise((resolve, reject) => { \n let search = new URLSearchParams();\n search.set('grant_type', 'password');\n search.set('client_id', this.clientId);\n search.set('scope', this.scope);\n search.set('username', userName);\n search.set('password', password);\n \n if (this.dummyClientSecret) {\n search.set('client_secret', this.dummyClientSecret);\n }\n\n headers.set('Content-Type', 'application/x-www-form-urlencoded');\n\n let params = search.toString();\n\n this.http.post(this.tokenEndpoint, params, { headers }).map(r => r.json()).subscribe(\n (tokenResponse) => {\n this.debug('tokenResponse', tokenResponse);\n this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in);\n\n this.eventsSubject.next(new OAuthSuccessEvent('token_received'));\n resolve(tokenResponse);\n },\n (err) => {\n console.error('Error performing password flow', err);\n this.eventsSubject.next(new OAuthErrorEvent('token_error', err));\n reject(err);\n }\n );\n });\n\n }\n\n /**\n * Refreshes the token using a refresh_token.\n * This does not work for implicit flow, b/c\n * there is no refresh_token in this flow.\n * A solution for this is provided by the\n * method silentRefresh.\n */\n public refreshToken(): Promise {\n\n if (!this.validateUrlForHttps(this.tokenEndpoint)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n return new Promise((resolve, reject) => { \n let search = new URLSearchParams();\n search.set('grant_type', 'refresh_token');\n search.set('client_id', this.clientId);\n search.set('scope', this.scope);\n search.set('refresh_token', this._storage.getItem('refresh_token'));\n \n if (this.dummyClientSecret) {\n search.set('client_secret', this.dummyClientSecret);\n }\n\n let headers = new Headers();\n headers.set('Content-Type', 'application/x-www-form-urlencoded');\n\n let params = search.toString();\n\n this.http.post(this.tokenEndpoint, params, { headers }).map(r => r.json()).subscribe(\n (tokenResponse) => {\n this.debug('refresh tokenResponse', tokenResponse);\n this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in);\n \n this.eventsSubject.next(new OAuthSuccessEvent('token_received'));\n this.eventsSubject.next(new OAuthSuccessEvent('token_refreshed'));\n resolve(tokenResponse);\n },\n (err) => {\n console.error('Error performing password flow', err);\n this.eventsSubject.next(new OAuthErrorEvent('token_refresh_error', err));\n reject(err);\n }\n );\n });\n }\n\n private removeSilentRefreshEventListener(): void {\n if (this.silentRefreshPostMessageEventListener) {\n window.removeEventListener('message', this.silentRefreshPostMessageEventListener);\n this.silentRefreshPostMessageEventListener = null;\n }\n }\n\n private setupSilentRefreshEventListener(): void {\n this.removeSilentRefreshEventListener();\n \n this.silentRefreshPostMessageEventListener = (e: MessageEvent) => {\n\n let expectedPrefix = '#';\n\n if (this.silentRefreshMessagePrefix) {\n expectedPrefix += this.silentRefreshMessagePrefix;\n }\n\n if (!e || !e.data || typeof e.data != 'string' ) return;\n \n let prefixedMessage: string = e.data;\n\n if (!prefixedMessage.startsWith(expectedPrefix)) return;\n\n let message = '#' + prefixedMessage.substr(expectedPrefix.length);\n\n this.tryLogin({\n customHashFragment: message,\n onLoginError: (err) => {\n this.eventsSubject.next(new OAuthErrorEvent('silent_refresh_error', err));\n },\n onTokenReceived: () => {\n this.eventsSubject.next(new OAuthSuccessEvent('silently_refreshed'));\n }\n });\n }\n\n window.addEventListener('message', this.silentRefreshPostMessageEventListener);\n }\n\n \n /**\n * Performs a silent refresh for implicit flow.\n * Use this method to get a new tokens when/ before \n * the existing tokens expires.\n */\n public silentRefresh(): Promise {\n \n if (!this.validateUrlForHttps(this.loginUrl)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n if (!document) {\n throw new Error('silent refresh is not supported on this platform');\n } \n\n let existingIframe = document.getElementById(this.silentRefreshIFrameName);\n if (existingIframe) {\n document.body.removeChild(existingIframe);\n }\n\n let iframe = document.createElement('iframe');\n iframe.id = this.silentRefreshIFrameName;\n\n this.setupSilentRefreshEventListener();\n\n let redirectUri = this.silentRefreshRedirectUri || this.redirectUri;\n this.createLoginUrl(null, null, redirectUri).then(url => {\n iframe.setAttribute('src', url);\n iframe.style.visibility = 'hidden';\n document.body.appendChild(iframe);\n });\n\n let errors = this.events.filter(e => e instanceof OAuthErrorEvent).first();\n let success = this.events.filter(e => e.type == 'silently_refreshed').first();\n let timeout = Observable.of(new OAuthErrorEvent('silent_refresh_timeout', null))\n .delay(this.siletRefreshTimeout);\n\n return Observable\n .race([errors, success, timeout])\n .do(e => {\n if (e.type == 'silent_refresh_timeout') {\n this.eventsSubject.next(e);\n }\n })\n .map(e => {\n if (e instanceof OAuthErrorEvent) {\n throw e;\n }\n return e;\n })\n .toPromise();\n }\n \n private createLoginUrl(\n state: string = '', \n loginHint: string = '',\n customRedirectUri: string = ''\n ) {\n var that = this;\n\n let redirectUri: string;\n\n if (customRedirectUri) {\n redirectUri = customRedirectUri;\n }\n else {\n redirectUri = this.redirectUri;\n }\n\n return this.createAndSaveNonce().then((nonce: any) => {\n\n if (state) {\n state = nonce + \";\" + state;\n }\n else {\n state = nonce; \n }\n\n if (!this.requestAccessToken && !this.oidc) {\n throw new Error('Either requestAccessToken or oidc or both must be true');\n }\n\n if (this.oidc && this.requestAccessToken) {\n this.responseType = \"id_token token\";\n }\n else if (this.oidc && !this.requestAccessToken) {\n this.responseType = 'id_token'\n }\n else {\n this.responseType = 'token';\n }\n\n let seperationChar = (that.loginUrl.indexOf('?') > -1) ? '&' : '?';\n\n let scope = that.scope;\n\n if (this.oidc && !scope.match(/(^|\\s)openid($|\\s)/)) {\n scope = 'openid ' + scope;\n }\n\n var url = that.loginUrl \n + seperationChar\n + \"response_type=\"\n + encodeURIComponent(that.responseType)\n + \"&client_id=\"\n + encodeURIComponent(that.clientId)\n + \"&state=\" \n + encodeURIComponent(state)\n + \"&redirect_uri=\" \n + encodeURIComponent(redirectUri) \n + \"&scope=\" \n + encodeURIComponent(scope)\n + \"&login_hint=\"\n + encodeURIComponent(loginHint);\n\n if (that.resource) {\n url += \"&resource=\" + encodeURIComponent(that.resource);\n }\n \n if (that.oidc) {\n url += \"&nonce=\" + encodeURIComponent(nonce);\n }\n\n if (this.customQueryParams) {\n for(let key of Object.getOwnPropertyNames(this.customQueryParams)) {\n url += \"&\" + key + \"=\" + encodeURIComponent(this.customQueryParams[key]);\n }\n }\n \n return url;\n });\n };\n\n /**\n * Starts the implicit flow and redirects to user to\n * the auth servers login url. \n * \n * @param additionalState Optinal state that is passes around. You find this state in the property ``state`` after ``tryLogin`` logged in the user.\n * @param loginHint \n */\n public initImplicitFlow(additionalState = \"\", loginHint=\"\"): void {\n \n if (!this.validateUrlForHttps(this.loginUrl)) {\n throw new Error('loginUrl must use Http. Also check property requireHttps.');\n }\n\n this.createLoginUrl(additionalState, loginHint).then(function (url) {\n location.href = url;\n })\n .catch(error => {\n console.error(\"Error in initImplicitFlow\");\n console.error(error);\n });\n };\n \n private callOnTokenReceivedIfExists(options: LoginOptions): void {\n var that = this;\n if (options.onTokenReceived) {\n var tokenParams = { \n idClaims: that.getIdentityClaims(),\n idToken: that.getIdToken(),\n accessToken: that.getAccessToken(),\n state: that.state\n };\n options.onTokenReceived(tokenParams);\n }\n }\n\n private storeAccessTokenResponse(accessToken: string, refreshToken: string, expiresIn: number): void {\n this._storage.setItem(\"access_token\", accessToken);\n\n if (expiresIn) {\n var expiresInMilliSeconds = expiresIn * 1000;\n var now = new Date();\n var expiresAt = now.getTime() + expiresInMilliSeconds;\n this._storage.setItem(\"expires_at\", \"\" + expiresAt);\n }\n\n if (refreshToken) {\n this._storage.setItem(\"refresh_token\", refreshToken);\n }\n }\n\n private receivedFirstToken = true;\n\n /**\n * Checks whether there are tokens in the hash fragment\n * as a result of the implicit flow. These tokens are\n * parsed, validated and used to sign the user in to the\n * current client.\n * \n * @param options Optinal options.\n */\n public tryLogin(options: LoginOptions = null): Promise {\n \n options = options || { };\n \n let parts: object;\n\n if (options.customHashFragment) {\n parts = this.urlHelper.getHashFragmentParams(options.customHashFragment);\n }\n else {\n parts = this.urlHelper.getHashFragmentParams();\n }\n\n if (parts[\"error\"]) {\n this.debug('error trying to login');\n this.handleLoginError(options, parts);\n let err = new OAuthErrorEvent('token_error', {}, parts);\n this.eventsSubject.next(err);\n return Promise.reject(err);\n }\n\n var accessToken = parts[\"access_token\"];\n var idToken = parts[\"id_token\"];\n var state = decodeURIComponent(parts[\"state\"]);\n \n if (!this.requestAccessToken && !this.oidc) {\n return Promise.reject('Either requestAccessToken or oidc or both must be true.');\n }\n\n if (this.requestAccessToken && (!accessToken || !state)) return Promise.resolve();\n if (this.oidc && !idToken) return Promise.resolve();\n \n var stateParts = state.split(';');\n if (stateParts.length > 1) {\n this.state = stateParts[1];\n }\n var nonceInState = stateParts[0];\n\n\n // Our state might be URL encoded\n // Check for this and then decode it if it is\n // TODO: Check this!\n /*\n let decodedState = decodeURIComponent(state);\n if (decodedState != state) {\n state = decodedState;\n }\n */\n if (this.requestAccessToken) {\n let success = this.validateNonceForAccessToken(accessToken, nonceInState);\n if (!success) {\n let event = new OAuthErrorEvent('invalid_nonce_in_state', null);\n this.eventsSubject.next(event);\n return Promise.reject(event);\n }\n this.storeAccessTokenResponse(accessToken, null, parts['expires_in']);\n }\n\n if (!this.oidc) return Promise.resolve();\n\n return this\n .processIdToken(idToken, accessToken)\n .then(result => {\n if (options.validationHandler) {\n return options.validationHandler({\n accessToken: accessToken,\n idClaims: result.idTokenClaims,\n idToken: result.idToken,\n state: state\n }).then(_ => result);\n }\n return result;\n })\n .then(result => {\n this.storeIdToken(result);\n this.eventsSubject.next(new OAuthSuccessEvent('token_received'));\n this.callOnTokenReceivedIfExists(options);\n if (this.clearHashAfterLogin) location.hash = '';\n })\n .catch(reason => {\n this.eventsSubject.next(new OAuthErrorEvent('token_validation_error', reason));\n console.error('Error validating tokens');\n console.error(reason);\n });\n \n };\n\n private validateNonceForAccessToken(accessToken: string, nonceInState: string): boolean {\n var savedNonce = this._storage.getItem(\"nonce\");\n if (savedNonce !== nonceInState) {\n let err = 'validating access_token failed. wrong state/nonce.';\n console.error(err, savedNonce, nonceInState);\n return false;\n }\n return true;\n }\n\n protected storeIdToken(idToken: ParsedIdToken) {\n this._storage.setItem(\"id_token\", idToken.idToken);\n this._storage.setItem(\"id_token_claims_obj\", idToken.idTokenClaimsJson);\n this._storage.setItem(\"id_token_expires_at\", \"\" + idToken.idTokenExpiresAt);\n }\n\n private handleLoginError(options: LoginOptions, parts: object): void {\n var savedNonce = this._storage.getItem(\"nonce\");\n if (options.onLoginError) \n options.onLoginError(parts)\n if (this.clearHashAfterLogin) location.hash = '';\n }\n \n\n protected processIdToken(idToken: string, accessToken: string): Promise {\n \n let tokenParts = idToken.split(\".\");\n let headerBase64 = this.padBase64(tokenParts[0]);\n let headerJson = atob(headerBase64);\n let header = JSON.parse(headerJson);\n let claimsBase64 = this.padBase64(tokenParts[1]);\n let claimsJson = atob(claimsBase64);\n let claims = JSON.parse(claimsJson);\n let savedNonce = this._storage.getItem(\"nonce\");\n \n if (Array.isArray(claims.aud)) {\n if (claims.aud.every(v => v !== this.clientId)) {\n let err = \"Wrong audience: \" + claims.aud.join(\",\");\n console.warn(err);\n return Promise.reject(err);\n }\n } else {\n if (claims.aud !== this.clientId) {\n let err = \"Wrong audience: \" + claims.aud;\n console.warn(err);\n return Promise.reject(err);\n }\n }\n\n if (this.getKeyCount() > 1 && !claims.kid) {\n let err = 'There needs to be a kid claim in the id_token when multiple keys are defined via the property jwks';\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (!claims.sub) {\n let err = \"No sub claim in id_token\";\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (!claims.iat) {\n let err = \"No iat claim in id_token\";\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (claims.iss !== this.issuer) {\n let err = \"Wrong issuer: \" + claims.iss;\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (claims.nonce !== savedNonce) {\n let err = \"Wrong nonce: \" + claims.nonce;\n console.warn(err);\n return Promise.reject(err);\n }\n\n let now = Date.now();\n let issuedAtMSec = claims.iat * 1000;\n let expiresAtMSec = claims.exp * 1000;\n let tenMinutesInMsec = 1000 * 60 * 10;\n\n if (issuedAtMSec - tenMinutesInMsec >= now || expiresAtMSec + tenMinutesInMsec {\n let result: ParsedIdToken = {\n idToken: idToken,\n idTokenClaims: claims,\n idTokenClaimsJson: claimsJson,\n idTokenHeader: header,\n idTokenHeaderJson: headerJson,\n idTokenExpiresAt: expiresAtMSec,\n };\n return result;\n }) \n\n }\n \n /**\n * Returns the received claims about the user.\n */\n public getIdentityClaims(): object {\n var claims = this._storage.getItem(\"id_token_claims_obj\");\n if (!claims) return null;\n return JSON.parse(claims);\n }\n \n /**\n * Returns the current id_token.\n */\n public getIdToken(): string {\n return this._storage.getItem(\"id_token\");\n }\n \n private padBase64(base64data): string {\n while (base64data.length % 4 !== 0) {\n base64data += \"=\";\n }\n return base64data;\n }\n\n /**\n * Returns the current access_token.\n */\n public getAccessToken(): string {\n return this._storage.getItem(\"access_token\");\n };\n\n /**\n * Returns the expiration date of the access_token\n * as milliseconds since 1970.\n */\n public getAccessTokenExpiration(): number {\n return parseInt(this._storage.getItem(\"expires_at\"));\n }\n\n /**\n * Returns the expiration date of the id_token\n * as milliseconds since 1970.\n */\n public getIdTokenExpiration(): number {\n return parseInt(this._storage.getItem(\"id_token_expires_at\"));\n }\n\n /**\n * Checkes, whether there is a valid access_token.\n */\n public hasValidAccessToken(): boolean {\n if (this.getAccessToken()) {\n\n var expiresAt = this._storage.getItem(\"expires_at\");\n var now = new Date();\n if (expiresAt && parseInt(expiresAt) -1) {\n logoutUrl = this.logoutUrl.replace(/\\{\\{id_token\\}\\}/, id_token);\n }\n else {\n logoutUrl = this.logoutUrl + \"?id_token_hint=\" \n + encodeURIComponent(id_token)\n + \"&post_logout_redirect_uri=\"\n + encodeURIComponent(this.postLogoutRedirectUri || this.redirectUri);\n }\n location.href = logoutUrl;\n };\n\n private createAndSaveNonce(): Promise {\n var that = this;\n return this.createNonce().then(function (nonce: any) {\n that._storage.setItem(\"nonce\", nonce);\n return nonce;\n })\n };\n\n protected createNonce(): Promise {\n \n return new Promise((resolve, reject) => { \n \n if (this.rngUrl) {\n throw new Error(\"createNonce with rng-web-api has not been implemented so far\");\n }\n else {\n var text = \"\";\n var possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (var i = 0; i {\n if (!this.tokenValidationHandler) {\n console.warn('No tokenValidationHandler configured. Cannot check signature.');\n return Promise.resolve(null);\n }\n return this.tokenValidationHandler.validateSignature(params);\n }\n\n}\n\n \n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UrlHelperService.html":{"url":"injectables/UrlHelperService.html","title":"injectable - UrlHelperService","body":"\n \n\n\n\n\n\n\n\n Injectables\n UrlHelperService\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/url-helper.service.ts\n \n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n Public getHashFragmentParams\n \n \n Public parseQueryString\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Public getHashFragmentParams\n \n \n \n \n \n getHashFragmentParams(customHashFragment: string)\n \n \n \n \n \n \n Defined in src/url-helper.service.ts:6\n \n \n \n \n \n \n \n Returns : object\n \n \n \n \n \n \n \n \n \n \n \n Public parseQueryString\n \n \n \n \n \n parseQueryString(queryString: string)\n \n \n \n \n \n \n Defined in src/url-helper.service.ts:27\n \n \n \n \n \n \n \n Returns : object\n \n \n \n \n \n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class UrlHelperService {\n\n public getHashFragmentParams(customHashFragment?: string): object {\n \n let hash = customHashFragment || window.location.hash;\n\n if (hash.indexOf(\"#\") !== 0) {\n return {};\n }\n\n let questionMarkPosition = hash.indexOf('?');\n \n if (questionMarkPosition > -1) {\n hash = hash.substr(questionMarkPosition+1);\n }\n else {\n hash = hash.substr(1);\n }\n\n return this.parseQueryString(hash);\n\n };\n\n public parseQueryString(queryString: string): object {\n var data = {}, pairs, pair, separatorIndex, escapedKey, escapedValue, key, value;\n\n if (queryString === null) {\n return data;\n }\n\n pairs = queryString.split(\"&\");\n\n for (var i = 0; i \n \n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AbstractValidationHandler.html":{"url":"classes/AbstractValidationHandler.html","title":"class - AbstractValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n AbstractValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/validation-handler.ts\n \n\n \n Description\n \n \n This abstract implementation of ValidationHandler already implements\nthe method validateAtHash. However, to make use of it,\nyou have to override the method calcHash.\n\n \n\n\n \n Implements\n \n \n ValidationHandler\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n Protected calcHash\n \n \n Protected inferHashAlgorithm\n \n \n validateAtHash\n \n \n validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Protected calcHash\n \n \n \n \n \n calcHash(valueToHash: string, algorithm: string)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:86\n \n \n \n \n \n Calculates the hash for the passed value by using\n the passed hash algorithm.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n valueToHash\n \n \n \n \n \n algorithm\n \n \n \n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected inferHashAlgorithm\n \n \n \n \n \n inferHashAlgorithm(jwtHeader: object)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:69\n \n \n \n \n \n Infers the name of the hash algorithm to use\n from the alg field of an id_token.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n jwtHeader\n \n \n the id_token's parsed header\n \n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validateAtHash\n \n \n \n \n validateAtHash(params: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:41\n \n \n \n \n \n Validates the at_hash in an id_token against the received access_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n \n validateSignature(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:36\n \n \n \n \n \n Validates the signature of an id_token.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n\n\n \n export interface ValidationParams {\n idToken: string;\n accessToken: string;\n idTokenHeader: object;\n idTokenClaims: object;\n jwks: object;\n}\n\n/**\n * Interface for Handlers that are hooked in to \n * validate tokens.\n */\nexport interface ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n validateAtHash(validationParams: ValidationParams): boolean; \n} \n\n/**\n * This abstract implementation of ValidationHandler already implements\n * the method validateAtHash. However, to make use of it,\n * you have to override the method calcHash.\n*/\nexport abstract class AbstractValidationHandler implements ValidationHandler {\n \n /**\n * Validates the signature of an id_token.\n */\n abstract validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */ \n validateAtHash(params: ValidationParams): boolean {\n \n let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n var tokenHash = this.calcHash(params.accessToken, hashAlg); //sha256(accessToken, { asString: true });\n \n var leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n \n var tokenHashBase64 = btoa(leftMostHalf);\n\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n var claimsAtHash = params.idTokenClaims['at_hash'].replace(/=/g, \"\");\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n\n if (atHash != claimsAtHash) {\n console.error(\"exptected at_hash: \" + atHash); \n console.error(\"actual at_hash: \" + claimsAtHash);\n }\n \n return (atHash == claimsAtHash);\n }\n\n /**\n * Infers the name of the hash algorithm to use\n * from the alg field of an id_token.\n * \n * @param jwtHeader the id_token's parsed header\n */\n protected inferHashAlgorithm(jwtHeader: object): string {\n let alg: string = jwtHeader['alg'];\n\n if (!alg.match(/^.S[0-9]{3}$/)) {\n throw new Error('Algorithm not supported: ' + alg);\n }\n\n return 'sha' + alg.substr(2);\n }\n\n /**\n * Calculates the hash for the passed value by using\n * the passed hash algorithm.\n * \n * @param valueToHash \n * @param algorithm \n */\n protected abstract calcHash(valueToHash: string, algorithm: string): string;\n \n\n\n}\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwksValidationHandler.html":{"url":"classes/JwksValidationHandler.html","title":"class - JwksValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n JwksValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/jwks-validation-handler.ts\n \n\n \n Description\n \n \n Validates the signature of an id_token against one\nof the keys of an JSON Web Key Set (jwks).\nThis jwks can be provided by the discovery document.\n\n \n\n \n Extends\n \n \n AbstractValidationHandler\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n allowedAlgorithms\n \n \n gracePeriodInSec\n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n calcHash\n \n \n toByteArrayAsString\n \n \n validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n calcHash\n \n \n \n \n calcHash(valueToHash: string, algorithm: string)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:71\n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n toByteArrayAsString\n \n \n \n \n toByteArrayAsString(hexString: string)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:78\n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n validateSignature(params: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:25\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n allowedAlgorithms\n \n \n \n \n allowedAlgorithms: string[]\n \n \n \n \n \n Type : string[]\n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:17\n \n \n \n \n \n Allowed algorithms\n \n \n \n \n \n \n \n \n \n \n \n gracePeriodInSec\n \n \n \n \n gracePeriodInSec: number\n \n \n \n \n \n Type : number\n \n \n \n \n \n Default value : 600\n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:23\n \n \n \n \n \n Time period in seconds the timestamp in the signature can\n differ from the current time.\n \n \n \n \n \n \n \n \n\n\n \n import { ValidationHandler, AbstractValidationHandler, ValidationParams } from \"./validation-handler\";\n\ndeclare var require: any;\nlet rs = require('jsrsasign');\n\n/**\n * Validates the signature of an id_token against one\n * of the keys of an JSON Web Key Set (jwks).\n * \n * This jwks can be provided by the discovery document.\n*/\nexport class JwksValidationHandler extends AbstractValidationHandler {\n \n /**\n * Allowed algorithms\n */\n allowedAlgorithms: string[] = ['HS256', 'HS384', 'HS512', 'RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'PS256', 'PS384', 'PS512']\n \n /**\n * Time period in seconds the timestamp in the signature can\n * differ from the current time.\n */\n gracePeriodInSec: number = 600;\n\n validateSignature(params: ValidationParams): Promise {\n if (!params.idToken) throw new Error('Parameter idToken expected!');\n if (!params.idTokenHeader) throw new Error('Parameter idTokenHandler expected.');\n if (!params.jwks) throw new Error('Parameter jwks expected!');\n \n if (!params.jwks['keys'] || !Array.isArray(params.jwks['keys']) || params.jwks['keys'].length == 0) {\n throw new Error('Array keys in jwks missing!');\n }\n\n let kid: string = params.idTokenHeader['kid'];\n let keys: object[] = params.jwks['keys'];\n let key: object;\n \n if (!kid && params.jwks['keys'].length > 1) {\n let error = 'Multiple keys but no kid in token!';\n console.error(error);\n return Promise.reject(error);\n }\n else if (!kid) {\n key = params.jwks['keys'][0];\n }\n else {\n key = keys.find(k => k['kid'] == kid && k['use'] == 'sig');\n }\n\n if (!key) {\n let error = 'expected key not found in property jwks. '\n + 'This property is most likely loaded with the '\n + 'discovery document. '\n + 'Expected key id (kid): ' + kid;\n \n console.error(error);\n return Promise.reject(error);\n }\n \n let keyObj = rs.KEYUTIL.getKey(key);\n let isValid = rs.KJUR.jws.JWS.verifyJWT(params.idToken, keyObj, { alg: this.allowedAlgorithms, gracePeriod: this.gracePeriodInSec });\n \n if (isValid) {\n return Promise.resolve();\n }\n else {\n return Promise.reject('Signature not valid');\n }\n }\n\n calcHash(valueToHash: string, algorithm: string): string {\n let hashAlg = new rs.KJUR.crypto.MessageDigest({alg: algorithm});\n let result = hashAlg.digestString(valueToHash);\n let byteArrayAsString = this.toByteArrayAsString(result);\n return byteArrayAsString;\n }\n\n toByteArrayAsString(hexString: string) {\n let result: string = \"\";\n for(let i=0; i\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginOptions.html":{"url":"classes/LoginOptions.html","title":"class - LoginOptions","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n LoginOptions\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Additional options that can be passt to tryLogin.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n customHashFragment\n \n \n onLoginError\n \n \n onTokenReceived\n \n \n validationHandler\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n customHashFragment\n \n \n \n \n customHashFragment: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:33\n \n \n \n \n \n A custom hash fragment to be used instead of the\n actual one. This is used for silent refreshes, to \n pass the iframes hash fragment to this method.\n \n \n \n \n \n \n \n \n \n \n \n onLoginError\n \n \n \n \n onLoginError: function\n \n \n \n \n \n Type : function\n \n \n \n \n \n Defined in src/types.ts:26\n \n \n \n \n \n Called when tryLogin detects that the auth server\n included an error message into the hash fragment.\n Deprecated: Use property events on OAuthService instead.\n \n \n \n \n \n \n \n \n \n \n \n onTokenReceived\n \n \n \n \n onTokenReceived: function\n \n \n \n \n \n Type : function\n \n \n \n \n \n Defined in src/types.ts:12\n \n \n \n \n \n Is called, after a token has been received and \n successfully validated.\n Deprecated: Use property events on OAuthService instead.\n \n \n \n \n \n \n \n \n \n \n \n validationHandler\n \n \n \n \n validationHandler: function\n \n \n \n \n \n Type : function\n \n \n \n \n \n Defined in src/types.ts:18\n \n \n \n \n \n Hook, to validate the received tokens.\n Deprecated: Use property tokenValidationHandler on OAuthService instead.\n \n \n \n \n \n \n \n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NullValidationHandler.html":{"url":"classes/NullValidationHandler.html","title":"class - NullValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n NullValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/null-validation-handler.ts\n \n\n \n Description\n \n \n A validation handler that isn't validating nothing.\nCan be used to skip validation (on your own risk).\n\n \n\n\n \n Implements\n \n \n ValidationHandler\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n \n \n validateAtHash(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/null-validation-handler.ts:11\n \n \n \n \n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n validateSignature(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/null-validation-handler.ts:8\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ValidationHandler, AbstractValidationHandler, ValidationParams } from \"./validation-handler\";\n\n/**\n * A validation handler that isn't validating nothing.\n * Can be used to skip validation (on your own risk).\n */\nexport class NullValidationHandler implements ValidationHandler {\n validateSignature(validationParams: ValidationParams): Promise {\n return Promise.resolve(null);\n }\n validateAtHash(validationParams: ValidationParams): boolean {\n return true;\n }\n}\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthErrorEvent.html":{"url":"classes/OAuthErrorEvent.html","title":"class - OAuthErrorEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthErrorEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n \n Extends\n \n \n OAuthEvent\n \n\n\n\n\n \n Constructor\n \n \n \n \n constructor(type: EventType, reason: object, params: object)\n \n \n \n \n Defined in src/events.ts:39\n \n \n \n \n \n \n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthEvent.html":{"url":"classes/OAuthEvent.html","title":"class - OAuthEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n\n\n\n\n \n Constructor\n \n \n \n \n constructor(type: EventType)\n \n \n \n \n Defined in src/events.ts:21\n \n \n \n \n \n \n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthInfoEvent.html":{"url":"classes/OAuthInfoEvent.html","title":"class - OAuthInfoEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthInfoEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n \n Extends\n \n \n OAuthEvent\n \n\n\n\n\n \n Constructor\n \n \n \n \n constructor(type: EventType, info: any)\n \n \n \n \n Defined in src/events.ts:30\n \n \n \n \n \n \n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthSuccessEvent.html":{"url":"classes/OAuthSuccessEvent.html","title":"class - OAuthSuccessEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthSuccessEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n \n Extends\n \n \n OAuthEvent\n \n\n\n\n\n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReceivedTokens.html":{"url":"classes/ReceivedTokens.html","title":"class - ReceivedTokens","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n ReceivedTokens\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Represents the received tokens, the received state\nand the parsed claims from the id-token.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idClaims\n \n \n idToken\n \n \n state\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n \n \n accessToken: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:54\n \n \n \n \n \n \n \n \n \n \n \n idClaims\n \n \n \n \n idClaims: object\n \n \n \n \n \n Type : object\n \n \n \n \n \n Defined in src/types.ts:55\n \n \n \n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n idToken: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:53\n \n \n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n state: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:56\n \n \n \n \n \n \n \n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OAuthStorage.html":{"url":"interfaces/OAuthStorage.html","title":"interface - OAuthStorage","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n OAuthStorage\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Defines a simple storage that can be used for \nstoring the tokens at client side.\nIs compatible to localStorage and sessionStorage,\nbut you can also create your own implementations.\n\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n getItem\n \n \n removeItem\n \n \n setItem\n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n getItem\n \n \n \n \n getItem(key: string)\n \n \n \n \n \n \n Defined in src/types.ts:43\n \n \n \n \n \n \n \n Returns : string|\n \n \n \n \n \n \n \n \n \n \n \n removeItem\n \n \n \n \n removeItem(key: string)\n \n \n \n \n \n \n Defined in src/types.ts:44\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n setItem\n \n \n \n \n setItem(key: string, data: string)\n \n \n \n \n \n \n Defined in src/types.ts:45\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n\n\n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ParsedIdToken.html":{"url":"interfaces/ParsedIdToken.html","title":"interface - ParsedIdToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n ParsedIdToken\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Represents the parsed and validated id_token.\n\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n idToken\n \n \n idTokenClaims\n \n \n idTokenClaimsJson\n \n \n idTokenExpiresAt\n \n \n idTokenHeader\n \n \n idTokenHeaderJson\n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n idToken\n \n \n \n \n idToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/types.ts:63\n \n \n\n \n \n \n \n \n \n \n idTokenClaims\n \n \n \n \n idTokenClaims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/types.ts:64\n \n \n\n \n \n \n \n \n \n \n idTokenClaimsJson\n \n \n \n \n idTokenClaimsJson: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/types.ts:66\n \n \n\n \n \n \n \n \n \n \n idTokenExpiresAt\n \n \n \n \n idTokenExpiresAt: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n \n \n Defined in src/types.ts:68\n \n \n\n \n \n \n \n \n \n \n idTokenHeader\n \n \n \n \n idTokenHeader: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/types.ts:65\n \n \n\n \n \n \n \n \n \n \n idTokenHeaderJson\n \n \n \n \n idTokenHeaderJson: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/types.ts:67\n \n \n\n \n \n \n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ValidationHandler.html":{"url":"interfaces/ValidationHandler.html","title":"interface - ValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n ValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/validation-handler.ts\n \n\n \n Description\n \n \n Interface for Handlers that are hooked in to \nvalidate tokens.\n\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n validateSignature\n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n \n \n validateAtHash(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:23\n \n \n \n \n \n Validates the at_hash in an id_token against the received access_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n validateSignature(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:18\n \n \n \n \n \n Validates the signature of an id_token.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n\n\n \n export interface ValidationParams {\n idToken: string;\n accessToken: string;\n idTokenHeader: object;\n idTokenClaims: object;\n jwks: object;\n}\n\n/**\n * Interface for Handlers that are hooked in to \n * validate tokens.\n */\nexport interface ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n validateAtHash(validationParams: ValidationParams): boolean; \n} \n\n/**\n * This abstract implementation of ValidationHandler already implements\n * the method validateAtHash. However, to make use of it,\n * you have to override the method calcHash.\n*/\nexport abstract class AbstractValidationHandler implements ValidationHandler {\n \n /**\n * Validates the signature of an id_token.\n */\n abstract validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */ \n validateAtHash(params: ValidationParams): boolean {\n \n let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n var tokenHash = this.calcHash(params.accessToken, hashAlg); //sha256(accessToken, { asString: true });\n \n var leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n \n var tokenHashBase64 = btoa(leftMostHalf);\n\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n var claimsAtHash = params.idTokenClaims['at_hash'].replace(/=/g, \"\");\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n\n if (atHash != claimsAtHash) {\n console.error(\"exptected at_hash: \" + atHash); \n console.error(\"actual at_hash: \" + claimsAtHash);\n }\n \n return (atHash == claimsAtHash);\n }\n\n /**\n * Infers the name of the hash algorithm to use\n * from the alg field of an id_token.\n * \n * @param jwtHeader the id_token's parsed header\n */\n protected inferHashAlgorithm(jwtHeader: object): string {\n let alg: string = jwtHeader['alg'];\n\n if (!alg.match(/^.S[0-9]{3}$/)) {\n throw new Error('Algorithm not supported: ' + alg);\n }\n\n return 'sha' + alg.substr(2);\n }\n\n /**\n * Calculates the hash for the passed value by using\n * the passed hash algorithm.\n * \n * @param valueToHash \n * @param algorithm \n */\n protected abstract calcHash(valueToHash: string, algorithm: string): string;\n \n\n\n}\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ValidationParams.html":{"url":"interfaces/ValidationParams.html","title":"interface - ValidationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n ValidationParams\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/validation-handler.ts\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n idTokenClaims\n \n \n idTokenHeader\n \n \n jwks\n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessToken\n \n \n \n \n accessToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:3\n \n \n\n \n \n \n \n \n \n \n idToken\n \n \n \n \n idToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:2\n \n \n\n \n \n \n \n \n \n \n idTokenClaims\n \n \n \n \n idTokenClaims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:5\n \n \n\n \n \n \n \n \n \n \n idTokenHeader\n \n \n \n \n idTokenHeader: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:4\n \n \n\n \n \n \n \n \n \n \n jwks\n \n \n \n \n jwks: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:6\n \n \n\n \n \n \n \n\n\n \n export interface ValidationParams {\n idToken: string;\n accessToken: string;\n idTokenHeader: object;\n idTokenClaims: object;\n jwks: object;\n}\n\n/**\n * Interface for Handlers that are hooked in to \n * validate tokens.\n */\nexport interface ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n validateAtHash(validationParams: ValidationParams): boolean; \n} \n\n/**\n * This abstract implementation of ValidationHandler already implements\n * the method validateAtHash. However, to make use of it,\n * you have to override the method calcHash.\n*/\nexport abstract class AbstractValidationHandler implements ValidationHandler {\n \n /**\n * Validates the signature of an id_token.\n */\n abstract validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */ \n validateAtHash(params: ValidationParams): boolean {\n \n let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n var tokenHash = this.calcHash(params.accessToken, hashAlg); //sha256(accessToken, { asString: true });\n \n var leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n \n var tokenHashBase64 = btoa(leftMostHalf);\n\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n var claimsAtHash = params.idTokenClaims['at_hash'].replace(/=/g, \"\");\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n\n if (atHash != claimsAtHash) {\n console.error(\"exptected at_hash: \" + atHash); \n console.error(\"actual at_hash: \" + claimsAtHash);\n }\n \n return (atHash == claimsAtHash);\n }\n\n /**\n * Infers the name of the hash algorithm to use\n * from the alg field of an id_token.\n * \n * @param jwtHeader the id_token's parsed header\n */\n protected inferHashAlgorithm(jwtHeader: object): string {\n let alg: string = jwtHeader['alg'];\n\n if (!alg.match(/^.S[0-9]{3}$/)) {\n throw new Error('Algorithm not supported: ' + alg);\n }\n\n return 'sha' + alg.substr(2);\n }\n\n /**\n * Calculates the hash for the passed value by using\n * the passed hash algorithm.\n * \n * @param valueToHash \n * @param algorithm \n */\n protected abstract calcHash(valueToHash: string, algorithm: string): string;\n \n\n\n}\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous - Variables\n\n\n src/token-validation/jwks-validation-handler.ts\n \n \n \n \n \n \n require\n \n \n \n \n require: any\n \n \n \n \n \n Type : any\n \n \n \n \n \n \n \n \n \n \n \n \n rs\n \n \n \n \n rs: \n \n \n \n \n \n \n \n \n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous - Type aliases\n\n\n src/events.ts\n \n \n \n \n \n EventType\n \n \n \n \n EventType: ||||||||||||||||\n \n \n \n \n \n \n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"1.0.0","fields":[{"name":"title","boost":10},{"name":"body","boost":1}],"ref":"url","tokenizer":"default","documentStore":{"store":{"index.html":["0","0.33","0.5","1","2","20","20.000","4","4202","4202]/index.html","4202]/silent","4711","4th","75","8089|4200","access","access_token","add","addit","adjust","against","allow","alreadi","although","angular","angular/cor","angular2","anoth","api","app","app/home.html","appcompon","applic","appmodul","approach","approutermodul","asset","assum","at_hash","auth","author","automat","avoid","back","backend","base","bearer","befor","below","between","bootstrap","break","browser","build","bundl","call","callback","case","catch(err","chang","cite","claim","claims.given_nam","class","cli","cli.json","client","clientid","code","commonj","commun","compens","compon","configu","configur","connect","consol","console.debug(\"log","console.debug('given_nam","console.debug('oauth/oidc","console.debug('ok","console.debug('refresh","console.debug('st","console.debug(context","console.error('refresh","constructor","constructor(priv","contain","context","cooki","copi","core","credenti","credit","current","custom","customqueryparam","data","decid","declar","default","defin","demand","demo","demonstr","describ","design","directli","directori","disabl","discoveri","document","don't","dosn't","dummi","dummyclientsecret","e","e.typ","eas","email","enabl","endpoint","endpont","enter","environ","err));when","error","event","exampl","expir","explicitli","export","fact","factor","fail","fals","featur","fetch","file","filter(","fire","first","flow","follow","form","former","fragment","further","g","geheim","geheim').then","geheim').then((resp","gener","get","give","half","hallo","hash","hashlocationstrategi","hashstrategi","header","here","hidden","his/her","home","homecompon","hook","http","http://localhost:8080","http://localhost:8080/#/homeev","httpmodul","https://github.com/manfredsteyer/angular","https://manfredsteyer.github.io/angular","https://steyer","id","id_token","ident","identityserv","ifram","implcit","implement","implicit","import","index","index.html","info","info.st","initi","initialnavig","initimplicitflow","instanc","instead","interact","interfac","isn't","issu","issuer'","java","job","jsrasign","jwk","jwksvalidationhandl","jwksvalidationhandler();in","keep","key","keycloak","kick","known","known/openid","later","leverag","lib","librari","life","line","load","local","localhost:[8080","localstorag","location.origin","locationstrategi","log","loggin","login","logoff","logout","main","make","manual","match","max/geheim","mean","mention","method","mind","modul","more","msec","name","navig","net","net/.net","new","ngmodul","note","null","nullvalidationhandl","oauth","oauth2","oauthmodul","oauthmodule.forroot","oauthservic","observ","offline_access","oidc","oidc/angular","oidc/doc","ok","on","ontokenreceiv","openid","option","otherparam","otherwis","out","output","over","overrid","owner","packag","page","paramet","parent.postmessage(location.hash","pars","pass","password","pathlocationstrategi","perform","permiss","pleas","preserv","prevent","profil","properti","provid","public","purpos","queri","quit","read","receiv","redhad","redhat'","redirect","redirecturi","refresh","refresh.html","refresh.html\";pleas","regard","regist","registerd","relax","relay","request","requirehttp","resourc","respond","result","return","root","rout","router","routermodule.forroot(app_rout","rule","run","runn","safe","sampl","scaffold","scope","second","secreat","secret","section","see","send","sens","server","server'","server.azurewebsites.net/ident","server.azurewebsites.net/identity/.wel","server.azurewebsites.net/identity/connect/author","server.azurewebsites.net/identity/connect/endsess","server.azurewebsites.net/identity/connect/token","server.azurewebsites.net/identity/connect/userinfo","servic","sessionstorag","set","setstorag","setup","short","show","side","sign","signatur","silent","silentrefresh","siletrefreshtimeout","similar","singl","skip","solut","somevalu","sourc","spa","spa'","spec","specif","standard","start","startup","state","still","storag","strictdiscoverydocumentvalid","subscribe(","succeed","success","successfulli","such","support","sure","task","templateurl","tenant","test","testen","that'","then(info","third","this.oauthservice.clientid","this.oauthservice.customqueryparam","this.oauthservice.dummyclientsecret","this.oauthservice.events.subscribe(","this.oauthservice.fetchtokenusingpasswordflow('max","this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max","this.oauthservice.getaccesstoken","this.oauthservice.getidentityclaim","this.oauthservice.initimplicitflow","this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');aft","this.oauthservice.issu","this.oauthservice.loaddiscoverydocument().then","this.oauthservice.loaddiscoverydocument(url).then","this.oauthservice.loaduserprofil","this.oauthservice.loginurl","this.oauthservice.logout","this.oauthservice.logouturl","this.oauthservice.redirecturi","this.oauthservice.refreshtoken().then","this.oauthservice.scop","this.oauthservice.setstorage(sessionstorag","this.oauthservice.silentrefresh","this.oauthservice.silentrefreshredirecturi","this.oauthservice.tokenendpoint","this.oauthservice.tokenvalidationhandl","this.oauthservice.trylogin","this.oauthservice.trylogin().then(_","this.oauthservice.userinfoendpoint","this.router.navig","three","time","timeout","timeoutfactor","timespan","togeht","token","token'","token(","token_expir","tokenvalid","transmit","tri","trigger","true","trylogin","ts","two","type","up","uri","url","us","usecas","usehash","user","user'","userinfo","username/password","username/passwort","valid","validationhandl","valu","var","version","via","voucher","want","warn","we'v","web","webpack","well","window.location.origin","within","without","zum"],"overview.html":["1","2","4","9","bootstrap","class","declar","depend","export","inject","interfac","legend","match","modul","out","overview","provid","reset","result","zoom"],"license.html":["2017","abov","action","and/or","aris","associ","author","c","charg","claim","condit","connect","contract","copi","copyright","damag","deal","distribut","document","event","express","file","fit","follow","free","furnish","get","grant","herebi","holder","impli","includ","kind","liabil","liabl","licens","limit","manfr","match","merchant","merg","modifi","noninfring","notic","obtain","otherwis","out","particular","permiss","permit","person","portion","provid","publish","purpos","restrict","result","right","sell","shall","softwar","start","steyer","subject","sublicens","substanti","tort","us","warranti","whether","without"],"modules.html":["brows","browser","match","modul","oauthmodul","result","support","svg"],"modules/OAuthModule.html":["angular/common","angular/cor","class","commonmodul","declar","export","file","forroot","handler","helper.servic","import","info","match","modul","modulewithprovid","ngmodul","oauth","oauthmodul","oauthservic","provid","result","return","rxjs/add/observable/of","rxjs/add/observable/rac","rxjs/add/operator/delay","rxjs/add/operator/do","rxjs/add/operator/filt","rxjs/add/operator/first","rxjs/add/operator/map","rxjs/add/operator/publish","rxjs/add/operator/topromis","servic","sourc","src/index.t","static","token","url","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid"],"injectables/OAuthService.html":["0","0.75","1","10","1000","1970","2","20","4","60","75","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","addit","additionalst","allow","angular","angular/cor","angular/http","anoth","api","append","application/x","arg","around","array","array.isarray(claims.aud","at_hash","atob(claimsbase64","atob(headerbase64","audienc","auth","authorization_endpoint","authorizationhead","b/c","base64data","base64data.length","bearer","befor","boolean","both","bring","browser'","calctimeout","calctimeout(expir","callontokenreceivedifexist","callontokenreceivedifexists(opt","case","catch(err","catch(error","catch(reason","check","checkathash","checkathash(param","checksignatur","checksignature(param","claim","claims.aud","claims.aud.every(v","claims.aud.join","claims.exp","claims.iat","claims.iss","claims.nonc","claims.sub","claims['at_hash","claimsbase64","claimsjson","class","clear","clearaccesstokentim","clearhashafterlogin","clearidtokentim","client","client'","client_id","clientid","configur","connect","consol","console.debug.apply(consol","console.error","console.error(\"error","console.error('error","console.error(err","console.error(error","console.error(reason","console.warn('no","console.warn(err","constructor","constructor(http","createandsavenonc","createloginurl","createloginurl(st","createnonc","current","custom","customhashfrag","customqueryparam","customredirecturi","date","date.now","debug","debug(...arg","decodeuricomponent(parts[\"st","default","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","demand","deprec","descript","dicoveri","discoveri","discoverydocumentload","discoverydocumentloadedsubject","disoveri","display","do","do(e","doc","doc.authorization_endpoint","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.silentrefreshiframenam","domain","don't","dummyclientsecret","dure","e","e.data","e.typ","encodeuricomponent(id_token","encodeuricomponent(loginhint","encodeuricomponent(nonc","encodeuricomponent(redirecturi","encodeuricomponent(scop","encodeuricomponent(st","encodeuricomponent(that.clientid","encodeuricomponent(that.resourc","encodeuricomponent(that.responsetyp","encodeuricomponent(this.customqueryparams[key","encodeuricomponent(this.postlogoutredirecturi","end_session_endpoint","endpoint","enum","err","error","error(\"can","error(\"createnonc","error('eith","error('loginurl","error('sil","error('tokenendpoint","error('userinfoendpoint","errors.length","errors.push('everi","errors.push('http","event","eventlisten","eventssubject","eventtyp","exchang","exist","existingclaim","existingclaims['sub","existingifram","expect","expectedprefix","expir","expiresat","expiresatmsec","expiresin","expiresinmillisecond","export","expos","fail","fals","far","fetchtokenusingpasswordflow","fetchtokenusingpasswordflow(usernam","fetchtokenusingpasswordflowandloaduserprofil","fetchtokenusingpasswordflowandloaduserprofile(usernam","file","find","flow","for(let","form","fragment","full","fullurl","getaccesstoken","getaccesstokenexpir","getidentityclaim","getidtoken","getidtokenexpir","getkeycount","good","granttypessupport","handleloginerror","handleloginerror(opt","handler","happen","hash","hasvalidaccesstoken","hasvalididtoken","header","header.kid","headerbase64","headerjson","headers.set('author","headers.set('cont","helper.servic","here","hidden","http","https://tools.ietf.org/html/rfc7517","httpscheck","iat","id","id_token","id_token_hint","idclaim","idtoken","idtoken.idtoken","idtoken.idtokenclaimsjson","idtoken.idtokenexpiresat","idtoken.split","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","idtokentimeoutsubscript","ifram","iframe.id","iframe.setattribute('src","iframe.style.vis","ignor","implement","implicit","import","index","infer","info","inform","initi","initimplicitflow","initimplicitflow(additionalst","inject","instanceof","instead","intern","invalid","issuedatmsec","issuer","issuer'","issuercheck","json","json.parse(claim","json.parse(claimsjson","json.parse(headerjson","json.stringify(doc","jwk","jwks_uri","jwksuri","key","kid","known/openid","lcurl","lcurl.match(/^http:\\/\\/localhost","lcurl.startswith('http","life","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loadjwk","loaduserprofil","locat","location.hash","location.href","log","login","login_hint","loginhint","loginhint).then(funct","loginopt","loginurl","logout","logout(noredirecttologouturl","logouturl","make","manual","map","map(","map(r","match","messag","messageev","method","millisecond","multipl","name","need","new","nonc","nonceinst","noredirecttologouturl","now","now.gettim","null","nullvalidationhandl","number","oauth","oauth2","oautherrorev","oautherrorevent('discovery_document_load_error","oautherrorevent('discovery_document_validation_error","oautherrorevent('invalid_nonce_in_st","oautherrorevent('jwks_load_error","oautherrorevent('silent_refresh_error","oautherrorevent('silent_refresh_timeout","oautherrorevent('token_error","oautherrorevent('token_refresh_error","oautherrorevent('token_validation_error","oautherrorevent('user_profile_load_error","oautherrorevent).first","oauthev","oauthinfoev","oauthinfoevent('token_expir","oauthservic","oauthstorag","oauthsuccessev","oauthsuccessevent('discovery_document_load","oauthsuccessevent('silently_refresh","oauthsuccessevent('token_receiv","oauthsuccessevent('token_refresh","oauthsuccessevent('user_profile_load","object","object.assign","object.getownpropertynames(this.customqueryparam","observ","observable.of(new","of(new","oidc","oidc.\\n","onloginerror","ontokenreceiv","openid","oper","optin","option","options.customhashfrag","options.disableoauth2statecheck","options.onloginerror","options.onloginerror(part","options.ontokenreceiv","options.ontokenreceived(tokenparam","options.validationhandl","order","otherwis","out","padbase64","padbase64(base64data","param","paramet","pars","parsedidtoken","parseint(expiresat","parseint(this._storage.getitem(\"expires_at","parseint(this._storage.getitem(\"id_token_expires_at","part","parts[\"access_token","parts[\"error","parts[\"id_token","parts['expires_in","pass","password","passwort","perform","platform","plattform","possibl","post_logout_redirect_uri","postlogoutredirecturi","prefixedmessag","prefixedmessage.startswith(expectedprefix","prefixedmessage.substr(expectedprefix.length","privat","processidtoken","processidtoken(idtoken","profil","promis","promise((resolv","promise.reject('eith","promise.reject(err","promise.reject(ev","promise.resolv","promise.resolve(nul","properti","protect","provid","public","queri","question","r.json()).subscrib","race([error","rais","reason","receiv","receivedfirsttoken","redirect","redirect_uri","redirecturi","redirecturi).then(url","refresh","refresh_token","refreshtoken","regist","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","remoteonli","remov","removesilentrefresheventlisten","request","requestaccesstoken","requir","requirehttp","resolve(doc","resolve(jwk","resolve(nul","resolve(result","resolve(tokenrespons","resourc","response_typ","responsetyp","result","result.idtoken","result.idtokenclaim","return","rng","rngurl","rxjs/observ","rxjs/subject","rxjs/subscript","savednonc","scope","scope.match(/(^|\\s)openid($|\\","search","search.set('client_id","search.set('client_secret","search.set('grant_typ","search.set('password","search.set('refresh_token","search.set('scop","search.set('usernam","search.tostr","second","secreat","secur","see","seperationchar","server","server'","servic","service.t","service.ts:100","service.ts:105","service.ts:107","service.ts:1088","service.ts:1097","service.ts:1101","service.ts:1111","service.ts:1119","service.ts:1127","service.ts:113","service.ts:1134","service.ts:1152","service.ts:1171","service.ts:1181","service.ts:119","service.ts:1215","service.ts:1223","service.ts:1243","service.ts:1252","service.ts:129","service.ts:135","service.ts:143","service.ts:149","service.ts:156","service.ts:162","service.ts:169","service.ts:175","service.ts:177","service.ts:183","service.ts:184","service.ts:186","service.ts:187","service.ts:189","service.ts:190","service.ts:197","service.ts:199","service.ts:200","service.ts:202","service.ts:218","service.ts:225","service.ts:23","service.ts:231","service.ts:248","service.ts:265","service.ts:271","service.ts:28","service.ts:296","service.ts:308","service.ts:319","service.ts:325","service.ts:331","service.ts:34","service.ts:345","service.ts:358","service.ts:40","service.ts:410","service.ts:433","service.ts:45","service.ts:47","service.ts:48","service.ts:492","service.ts:505","service.ts:54","service.ts:550","service.ts:595","service.ts:60","service.ts:61","service.ts:633","service.ts:640","service.ts:67","service.ts:679","service.ts:72","service.ts:727","service.ts:77","service.ts:816","service.ts:82","service.ts:831","service.ts:844","service.ts:859","service.ts:869","service.ts:87","service.ts:92","service.ts:94","service.ts:951","service.ts:961","service.ts:967","service.ts:977","sessionstorag","set","setstorag","setstorage(storag","setupaccesstokentim","setupidtokentim","setupsilentrefresheventlisten","setuptim","showdebuginform","shown","side","sign","signatur","silent","silent_refresh_timeout","silently_refreshed').first","silentrefresh","silentrefreshiframenam","silentrefreshmessageprefix","silentrefreshpostmessageeventlisten","silentrefreshredirecturi","silentrefreshshowifram","siletrefreshtimeout","solut","sourc","spec","src/oauth","standard","start","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","storag","store","storeaccesstokenrespons","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","strictdiscoverydocumentvalid","stricter","string","sub","subject","subscribe(","subscript","success","support","sure","take","taken","tenminutesinmsec","text","that._storage.setitem(\"nonc","that.getaccesstoken","that.getidentityclaim","that.getidtoken","that.loginurl","that.loginurl.indexof","that.oidc","that.resourc","that.scop","that.stat","then(_","then(result","therefor","this._storag","this._storage.getitem(\"access_token","this._storage.getitem(\"expires_at","this._storage.getitem(\"id_token","this._storage.getitem(\"id_token_claims_obj","this._storage.getitem(\"nonc","this._storage.getitem('refresh_token","this._storage.setitem(\"access_token","this._storage.setitem(\"expires_at","this._storage.setitem(\"id_token","this._storage.setitem(\"id_token_claims_obj","this._storage.setitem(\"id_token_expires_at","this._storage.setitem(\"refresh_token","this._storage.setitem('id_token_claims_obj","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.checkathash(validationparam","this.checksignature(validationparams).then(_","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug('error","this.debug('refresh","this.debug('tim","this.debug('tokenrespons","this.debug('userinfo","this.discoverydocumentload","this.discoverydocumentloadedsubject.asobserv","this.discoverydocumentloadedsubject.next(doc","this.dummyclientsecret","this.ev","this.events.filter(","this.eventssubject.asobserv","this.eventssubject.next(","this.eventssubject.next(err","this.eventssubject.next(ev","this.eventssubject.next(new","this.eventssubject.next(result","this.getaccesstoken","this.getaccesstokenexpir","this.getidentityclaim","this.getkeycount","this.granttypessupport","this.handleloginerror(opt","this.hasvalidaccesstoken","this.hasvalididtoken","this.http.get(fullurl).map(r","this.http.get(this.jwksuri).map(r","this.http.get(this.userinfoendpoint","this.http.post(this.tokenendpoint","this.idtokentimeoutsubscript","this.idtokentimeoutsubscription.unsubscrib","this.issu","this.jwk","this.jwks['key","this.jwks['keys'].length","this.jwksuri","this.loadjwk","this.loadjwks().then(_","this.loaduserprofil","this.loginurl","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oidc","this.padbase64(tokenparts[0","this.padbase64(tokenparts[1","this.redirecturi","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.rngurl","this.scop","this.setupaccesstokentim","this.setupidtokentim","this.setupsilentrefresheventlisten","this.setuptim","this.showdebuginform","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.silentrefreshshowifram","this.stat","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.strictdiscoverydocumentvalid","this.timeoutfactor","this.tokenendpoint","this.tokenvalidationhandl","this.tokenvalidationhandler.validatesignature(param","this.trylogin","this.urlhelper.gethashfragmentparam","this.urlhelper.gethashfragmentparams(options.customhashfrag","this.userinfoendpoint","this.validatediscoverydocument(doc","this.validatenonceforaccesstoken(accesstoken","this.validateurlagainstissuer(url","this.validateurlforhttps(fullurl","this.validateurlforhttps(this.loginurl","this.validateurlforhttps(this.tokenendpoint","this.validateurlforhttps(this.userinfoendpoint","this.validateurlforhttps(url","this.validateurlfromdiscoverydocument(doc['authorization_endpoint","this.validateurlfromdiscoverydocument(doc['end_session_endpoint","this.validateurlfromdiscoverydocument(doc['jwks_uri","this.validateurlfromdiscoverydocument(doc['token_endpoint","this.validateurlfromdiscoverydocument(doc['userinfo_endpoint","throw","time","timeout","timeoutfactor","token","token'","token_endpoint","token_expir","token_receiv","token_received').subscribe(_","token_timeout","tokenendpoint","tokenparam","tokenpart","tokenrespons","tokenresponse.expires_in","tokenresponse.refresh_token","tokenvalidationhandl","topromis","transmit","tri","trigger","true","trylogin","trylogin(opt","type","typeof","uri","url","url.tolowercas","url.tolowercase().startswith(this.issuer.tolowercas","urlencod","urlhelp","urlhelperservic","urlsearchparam","us","user","userinfo","userinfo_endpoint","userinfoendpoint","usernam","v","valid","validatediscoverydocu","validatediscoverydocument(doc","validatenonceforaccesstoken","validatenonceforaccesstoken(accesstoken","validateurlagainstissu","validateurlagainstissuer(url","validateurlforhttp","validateurlforhttps(url","validateurlfromdiscoverydocu","validateurlfromdiscoverydocument(url","validation/nul","validation/valid","validationhandl","validationparam","valu","var","via","void","w/o","web","well","whether","window","window.addeventlistener('messag","window.removeeventlistener('messag","without","work","wrong","www"],"injectables/UrlHelperService.html":["0","1","angular/cor","class","customhashfrag","data","decodeuricomponent(hash","defin","escapedkey","escapedvalu","export","file","gethashfragmentparam","gethashfragmentparams(customhashfrag","hash","hash.indexof","hash.substr(1","hash.substr(questionmarkposition+1","helper.service.t","helper.service.ts:29","helper.service.ts:6","import","index","info","inject","key","match","method","null","object","pair","parsequerystr","parsequerystring(querystr","public","querystr","querystring.split","questionmarkposit","result","return","separatorindex","sourc","src/url","string","this.parsequerystring(hash","urlhelperservic","valu","var","window.location.hash"],"classes/AbstractValidationHandler.html":["2","9]{3","_\").replace(/=/g","abstract","abstractvalidationhandl","access_token","accesstoken","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alreadi","asstr","at_hash","athash","boolean","btoa(leftmosthalf","calchash","calchash(valuetohash","calcul","claimsathash","class","console.error(\"actu","console.error(\"exptect","defin","descript","error('algorithm","export","field","file","handler","handler.t","handler.ts:37","handler.ts:42","handler.ts:70","handler.ts:87","hash","hashalg","header","hook","id_token","id_token'","idtoken","idtokenclaim","idtokenhead","implement","index","infer","inferhashalgorithm","inferhashalgorithm(jwthead","info","interfac","jwk","jwtheader","jwtheader['alg","leftmosthalf","loadkey","make","match","method","name","new","object","overrid","param","paramet","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","protect","receiv","replace(/\\//g","result","return","sha","sha256(accesstoken","signatur","sourc","src/token","string","support","this.calchash(params.accesstoken","this.inferhashalgorithm(params.idtokenhead","throw","token","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","true","type","us","valid","validateathash","validateathash(param","validateathash(validationparam","validatesignatur","validatesignature(validationparam","validation/valid","validationhandl","validationparam","valu","valuetohash","var"],"classes/JwksValidationHandler.html":["0","1","600","abstractvalidationhandl","against","alg","alg2kti","alg2kty(alg","algorithm","allow","allowedalgorithm","array.isarray(params.jwks['key","boolean","bytearrayasstr","calchash","calchash(valuetohash","case","class","console.debug('validatesignatur","console.error(error","current","declar","default","defin","descript","differ","discoveri","document","e","ec","error","error('array","error('cannot","error('paramet","es256","es384","expect","export","extend","fals","file","for(let","found","graceperiod","graceperiodinsec","handler","handler.t","handler.ts:107","handler.ts:114","handler.ts:17","handler.ts:23","handler.ts:25","handler.ts:99","hashalg","hashalg.digeststring(valuetohash","header","hs256","hs384","hs512","i=0","id","id_token","idtoken","idtokenhandl","import","index","infer","info","isvalid","json","jwk","jwksvalidationhandl","k['kid","k['kti","k['use","key","keyobj","keys.filter(k","keys.find(k","kid","kti","load","loadkey","match","matchingkey","matchingkeys.length","matchingkeys[0","method","miss","more","new","number","object","on","param","params.idtoken","params.idtokenhead","params.idtokenheader['alg","params.idtokenheader['kid","params.jwk","params.jwks['key","params.jwks['keys'].length","params.loadkey","period","pleas","privat","promis","promise.reject('signatur","promise.reject(error","promise.resolv","properti","provid","ps256","ps384","ps512","r","requir","require('jsrsasign","result","retri","return","rs","rs.keyutil.getkey(key","rs.kjur.crypto.messagedigest({alg","rs.kjur.jws.jws.verifyjwt(params.idtoken","rs256","rs384","rs512","rsa","second","set","sig","signatur","sourc","specifi","src/token","string","switch(alg.charat(0","then(_","then(key","this.alg2kty(alg","this.allowedalgorithm","this.graceperiodinsec","this.tobytearrayasstring(result","this.validatesignature(param","throw","time","timestamp","tobytearrayasstr","tobytearrayasstring(hexstr","true","type","valid","validatesignatur","validatesignature(param","validation/jwk","validationhandl","validationparam","valu","var","web"],"classes/LoginOptions.html":["accesstoken","actual","addit","attack","auth","avoid","best","boolean","call","check","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","disabl","disableoauth2statecheck","do","error","event","export","file","fragment","function","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","nonc","null","number","oauth2","oauthservic","oauthstorag","object","oidc","on","onloginerror","ontokenreceiv","option","param","pars","parsedidtoken","pass","passt","practic","promis","properti","receiv","receivedtoken","refresh","removeitem(key","repres","result","secur","server","sessionstorag","set","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:12","src/types.ts:18","src/types.ts:26","src/types.ts:33","src/types.ts:43","state","storag","store","string","successfulli","token","tokenvalidationhandl","true","trylogin","type","us","valid","validationhandl","void"],"classes/NullValidationHandler.html":["abstractvalidationhandl","boolean","class","defin","descript","export","file","handler","handler.t","handler.ts:11","handler.ts:8","implement","import","index","info","isn't","match","method","noth","nullvalidationhandl","promis","promise.resolve(nul","result","return","risk","skip","sourc","src/token","true","us","valid","validateathash","validateathash(validationparam","validatesignatur","validatesignature(validationparam","validation/nul","validationhandl","validationparam"],"classes/OAuthErrorEvent.html":["abstract","class","constructor","constructor(typ","defin","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:39","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/OAuthEvent.html":["abstract","class","constructor","constructor(typ","defin","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:21","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/OAuthInfoEvent.html":["abstract","class","constructor","constructor(typ","defin","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:30","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/OAuthSuccessEvent.html":["abstract","class","constructor","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","eventtyp","export","extend","file","info","invalid_nonce_in_st","jwks_load_error","match","null","oautherrorev","oauthev","oauthinfoev","oauthsuccessev","object","param","readonli","reason","received_first_token","result","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","super(typ","token_error","token_expir","token_receiv","token_refresh","token_refresh_error","token_validation_error","type","user_profile_load","user_profile_load_error"],"classes/ReceivedTokens.html":["accesstoken","actual","attack","auth","avoid","best","boolean","call","check","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","disabl","disableoauth2statecheck","do","error","event","export","file","fragment","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","nonc","null","number","oauth2","oauthservic","oauthstorag","object","oidc","on","onloginerror","ontokenreceiv","param","pars","parsedidtoken","pass","practic","promis","properti","receiv","receivedtoken","refresh","removeitem(key","repres","result","secur","server","sessionstorag","set","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:63","src/types.ts:64","src/types.ts:65","src/types.ts:66","state","storag","store","string","successfulli","token","tokenvalidationhandl","true","trylogin","type","us","valid","validationhandl","void"],"interfaces/OAuthStorage.html":["accesstoken","actual","attack","auth","avoid","best","boolean","call","check","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","disabl","disableoauth2statecheck","do","error","event","export","file","fragment","getitem","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","nonc","null","number","oauth2","oauthservic","oauthstorag","object","oidc","on","onloginerror","ontokenreceiv","param","pars","parsedidtoken","pass","practic","promis","properti","receiv","receivedtoken","refresh","removeitem","removeitem(key","repres","result","return","secur","server","sessionstorag","set","setitem","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:53","src/types.ts:54","src/types.ts:55","state","storag","store","string","successfulli","token","tokenvalidationhandl","true","trylogin","us","valid","validationhandl","void"],"interfaces/ParsedIdToken.html":["accesstoken","actual","attack","auth","avoid","best","boolean","call","check","claim","class","client","compat","creat","custom","customhashfrag","data","defin","deprec","descript","detect","disabl","disableoauth2statecheck","do","error","event","export","file","fragment","getitem(key","hash","hook","id","id_token","idclaim","idtoken","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhead","idtokenheaderjson","ifram","implement","includ","index","info","instead","interfac","localstorag","loginopt","match","messag","method","nonc","null","number","oauth2","oauthservic","oauthstorag","object","oidc","on","onloginerror","ontokenreceiv","param","pars","parsedidtoken","pass","practic","promis","properti","receiv","receivedtoken","refresh","removeitem(key","repres","result","secur","server","sessionstorag","set","setitem(key","side","silent","simpl","sourc","src/types.t","src/types.ts:73","src/types.ts:74","src/types.ts:75","src/types.ts:76","src/types.ts:77","src/types.ts:78","state","storag","store","string","successfulli","token","tokenvalidationhandl","true","trylogin","type","us","valid","validationhandl","void"],"interfaces/ValidationHandler.html":["2","9]{3","_\").replace(/=/g","abstract","abstractvalidationhandl","access_token","accesstoken","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alreadi","asstr","at_hash","athash","boolean","btoa(leftmosthalf","calchash","calchash(valuetohash","calcul","claimsathash","class","console.error(\"actu","console.error(\"exptect","defin","descript","error('algorithm","export","field","file","handler","handler.t","handler.ts:19","handler.ts:24","hash","hashalg","header","hook","id_token","id_token'","idtoken","idtokenclaim","idtokenhead","implement","index","infer","inferhashalgorithm(jwthead","info","interfac","jwk","jwtheader","jwtheader['alg","leftmosthalf","loadkey","make","match","method","name","new","object","overrid","param","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","protect","receiv","replace(/\\//g","result","return","sha","sha256(accesstoken","signatur","sourc","src/token","string","support","this.calchash(params.accesstoken","this.inferhashalgorithm(params.idtokenhead","throw","token","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","true","us","valid","validateathash","validateathash(param","validateathash(validationparam","validatesignatur","validatesignature(validationparam","validation/valid","validationhandl","validationparam","valu","valuetohash","var"],"interfaces/ValidationParams.html":["2","9]{3","_\").replace(/=/g","abstract","abstractvalidationhandl","access_token","accesstoken","against","alg","alg.match(/^.s[0","alg.substr(2","algorithm","alreadi","asstr","at_hash","athash","boolean","btoa(leftmosthalf","calchash","calchash(valuetohash","calcul","claimsathash","class","console.error(\"actu","console.error(\"exptect","defin","error('algorithm","export","field","file","function","handler","handler.t","handler.ts:2","handler.ts:3","handler.ts:4","handler.ts:5","handler.ts:6","handler.ts:7","hash","hashalg","header","hook","id_token","id_token'","idtoken","idtokenclaim","idtokenhead","implement","index","infer","inferhashalgorithm(jwthead","info","interfac","jwk","jwtheader","jwtheader['alg","leftmosthalf","loadkey","make","match","method","name","new","object","overrid","param","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","properti","protect","receiv","replace(/\\//g","result","return","sha","sha256(accesstoken","signatur","sourc","src/token","string","support","this.calchash(params.accesstoken","this.inferhashalgorithm(params.idtokenhead","throw","token","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","true","type","us","valid","validateathash","validateathash(param","validateathash(validationparam","validatesignature(validationparam","validation/valid","validationhandl","validationparam","valu","valuetohash","var"],"miscellaneous/variables.html":["handler.t","match","miscellan","requir","result","rs","src/token","type","valid","validation/jwk","variabl"],"miscellaneous/typealiases.html":["alias","eventtyp","match","miscellan","result","src/events.t","type","typealias"],"coverage.html":["0","0/1","0/2","0/3","0/7","1/3","1/4","1/5","1/7","100","14","20","25","3/3","3/7","33","42","44/89","49","5/5","6/6","abstractvalidationhandl","class","coverag","document","file","handler.t","helper.service.t","identifi","inject","interfac","jwksvalidationhandl","loginopt","match","nullvalidationhandl","oautherrorev","oauthev","oauthinfoev","oauthservic","oauthstorag","oauthsuccessev","parsedidtoken","receivedtoken","result","service.t","src/events.t","src/oauth","src/token","src/types.t","src/url","statement","type","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid","validationhandl","validationparam"]},"length":23},"tokenStore":{"root":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"coverage.html":{"ref":"coverage.html","tf":0.06060606060606061}},".":{"3":{"3":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"docs":{}},"5":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"7":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}},"docs":{}},"docs":{}},"/":{"1":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"2":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.030303030303030304}}},"3":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"7":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{}}},"1":{"0":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}},"docs":{"coverage.html":{"ref":"coverage.html","tf":0.030303030303030304}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"4":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"9":{"7":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}},"docs":{}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"/":{"3":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"4":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"5":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"7":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{}}},"2":{"0":{"1":{"7":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},".":{"0":{"0":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"docs":{}},"docs":{}},"docs":{}}},"5":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"3":{"3":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{},"/":{"3":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"7":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{}}},"4":{"2":{"0":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"]":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}},"docs":{}},"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"4":{"docs":{},"/":{"8":{"9":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{}},"docs":{}}},"7":{"1":{"1":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"docs":{}},"docs":{}},"9":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"5":{"docs":{},"/":{"5":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{}}},"6":{"0":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{},"/":{"6":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"docs":{}}},"7":{"5":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}},"docs":{}},"8":{"0":{"8":{"9":{"docs":{},"|":{"4":{"2":{"0":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"9":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}},"]":{"docs":{},"{":{"3":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"docs":{}}}},"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004707266843189173},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018779342723004695},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}},"d":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}},"g":{"2":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}},"y":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}}}}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"/":{"docs":{},"^":{"docs":{},".":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"docs":{}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"docs":{}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02888086642599278},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.013550135501355014},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}}}}}}}}},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"docs":{"index.html":{"ref":"index.html","tf":0.0062063615205585725},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0062063615205585725}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"u":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"o":{"docs":{},"c":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"t":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.02358490566037736},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}}}}}}},"o":{"docs":{},"b":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.02358490566037736},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02109704641350211}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.012412723041117145},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0038246543100912034},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"license.html":{"ref":"license.html","tf":0.010526315789473684}},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}}}}},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}},"b":{"docs":{},"o":{"docs":{},"v":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{},"k":{"docs":{},"l":{"docs":{},"m":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"q":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"v":{"docs":{},"w":{"docs":{},"x":{"docs":{},"y":{"docs":{},"z":{"docs":{},"a":{"docs":{},"b":{"docs":{},"c":{"docs":{},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"g":{"docs":{},"h":{"docs":{},"i":{"docs":{},"j":{"docs":{},"k":{"docs":{},"l":{"docs":{},"m":{"docs":{},"n":{"docs":{},"o":{"docs":{},"p":{"docs":{},"q":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"u":{"docs":{},"v":{"docs":{},"w":{"docs":{},"x":{"docs":{},"y":{"docs":{},"z":{"0":{"1":{"2":{"3":{"4":{"5":{"6":{"7":{"8":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":5.007220216606498},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"t":{"docs":{},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"s":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010297146219476317},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.010416666666666666},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"modules.html":{"ref":"modules.html","tf":0.1}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"modules.html":{"ref":"modules.html","tf":0.1}},"'":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"u":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"/":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"t":{"docs":{},"o":{"docs":{},"a":{"docs":{},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"f":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}}}}}}}}}}},"c":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0069821567106283944},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}},"s":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"r":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00353045013239188},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"s":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":5.007220216606498},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.005420054200542},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.010416666666667},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.060975609756097},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.065789473684211},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.063291139240507},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.068493150684931},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.014084507042254},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422},"coverage.html":{"ref":"coverage.html","tf":0.09090909090909091}}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.01008533747090768},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}},"'":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"j":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025}}}}}}}}},"u":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751}}}},"a":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.009309542280837859},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"'":{"docs":{},"g":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"l":{"docs":{},"y":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"(":{"docs":{},"'":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.003236245954692557}}}}}}}},"\"":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"x":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{},"(":{"docs":{},"'":{"docs":{},"n":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05263157894736842},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0410958904109589}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"license.html":{"ref":"license.html","tf":0.042105263157894736}}},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.031578947368421054}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"coverage.html":{"ref":"coverage.html","tf":10.01010101010101}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"a":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"e":{"docs":{},"c":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005589879376287144},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.032068255369226244},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.016260162601626018},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.027777777777777776},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.028169014084507043},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.02843601895734597},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.03571428571428571},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02531645569620253}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715}}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.020833333333333332},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142}}}}}},"a":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"e":{"docs":{},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"2":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}}}},"docs":{}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.008533747090768037},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004118858487790526},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009}}},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864}},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.009309542280837859},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005001471020888497},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},".":{"docs":{},"b":{"docs":{},"o":{"docs":{},"d":{"docs":{},"y":{"docs":{},".":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"e":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"b":{"docs":{},"y":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"(":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108}}}}}},"n":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}}}}},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0088261253309797}},")":{"docs":{},")":{"docs":{},";":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004118858487790526},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"(":{"docs":{},"\"":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}}}}},"p":{"docs":{},"u":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0069821567106283944},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004707266843189173},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06097560975609756},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.06578947368421052},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06329113924050633},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2}}}}}}}}},"x":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391}},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0875},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06097560975609756},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.06578947368421052},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06329113924050633},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0684931506849315},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018779342723004695},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}}}},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.013550135501355014}},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.039473684210526314},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"docs":{},"c":{"docs":{},"a":{"docs":{},"p":{"docs":{},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}}}}}}}}},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}},"l":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00529567519858782},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"license.html":{"ref":"license.html","tf":0.010526315789473684},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.018619084561675717},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010297146219476317}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"r":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}},"(":{"docs":{},"l":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.020833333333333332},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142}}}}}}}},"e":{"docs":{},"e":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"u":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"n":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"l":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}}},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.020833333333333332},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}}}},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":3.334109128523403},"license.html":{"ref":"license.html","tf":3.333333333333333}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372}},"s":{"docs":{},"(":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"l":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.046511627906976744},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.020833333333333332},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"1":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}},"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"+":{"1":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}},".":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0375},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},".":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667},"coverage.html":{"ref":"coverage.html","tf":0.050505050505050504}},"s":{"docs":{},":":{"1":{"0":{"7":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"1":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}},"7":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"9":{"docs":{"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715}}},"docs":{}},"2":{"3":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"4":{"docs":{"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715}}},"5":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"3":{"7":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"4":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"5":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"6":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"7":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"8":{"7":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}},"9":{"9":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009120329508679022},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},".":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"b":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"s":{"docs":{},":":{"2":{"9":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}},"docs":{}},"6":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}},"docs":{}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}},"l":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005884083553986467}},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"8":{"0":{"8":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"/":{"docs":{},"#":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"s":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"u":{"docs":{},"b":{"docs":{},".":{"docs":{},"i":{"docs":{},"o":{"docs":{},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929}}}}}}}},"t":{"docs":{},"o":{"docs":{},"o":{"docs":{},"l":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"e":{"docs":{},"t":{"docs":{},"f":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"g":{"docs":{},"/":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"/":{"docs":{},"r":{"docs":{},"f":{"docs":{},"c":{"7":{"5":{"1":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004707266843189173},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02888086642599278},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0330188679245283},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02109704641350211}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"'":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0062063615205585725}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"f":{"docs":{},"i":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018779342723004695},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.023474178403755867},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.022321428571428572},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}},"e":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"e":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}}}}}}},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.009309542280837859},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005884083553986467}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.175},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}}}}}},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":3.333333333333333},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.0379746835443038},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195}},"(":{"docs":{},"j":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.027777777777777776},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018779342723004695},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":5.014218009478673},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.013392857142857},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":5.023584905660377},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.0168776371308015},"coverage.html":{"ref":"coverage.html","tf":0.04040404040404041}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":5.000882612533098},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.034883720930233},"coverage.html":{"ref":"coverage.html","tf":0.020202020202020204}}}}}},"c":{"docs":{},"l":{"docs":{},"u":{"docs":{},"d":{"docs":{"license.html":{"ref":"license.html","tf":0.031578947368421054},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}}},"s":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}}},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"=":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}},"o":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"s":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},".":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018970189701897018},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}},"s":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.005420054200542},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"e":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"y":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04878048780487805}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"n":{"docs":{},"d":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02168021680216802}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}}},"f":{"docs":{},"t":{"docs":{},"m":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"f":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.007757951900698216}}}}}}},"f":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"n":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"a":{"docs":{},"b":{"docs":{},"i":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":3.333333333333333}}}}}},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.016877637130801686}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"[":{"8":{"0":{"8":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004707266843189173}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.011636927851047323},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.006944444444445},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"/":{"docs":{},"^":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"\\":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"/":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"k":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}},"n":{"docs":{},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"f":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"license.html":{"ref":"license.html","tf":0.021052631578947368},"modules.html":{"ref":"modules.html","tf":0.2},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.013550135501355014},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2},"coverage.html":{"ref":"coverage.html","tf":0.020202020202020204}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009}}}}}}}}},"[":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}}}}}}}}}}}},"x":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":3.4},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":3.433333333333333}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"modules.html":{"ref":"modules.html","tf":10.1},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":5.0125}},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"/":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0088261253309797},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.016260162601626018},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"e":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}},"g":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0375}}}}}}}},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},"i":{"docs":{},"c":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"h":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}},"n":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00529567519858782},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"modules.html":{"ref":"modules.html","tf":0.1},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":5.0375}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.010861132660977503},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":5.000588408355399},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.020833333333333332},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":5.009478672985782},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.027397260273973},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.024390243902439},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06097560975609756},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.065789473684211},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06329113924050633},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0684931506849315},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.025316455696203},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"o":{"docs":{},"f":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0038246543100912034},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.046511627906976744},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.028169014084507043},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.03571428571428571},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.04219409282700422}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"y":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}}}}}}}}}},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.010861132660977503},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005001471020888497},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},".":{"docs":{},"\\":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0038246543100912034}}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00529567519858782},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"2":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"docs":{}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"overview.html":{"ref":"overview.html","tf":10.041666666666666}}}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}}}},"r":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"g":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00441306266548985},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.003236245954692557},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195}}}},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"=":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"s":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.008928571428571},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}},"i":{"docs":{},"c":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"s":{"docs":{},"[":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"'":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.01008533747090768},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009414533686378346}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}}}}},"t":{"docs":{},"h":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03488372093023256}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},"e":{"docs":{},"d":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.011636927851047323},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006472491909385114},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.027777777777777776},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.023474178403755867},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.022321428571428572},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0069821567106283944},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"license.html":{"ref":"license.html","tf":0.010526315789473684},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006766696087084437},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}},"e":{"docs":{},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}}}}}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}},"o":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.02824360105913504},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.04648426007649309},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.06976744186046512}}},"s":{"docs":{},"h":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"t":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"docs":{}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"m":{"docs":{},"a":{"docs":{},"r":{"docs":{},"k":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05263157894736842},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00441306266548985},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.020833333333333332},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.028169014084507043},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}},"e":{"docs":{},"d":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017361111111111112},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.028169014084507},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.023696682464454975},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.022321428571428572},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}},"_":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"t":{"docs":{},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00353045013239188}},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.013964313421256789},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0038246543100912034},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"\"":{"docs":{},";":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},"y":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0062063615205585725},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333}},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}}}}}},"(":{"docs":{},"'":{"docs":{},"j":{"docs":{},"s":{"docs":{},"r":{"docs":{},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"license.html":{"ref":"license.html","tf":0.021052631578947368},"modules.html":{"ref":"modules.html","tf":0.2},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2},"coverage.html":{"ref":"coverage.html","tf":0.020202020202020204}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"e":{"docs":{},"t":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.03736393056781406},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.05813953488372093},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.037940379403794036},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.05},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.018867924528301886},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}},"r":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018970189701897018}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}},"(":{"docs":{},"'":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"_":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"t":{"docs":{},"e":{"docs":{},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"/":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142}}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"(":{"docs":{},"a":{"docs":{},"p":{"docs":{},"p":{"docs":{},"_":{"docs":{},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"s":{"docs":{},"k":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}}},"x":{"docs":{},"j":{"docs":{},"s":{"docs":{},"/":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"/":{"docs":{},"o":{"docs":{},"f":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"/":{"docs":{},"d":{"docs":{},"e":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}},"o":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"[":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}},"docs":{}},"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.13333333333333333}},".":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"u":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"r":{"docs":{},".":{"docs":{},"c":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"t":{"docs":{},"o":{"docs":{},".":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"g":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"{":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"w":{"docs":{},"s":{"docs":{},".":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"y":{"docs":{},"j":{"docs":{},"w":{"docs":{},"t":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}},"s":{"docs":{},"a":{"docs":{},"f":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751}}}}},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"/":{"docs":{},"(":{"docs":{},"^":{"docs":{},"|":{"docs":{},"\\":{"docs":{},"s":{"docs":{},")":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},"(":{"docs":{},"$":{"docs":{},"|":{"docs":{},"\\":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0062063615205585725}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}},"u":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.013188518231186967},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}},".":{"docs":{},"a":{"docs":{},"z":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"e":{"docs":{},"b":{"docs":{},"s":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"/":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"s":{"docs":{},":":{"1":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"8":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"9":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"1":{"0":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"1":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"2":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"3":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"5":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"8":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"2":{"1":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"2":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"4":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"5":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"3":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"4":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"5":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"6":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"8":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"9":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"2":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}},"docs":{}},"1":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"2":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"3":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"4":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"6":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"3":{"0":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"1":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"2":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"3":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"4":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"5":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"4":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"1":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"3":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"9":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"5":{"0":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"5":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"9":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"6":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"3":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"4":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"2":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"8":{"1":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"3":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"4":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"5":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"6":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"9":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"5":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"6":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"7":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.010861132660977503},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005001471020888497},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}},"l":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"a":{"2":{"5":{"6":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"l":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.005430566330488751},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}},"l":{"docs":{},"y":{"docs":{},"_":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"p":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025}}}}},"o":{"docs":{},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}},"f":{"docs":{},"t":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.09473684210526316}}}}}}}},"p":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.008533747090768037}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"i":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":3.3348849237134726},"license.html":{"ref":"license.html","tf":3.333333333333333},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006766696087084437},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03286384976525822},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013392857142857142}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"[":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}}}}}}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.021771109149749928},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.046511627906976744},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.039711191335740074},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04336043360433604},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.04861111111111111},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.08450704225352113},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.08056872037914692},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.08035714285714286},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0330188679245283},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.046413502109704644}}}}}},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}}}}}}},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}}},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"e":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"modules.html":{"ref":"modules.html","tf":0.1},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.024390243902439025},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.02631578947368421},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02531645569620253},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0273972602739726}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}},"v":{"docs":{},"g":{"docs":{"modules.html":{"ref":"modules.html","tf":0.1}}}},"r":{"docs":{},"c":{"docs":{},"/":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},".":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.026184171815239778},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03488372093023256},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018970189701897018},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.029535864978902954},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667},"coverage.html":{"ref":"coverage.html","tf":0.050505050505050504}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"coverage.html":{"ref":"coverage.html","tf":0.04040404040404041}},"s":{"docs":{},":":{"1":{"2":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}}},"8":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}}},"docs":{}},"2":{"6":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}}},"docs":{}},"3":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}}},"docs":{}},"4":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003472222222222222}}},"docs":{}},"5":{"3":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996}}},"4":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996}}},"5":{"docs":{"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996}}},"docs":{}},"6":{"3":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174}}},"4":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174}}},"5":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174}}},"6":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174}}},"docs":{}},"7":{"3":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"4":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"5":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"6":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"7":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"8":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}},"docs":{}},"docs":{}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1},"coverage.html":{"ref":"coverage.html","tf":0.04040404040404041}},"s":{"docs":{},":":{"2":{"1":{"docs":{"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105}}},"docs":{}},"3":{"0":{"docs":{"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266}}},"9":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513}}},"docs":{}},"docs":{}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"docs":{}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"k":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929}},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"x":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"h":{"docs":{},"a":{"docs":{},"t":{"docs":{},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},".":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}},"i":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"s":{"docs":{},".":{"docs":{},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}},"d":{"docs":{},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"e":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"u":{"docs":{},"s":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"(":{"docs":{},"'":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},":":{"docs":{},"/":{"docs":{},"/":{"docs":{},"w":{"docs":{},"w":{"docs":{},"w":{"docs":{},".":{"docs":{},"m":{"docs":{},"y":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"/":{"docs":{},"x":{"docs":{},"/":{"docs":{},"y":{"docs":{},"/":{"docs":{},"z":{"docs":{},"'":{"docs":{},")":{"docs":{},";":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}}},"e":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0023536334215945864}}}}}},"r":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}},"'":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},"(":{"docs":{},"\"":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"'":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{},"s":{"docs":{},"_":{"docs":{},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"g":{"2":{"docs":{},"k":{"docs":{},"t":{"docs":{},"y":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}},"docs":{}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"d":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"f":{"docs":{},"e":{"docs":{},"x":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"a":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"(":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"(":{"docs":{},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"d":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{},"m":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"s":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004707266843189173}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{},"c":{"docs":{},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"c":{"docs":{},"e":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{},")":{"docs":{},".":{"docs":{},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{},"(":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"u":{"docs":{},"n":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}},"n":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"s":{"docs":{},"'":{"docs":{},"]":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"{":{"docs":{},"\\":{"docs":{},"{":{"docs":{},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"d":{"docs":{},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{},"(":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"[":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}},"docs":{}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"p":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"s":{"docs":{},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},".":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"c":{"docs":{},"t":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{},"s":{"docs":{},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"z":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029420417769932335},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.013550135501355014},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.01084010840108401}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002059429243895263}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.019394879751745538},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0375},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00706090026478376},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.024305555555555556},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03286384976525822},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.02843601895734597},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.022321428571428572},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"e":{"docs":{},"d":{"docs":{},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.006944444444444444},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014710208884966167}},"e":{"docs":{},".":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"_":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}},"docs":{}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"\\":{"docs":{},"+":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"b":{"docs":{},"y":{"docs":{},"t":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"(":{"docs":{},"h":{"docs":{},"e":{"docs":{},"x":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"u":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006766696087084437},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009389671361502348},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008928571428571428},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.010416666666666666},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},"w":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.012062371285672257},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017361111111111112},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.04878048780487805},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05263157894736842},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05063291139240506},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0547945205479452},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018779342723004695},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.026785714285714284},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02531645569620253},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":6.666666666666666}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.01008533747090768},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010297146219476317}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.023255813953488},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}}}}}}}}},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"e":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"t":{"docs":{},"o":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{},"e":{"docs":{},"r":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}},"s":{"docs":{},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797}}}}}}}}}}}}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0395655546935609},"license.html":{"ref":"license.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.014710208884966167},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.03819444444444445},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.028169014084507043},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.03317535545023697},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.026785714285714284},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266}},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.016291698991466253},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0073551044424830835}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}},"_":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00264783759929391}},"e":{"docs":{},"/":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}}}}}}}}},"_":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"_":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.012195121951219513},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.013157894736842105},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.012658227848101266},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0136986301369863}}}}}}}}}}}}}}}}}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.007757951900698216},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.025},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00617828773168579},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02527075812274368},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02981029810298103},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017361111111111112},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.125},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.014084507042253521},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.03773584905660377},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02109704641350211},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667},"coverage.html":{"ref":"coverage.html","tf":0.020202020202020204}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004694835680751174},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.004464285714285714},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":5.018867924528302},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.012658227848101266},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}},"/":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.018970189701897018},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.06666666666666667},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0375},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.0125},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.018050541516245487},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.029535864978902954},"coverage.html":{"ref":"coverage.html","tf":0.030303030303030304}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.02527075812274368},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008130081300813009},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0625},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0330188679245283},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.025316455696203},"coverage.html":{"ref":"coverage.html","tf":0.010101010101010102}}}}}}}}}},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"(":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},"a":{"docs":{},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"s":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"d":{"docs":{},"i":{"docs":{},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01444043321299639},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.0036101083032490976},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943}},"e":{"docs":{},"(":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.010830324909747292},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.025},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.014150943396226415},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005001471020888497},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.0047169811320754715},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004219409282700422}}}}}}}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00617828773168579},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023255813953488372},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.021660649819494584},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0027100271002710027},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.02830188679245283},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02531645569620253}},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":6.7333333333333325}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}}}}}},"i":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}}}}},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008237716975581053},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.013888888888888888},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018779342723004695},"interfaces/OAuthStorage.html":{"ref":"interfaces/OAuthStorage.html","tf":0.02843601895734597},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017857142857142856}}}}}},"w":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"r":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}}}}}},"e":{"docs":{},"'":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00088261253309797},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.005420054200542005}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}},".":{"docs":{},"l":{"docs":{},"o":{"docs":{},"c":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"'":{"docs":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"license.html":{"ref":"license.html","tf":0.031578947368421054},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0002942041776993233}}}}}}}},"h":{"docs":{},"e":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005001471020888497}}}}}}}},"/":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00176522506619594}}}}}},"w":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0005884083553986466}}}}},"z":{"docs":{},"u":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"o":{"docs":{},"o":{"docs":{},"m":{"docs":{"overview.html":{"ref":"overview.html","tf":0.08333333333333333}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011768167107972932}}}}}}}},"\"":{"docs":{},")":{"docs":{},".":{"docs":{},"r":{"docs":{},"e":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"c":{"docs":{},"e":{"docs":{},"(":{"docs":{},"/":{"docs":{},"=":{"docs":{},"/":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007220216606498195},"interfaces/ValidationHandler.html":{"ref":"interfaces/ValidationHandler.html","tf":0.009433962264150943},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008438818565400843}}}}}}}}}}}}}}}}}}},"length":2666},"corpusTokens":["0","0.33","0.5","0.75","0/1","0/2","0/3","0/7","1","1/3","1/4","1/5","1/7","10","100","1000","14","1970","2","20","20.000","2017","25","3/3","3/7","33","4","42","4202","4202]/index.html","4202]/silent","44/89","4711","49","4th","5/5","6/6","60","600","75","8089|4200","9","9]{3","_\").replace(/=/g","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","abov","abstract","abstractvalidationhandl","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","action","actual","add","addit","additionalst","adjust","against","alg","alg.match(/^.s[0","alg.substr(2","alg2kti","alg2kty(alg","algorithm","alias","allow","allowedalgorithm","alreadi","although","and/or","angular","angular/common","angular/cor","angular/http","angular2","anoth","api","app","app/home.html","appcompon","append","applic","application/x","appmodul","approach","approutermodul","arg","aris","around","array","array.isarray(claims.aud","array.isarray(params.jwks['key","asset","associ","asstr","assum","at_hash","athash","atob(claimsbase64","atob(headerbase64","attack","audienc","auth","author","authorization_endpoint","authorizationhead","automat","avoid","b/c","back","backend","base","base64data","base64data.length","bearer","befor","below","best","between","boolean","bootstrap","both","break","bring","brows","browser","browser'","btoa(leftmosthalf","build","bundl","bytearrayasstr","c","calchash","calchash(valuetohash","calctimeout","calctimeout(expir","calcul","call","callback","callontokenreceivedifexist","callontokenreceivedifexists(opt","case","catch(err","catch(error","catch(reason","chang","charg","check","checkathash","checkathash(param","checksignatur","checksignature(param","cite","claim","claims.aud","claims.aud.every(v","claims.aud.join","claims.exp","claims.given_nam","claims.iat","claims.iss","claims.nonc","claims.sub","claims['at_hash","claimsathash","claimsbase64","claimsjson","class","clear","clearaccesstokentim","clearhashafterlogin","clearidtokentim","cli","cli.json","client","client'","client_id","clientid","code","commonj","commonmodul","commun","compat","compens","compon","condit","configu","configur","connect","consol","console.debug(\"log","console.debug('given_nam","console.debug('oauth/oidc","console.debug('ok","console.debug('refresh","console.debug('st","console.debug('validatesignatur","console.debug(context","console.debug.apply(consol","console.error","console.error(\"actu","console.error(\"error","console.error(\"exptect","console.error('error","console.error('refresh","console.error(err","console.error(error","console.error(reason","console.warn('no","console.warn(err","constructor","constructor(http","constructor(priv","constructor(typ","contain","context","contract","cooki","copi","copyright","core","coverag","creat","createandsavenonc","createloginurl","createloginurl(st","createnonc","credenti","credit","current","custom","customhashfrag","customqueryparam","customredirecturi","damag","data","date","date.now","deal","debug","debug(...arg","decid","declar","decodeuricomponent(hash","decodeuricomponent(parts[\"st","default","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","demand","demo","demonstr","depend","deprec","describ","descript","design","detect","dicoveri","differ","directli","directori","disabl","disableoauth2statecheck","discoveri","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","discoverydocumentload","discoverydocumentloadedsubject","disoveri","display","distribut","do","do(e","doc","doc.authorization_endpoint","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.silentrefreshiframenam","domain","don't","dosn't","dummi","dummyclientsecret","dure","e","e.data","e.typ","eas","ec","email","enabl","encodeuricomponent(id_token","encodeuricomponent(loginhint","encodeuricomponent(nonc","encodeuricomponent(redirecturi","encodeuricomponent(scop","encodeuricomponent(st","encodeuricomponent(that.clientid","encodeuricomponent(that.resourc","encodeuricomponent(that.responsetyp","encodeuricomponent(this.customqueryparams[key","encodeuricomponent(this.postlogoutredirecturi","end_session_endpoint","endpoint","endpont","enter","enum","environ","err","err));when","error","error(\"can","error(\"createnonc","error('algorithm","error('array","error('cannot","error('eith","error('loginurl","error('paramet","error('sil","error('tokenendpoint","error('userinfoendpoint","errors.length","errors.push('everi","errors.push('http","es256","es384","escapedkey","escapedvalu","event","eventlisten","eventssubject","eventtyp","exampl","exchang","exist","existingclaim","existingclaims['sub","existingifram","expect","expectedprefix","expir","expiresat","expiresatmsec","expiresin","expiresinmillisecond","explicitli","export","expos","express","extend","fact","factor","fail","fals","far","featur","fetch","fetchtokenusingpasswordflow","fetchtokenusingpasswordflow(usernam","fetchtokenusingpasswordflowandloaduserprofil","fetchtokenusingpasswordflowandloaduserprofile(usernam","field","file","filter(","find","fire","first","fit","flow","follow","for(let","form","former","forroot","found","fragment","free","full","fullurl","function","furnish","further","g","geheim","geheim').then","geheim').then((resp","gener","get","getaccesstoken","getaccesstokenexpir","gethashfragmentparam","gethashfragmentparams(customhashfrag","getidentityclaim","getidtoken","getidtokenexpir","getitem","getitem(key","getkeycount","give","good","graceperiod","graceperiodinsec","grant","granttypessupport","half","hallo","handleloginerror","handleloginerror(opt","handler","handler.t","handler.ts:107","handler.ts:11","handler.ts:114","handler.ts:17","handler.ts:19","handler.ts:2","handler.ts:23","handler.ts:24","handler.ts:25","handler.ts:3","handler.ts:37","handler.ts:4","handler.ts:42","handler.ts:5","handler.ts:6","handler.ts:7","handler.ts:70","handler.ts:8","handler.ts:87","handler.ts:99","happen","hash","hash.indexof","hash.substr(1","hash.substr(questionmarkposition+1","hashalg","hashalg.digeststring(valuetohash","hashlocationstrategi","hashstrategi","hasvalidaccesstoken","hasvalididtoken","header","header.kid","headerbase64","headerjson","headers.set('author","headers.set('cont","helper.servic","helper.service.t","helper.service.ts:29","helper.service.ts:6","here","herebi","hidden","his/her","holder","home","homecompon","hook","hs256","hs384","hs512","http","http://localhost:8080","http://localhost:8080/#/homeev","httpmodul","https://github.com/manfredsteyer/angular","https://manfredsteyer.github.io/angular","https://steyer","https://tools.ietf.org/html/rfc7517","httpscheck","i=0","iat","id","id_token","id_token'","id_token_hint","idclaim","ident","identifi","identityserv","idtoken","idtoken.idtoken","idtoken.idtokenclaimsjson","idtoken.idtokenexpiresat","idtoken.split","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhandl","idtokenhead","idtokenheaderjson","idtokentimeoutsubscript","ifram","iframe.id","iframe.setattribute('src","iframe.style.vis","ignor","implcit","implement","impli","implicit","import","includ","index","index.html","infer","inferhashalgorithm","inferhashalgorithm(jwthead","info","info.st","inform","initi","initialnavig","initimplicitflow","initimplicitflow(additionalst","inject","instanc","instanceof","instead","interact","interfac","intern","invalid","invalid_nonce_in_st","isn't","issu","issuedatmsec","issuer","issuer'","issuercheck","isvalid","java","job","json","json.parse(claim","json.parse(claimsjson","json.parse(headerjson","json.stringify(doc","jsrasign","jwk","jwks_load_error","jwks_uri","jwksuri","jwksvalidationhandl","jwksvalidationhandler();in","jwtheader","jwtheader['alg","k['kid","k['kti","k['use","keep","key","keycloak","keyobj","keys.filter(k","keys.find(k","kick","kid","kind","known","known/openid","kti","later","lcurl","lcurl.match(/^http:\\/\\/localhost","lcurl.startswith('http","leftmosthalf","legend","leverag","liabil","liabl","lib","librari","licens","life","limit","line","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loadjwk","loadkey","loaduserprofil","local","localhost:[8080","localstorag","locat","location.hash","location.href","location.origin","locationstrategi","log","loggin","login","login_hint","loginhint","loginhint).then(funct","loginopt","loginurl","logoff","logout","logout(noredirecttologouturl","logouturl","main","make","manfr","manual","map","map(","map(r","match","matchingkey","matchingkeys.length","matchingkeys[0","max/geheim","mean","mention","merchant","merg","messag","messageev","method","millisecond","mind","miscellan","miss","modifi","modul","modulewithprovid","more","msec","multipl","name","navig","need","net","net/.net","new","ngmodul","nonc","nonceinst","noninfring","noredirecttologouturl","note","noth","notic","now","now.gettim","null","nullvalidationhandl","number","oauth","oauth2","oautherrorev","oautherrorevent('discovery_document_load_error","oautherrorevent('discovery_document_validation_error","oautherrorevent('invalid_nonce_in_st","oautherrorevent('jwks_load_error","oautherrorevent('silent_refresh_error","oautherrorevent('silent_refresh_timeout","oautherrorevent('token_error","oautherrorevent('token_refresh_error","oautherrorevent('token_validation_error","oautherrorevent('user_profile_load_error","oautherrorevent).first","oauthev","oauthinfoev","oauthinfoevent('token_expir","oauthmodul","oauthmodule.forroot","oauthservic","oauthstorag","oauthsuccessev","oauthsuccessevent('discovery_document_load","oauthsuccessevent('silently_refresh","oauthsuccessevent('token_receiv","oauthsuccessevent('token_refresh","oauthsuccessevent('user_profile_load","object","object.assign","object.getownpropertynames(this.customqueryparam","observ","observable.of(new","obtain","of(new","offline_access","oidc","oidc.\\n","oidc/angular","oidc/doc","ok","on","onloginerror","ontokenreceiv","openid","oper","optin","option","options.customhashfrag","options.disableoauth2statecheck","options.onloginerror","options.onloginerror(part","options.ontokenreceiv","options.ontokenreceived(tokenparam","options.validationhandl","order","otherparam","otherwis","out","output","over","overrid","overview","owner","packag","padbase64","padbase64(base64data","page","pair","param","paramet","params.idtoken","params.idtokenclaims['at_hash'].replace(/=/g","params.idtokenhead","params.idtokenheader['alg","params.idtokenheader['kid","params.jwk","params.jwks['key","params.jwks['keys'].length","params.loadkey","parent.postmessage(location.hash","pars","parsedidtoken","parseint(expiresat","parseint(this._storage.getitem(\"expires_at","parseint(this._storage.getitem(\"id_token_expires_at","parsequerystr","parsequerystring(querystr","part","particular","parts[\"access_token","parts[\"error","parts[\"id_token","parts['expires_in","pass","passt","password","passwort","pathlocationstrategi","perform","period","permiss","permit","person","platform","plattform","pleas","portion","possibl","post_logout_redirect_uri","postlogoutredirecturi","practic","prefixedmessag","prefixedmessage.startswith(expectedprefix","prefixedmessage.substr(expectedprefix.length","preserv","prevent","privat","processidtoken","processidtoken(idtoken","profil","promis","promise((resolv","promise.reject('eith","promise.reject('signatur","promise.reject(err","promise.reject(error","promise.reject(ev","promise.resolv","promise.resolve(nul","properti","protect","provid","ps256","ps384","ps512","public","publish","purpos","queri","querystr","querystring.split","question","questionmarkposit","quit","r","r.json()).subscrib","race([error","rais","read","readonli","reason","receiv","received_first_token","receivedfirsttoken","receivedtoken","redhad","redhat'","redirect","redirect_uri","redirecturi","redirecturi).then(url","refresh","refresh.html","refresh.html\";pleas","refresh_token","refreshtoken","regard","regist","registerd","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","relax","relay","remoteonli","remov","removeitem","removeitem(key","removesilentrefresheventlisten","replace(/\\//g","repres","request","requestaccesstoken","requir","require('jsrsasign","requirehttp","reset","resolve(doc","resolve(jwk","resolve(nul","resolve(result","resolve(tokenrespons","resourc","respond","response_typ","responsetyp","restrict","result","result.idtoken","result.idtokenclaim","retri","return","right","risk","rng","rngurl","root","rout","router","routermodule.forroot(app_rout","rs","rs.keyutil.getkey(key","rs.kjur.crypto.messagedigest({alg","rs.kjur.jws.jws.verifyjwt(params.idtoken","rs256","rs384","rs512","rsa","rule","run","runn","rxjs/add/observable/of","rxjs/add/observable/rac","rxjs/add/operator/delay","rxjs/add/operator/do","rxjs/add/operator/filt","rxjs/add/operator/first","rxjs/add/operator/map","rxjs/add/operator/publish","rxjs/add/operator/topromis","rxjs/observ","rxjs/subject","rxjs/subscript","safe","sampl","savednonc","scaffold","scope","scope.match(/(^|\\s)openid($|\\","search","search.set('client_id","search.set('client_secret","search.set('grant_typ","search.set('password","search.set('refresh_token","search.set('scop","search.set('usernam","search.tostr","second","secreat","secret","section","secur","see","sell","send","sens","separatorindex","seperationchar","server","server'","server.azurewebsites.net/ident","server.azurewebsites.net/identity/.wel","server.azurewebsites.net/identity/connect/author","server.azurewebsites.net/identity/connect/endsess","server.azurewebsites.net/identity/connect/token","server.azurewebsites.net/identity/connect/userinfo","servic","service.t","service.ts:100","service.ts:105","service.ts:107","service.ts:1088","service.ts:1097","service.ts:1101","service.ts:1111","service.ts:1119","service.ts:1127","service.ts:113","service.ts:1134","service.ts:1152","service.ts:1171","service.ts:1181","service.ts:119","service.ts:1215","service.ts:1223","service.ts:1243","service.ts:1252","service.ts:129","service.ts:135","service.ts:143","service.ts:149","service.ts:156","service.ts:162","service.ts:169","service.ts:175","service.ts:177","service.ts:183","service.ts:184","service.ts:186","service.ts:187","service.ts:189","service.ts:190","service.ts:197","service.ts:199","service.ts:200","service.ts:202","service.ts:218","service.ts:225","service.ts:23","service.ts:231","service.ts:248","service.ts:265","service.ts:271","service.ts:28","service.ts:296","service.ts:308","service.ts:319","service.ts:325","service.ts:331","service.ts:34","service.ts:345","service.ts:358","service.ts:40","service.ts:410","service.ts:433","service.ts:45","service.ts:47","service.ts:48","service.ts:492","service.ts:505","service.ts:54","service.ts:550","service.ts:595","service.ts:60","service.ts:61","service.ts:633","service.ts:640","service.ts:67","service.ts:679","service.ts:72","service.ts:727","service.ts:77","service.ts:816","service.ts:82","service.ts:831","service.ts:844","service.ts:859","service.ts:869","service.ts:87","service.ts:92","service.ts:94","service.ts:951","service.ts:961","service.ts:967","service.ts:977","sessionstorag","set","setitem","setitem(key","setstorag","setstorage(storag","setup","setupaccesstokentim","setupidtokentim","setupsilentrefresheventlisten","setuptim","sha","sha256(accesstoken","shall","short","show","showdebuginform","shown","side","sig","sign","signatur","silent","silent_refresh_error","silent_refresh_timeout","silently_refresh","silently_refreshed').first","silentrefresh","silentrefreshiframenam","silentrefreshmessageprefix","silentrefreshpostmessageeventlisten","silentrefreshredirecturi","silentrefreshshowifram","siletrefreshtimeout","similar","simpl","singl","skip","softwar","solut","somevalu","sourc","spa","spa'","spec","specif","specifi","src/events.t","src/events.ts:21","src/events.ts:30","src/events.ts:39","src/index.t","src/oauth","src/token","src/types.t","src/types.ts:12","src/types.ts:18","src/types.ts:26","src/types.ts:33","src/types.ts:43","src/types.ts:53","src/types.ts:54","src/types.ts:55","src/types.ts:63","src/types.ts:64","src/types.ts:65","src/types.ts:66","src/types.ts:73","src/types.ts:74","src/types.ts:75","src/types.ts:76","src/types.ts:77","src/types.ts:78","src/url","standard","start","startup","state","state.split","state/nonc","statement","statepart","stateparts.length","stateparts[0","stateparts[1","static","steyer","still","storag","store","storeaccesstokenrespons","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","strictdiscoverydocumentvalid","stricter","string","sub","subject","sublicens","subscribe(","subscript","substanti","succeed","success","successfulli","such","super(typ","support","sure","svg","switch(alg.charat(0","take","taken","task","templateurl","tenant","tenminutesinmsec","test","testen","text","that'","that._storage.setitem(\"nonc","that.getaccesstoken","that.getidentityclaim","that.getidtoken","that.loginurl","that.loginurl.indexof","that.oidc","that.resourc","that.scop","that.stat","then(_","then(info","then(key","then(result","therefor","third","this._storag","this._storage.getitem(\"access_token","this._storage.getitem(\"expires_at","this._storage.getitem(\"id_token","this._storage.getitem(\"id_token_claims_obj","this._storage.getitem(\"nonc","this._storage.getitem('refresh_token","this._storage.setitem(\"access_token","this._storage.setitem(\"expires_at","this._storage.setitem(\"id_token","this._storage.setitem(\"id_token_claims_obj","this._storage.setitem(\"id_token_expires_at","this._storage.setitem(\"refresh_token","this._storage.setitem('id_token_claims_obj","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.alg2kty(alg","this.allowedalgorithm","this.calchash(params.accesstoken","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.checkathash(validationparam","this.checksignature(validationparams).then(_","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug('error","this.debug('refresh","this.debug('tim","this.debug('tokenrespons","this.debug('userinfo","this.discoverydocumentload","this.discoverydocumentloadedsubject.asobserv","this.discoverydocumentloadedsubject.next(doc","this.dummyclientsecret","this.ev","this.events.filter(","this.eventssubject.asobserv","this.eventssubject.next(","this.eventssubject.next(err","this.eventssubject.next(ev","this.eventssubject.next(new","this.eventssubject.next(result","this.getaccesstoken","this.getaccesstokenexpir","this.getidentityclaim","this.getkeycount","this.graceperiodinsec","this.granttypessupport","this.handleloginerror(opt","this.hasvalidaccesstoken","this.hasvalididtoken","this.http.get(fullurl).map(r","this.http.get(this.jwksuri).map(r","this.http.get(this.userinfoendpoint","this.http.post(this.tokenendpoint","this.idtokentimeoutsubscript","this.idtokentimeoutsubscription.unsubscrib","this.inferhashalgorithm(params.idtokenhead","this.issu","this.jwk","this.jwks['key","this.jwks['keys'].length","this.jwksuri","this.loadjwk","this.loadjwks().then(_","this.loaduserprofil","this.loginurl","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oauthservice.clientid","this.oauthservice.customqueryparam","this.oauthservice.dummyclientsecret","this.oauthservice.events.subscribe(","this.oauthservice.fetchtokenusingpasswordflow('max","this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max","this.oauthservice.getaccesstoken","this.oauthservice.getidentityclaim","this.oauthservice.initimplicitflow","this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');aft","this.oauthservice.issu","this.oauthservice.loaddiscoverydocument().then","this.oauthservice.loaddiscoverydocument(url).then","this.oauthservice.loaduserprofil","this.oauthservice.loginurl","this.oauthservice.logout","this.oauthservice.logouturl","this.oauthservice.redirecturi","this.oauthservice.refreshtoken().then","this.oauthservice.scop","this.oauthservice.setstorage(sessionstorag","this.oauthservice.silentrefresh","this.oauthservice.silentrefreshredirecturi","this.oauthservice.tokenendpoint","this.oauthservice.tokenvalidationhandl","this.oauthservice.trylogin","this.oauthservice.trylogin().then(_","this.oauthservice.userinfoendpoint","this.oidc","this.padbase64(tokenparts[0","this.padbase64(tokenparts[1","this.parsequerystring(hash","this.redirecturi","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.rngurl","this.router.navig","this.scop","this.setupaccesstokentim","this.setupidtokentim","this.setupsilentrefresheventlisten","this.setuptim","this.showdebuginform","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.silentrefreshshowifram","this.stat","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.strictdiscoverydocumentvalid","this.timeoutfactor","this.tobytearrayasstring(result","this.tokenendpoint","this.tokenvalidationhandl","this.tokenvalidationhandler.validatesignature(param","this.trylogin","this.urlhelper.gethashfragmentparam","this.urlhelper.gethashfragmentparams(options.customhashfrag","this.userinfoendpoint","this.validatediscoverydocument(doc","this.validatenonceforaccesstoken(accesstoken","this.validatesignature(param","this.validateurlagainstissuer(url","this.validateurlforhttps(fullurl","this.validateurlforhttps(this.loginurl","this.validateurlforhttps(this.tokenendpoint","this.validateurlforhttps(this.userinfoendpoint","this.validateurlforhttps(url","this.validateurlfromdiscoverydocument(doc['authorization_endpoint","this.validateurlfromdiscoverydocument(doc['end_session_endpoint","this.validateurlfromdiscoverydocument(doc['jwks_uri","this.validateurlfromdiscoverydocument(doc['token_endpoint","this.validateurlfromdiscoverydocument(doc['userinfo_endpoint","three","throw","time","timeout","timeoutfactor","timespan","timestamp","tobytearrayasstr","tobytearrayasstring(hexstr","togeht","token","token'","token(","token_endpoint","token_error","token_expir","token_receiv","token_received').subscribe(_","token_refresh","token_refresh_error","token_timeout","token_validation_error","tokenendpoint","tokenhash","tokenhash.length","tokenhash.substr(0","tokenhashbase64","tokenhashbase64.replace(/\\+/g","tokenparam","tokenpart","tokenrespons","tokenresponse.expires_in","tokenresponse.refresh_token","tokenvalid","tokenvalidationhandl","topromis","tort","transmit","tri","trigger","true","trylogin","trylogin(opt","ts","two","type","typealias","typeof","up","uri","url","url.tolowercas","url.tolowercase().startswith(this.issuer.tolowercas","urlencod","urlhelp","urlhelperservic","urlsearchparam","us","usecas","usehash","user","user'","user_profile_load","user_profile_load_error","userinfo","userinfo_endpoint","userinfoendpoint","usernam","username/password","username/passwort","v","valid","validateathash","validateathash(param","validateathash(validationparam","validatediscoverydocu","validatediscoverydocument(doc","validatenonceforaccesstoken","validatenonceforaccesstoken(accesstoken","validatesignatur","validatesignature(param","validatesignature(validationparam","validateurlagainstissu","validateurlagainstissuer(url","validateurlforhttp","validateurlforhttps(url","validateurlfromdiscoverydocu","validateurlfromdiscoverydocument(url","validation/jwk","validation/nul","validation/valid","validationhandl","validationparam","valu","valuetohash","var","variabl","version","via","void","voucher","w/o","want","warn","warranti","we'v","web","webpack","well","whether","window","window.addeventlistener('messag","window.location.hash","window.location.origin","window.removeeventlistener('messag","within","without","work","wrong","www","zoom","zum"],"pipeline":["trimmer","stopWordFilter","stemmer"]}, + "store": {"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nangular-oauth2-oidc\nSupport for OAuth 2 and OpenId Connect (OIDC) in Angular.\n\nCredits\n\ngenerator-angular2-library for scaffolding a angular library\njsrasign for validating token signature and for hashing\nIdentity Server (used for Testing with an .NET/.NET Core Backend)\nKeycloak (Redhad) for Testing with Java\n\nResources\n\nSources and Sample:\nhttps://github.com/manfredsteyer/angular-oauth2-oidc\n\nSource Code Documentation\nhttps://manfredsteyer.github.io/angular-oauth2-oidc/angular-oauth2-oidc/docs/\n\n\nTested Environment\nSuccessfully tested with the Angular 2 and 4 and its Router, PathLocationStrategy as well as HashLocationStrategy and CommonJS-Bundling via webpack. At server side we've used IdentityServer (.NET/ .NET Core) and Redhat's Keycloak (Java).\nNew Features in Version 2\n\nToken Refresh for Implicit Flow by implementing \"silent refresh\"\nValidating the signature of the received id_token\nProviding Events via the observable events.\nThe event token_expires can be used togehter with a silent refresh to automatically refresh a token when/ before it expires (see also property timeoutFactor).\n\nAdditional Features\n\nLogging in via OAuth2 and OpenId Connect (OIDC) Implicit Flow (where user is redirected to Identity Provider)\n\"Logging in\" via Password Flow (where user enters his/her password into the client)\nToken Refresh for Password Flow by using a Refresh Token\nAutomatically refreshing a token when/ some time before it expires\nQuerying Userinfo Endpoint\nQuerying Discovery Document to ease configuration\nValidating claims of the id_token regarding the specs\nHook for further custom validations\nSingle-Sign-Out by redirecting to the auth-server's logout-endpoint\n\nBreaking Changes in Version 2\n\nThe property oidc defaults to true.\nIf you are just using oauth2, you have to set oidc to false. Otherwise, the validation of the user profile will fail!\nBy default, sessionStorage is used. To use localStorage call method setStorage\nDemands using https as OIDC and OAuth2 relay on it. This rule can be relaxed using the property requireHttps, e. g. for local testing.\nDemands that every url provided by the discovery document starts with the issuer's url. This can be relaxed by using the property strictDiscoveryDocumentValidation.\n\nSample-Auth-Server\nYou can use the OIDC-Sample-Server mentioned in the samples for Testing. It assumes, that your Web-App runns on http://localhost:8080.\nUsername/Password: max/geheim\nclientIds: \n\nspa-demo (implicit flow)\ndemo-resource-owner (resource owner password flow)\n\nredirectUris:\n\nlocalhost:[8080-8089|4200-4202]\nlocalhost:[8080-8089|4200-4202]/index.html\nlocalhost:[8080-8089|4200-4202]/silent-refresh.html\n\nSetup Provider for OAuthService\nimport { OAuthModule } from 'angular-oauth2-oidc';\n[...]\n\n@NgModule({\n imports: [ \n [...]\n HttpModule,\n OAuthModule.forRoot()\n ],\n declarations: [\n AppComponent,\n HomeComponent,\n [...]\n ],\n bootstrap: [\n AppComponent \n ]\n})\nexport class AppModule {\n}Using Implicit Flow\nThis section shows how to use the implicit flow, which is redirecting the user to the auth-server for the login.\nConfigure Library for Implicit Flow (using discovery document)\nTo configure the library you just have to set some properties on startup. For this, the following sample uses the constructor of the AppComponent which is called before routing kicks in.\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // URL of the SPA to redirect the user to after login\n this.oauthService.redirectUri = window.location.origin + \"/index.html\";\n\n // The SPA's id. The SPA is registerd with this id at the auth-server\n this.oauthService.clientId = \"spa-demo\";\n\n // set the scope for the permissions the client should request\n // The first three are defined by OIDC. The 4th is a usecase-specific one\n this.oauthService.scope = \"openid profile email voucher\";\n\n // The name of the auth-server that has to be mentioned within the token\n this.oauthService.issuer = \"https://steyer-identity-server.azurewebsites.net/identity\";\n\n // Load Discovery Document and then try to login the user\n this.oauthService.loadDiscoveryDocument().then(() => {\n\n // This method just tries to parse the token(s) within the url when\n // the auth-server redirects the user back to the web-app\n // It dosn't send the user the the login page\n this.oauthService.tryLogin(); \n\n });\n\n }\n\n}Configure Library for Implicit Flow (without discovery document)\nWhen you don't have a discovery document, you have to configure more properties manually:\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // Login-Url\n this.oauthService.loginUrl = \"https://steyer-identity-server.azurewebsites.net/identity/connect/authorize\"; //Id-Provider?\n\n // URL of the SPA to redirect the user to after login\n this.oauthService.redirectUri = window.location.origin + \"/index.html\";\n\n // The SPA's id. Register SPA with this id at the auth-server\n this.oauthService.clientId = \"spa-demo\";\n\n // set the scope for the permissions the client should request\n this.oauthService.scope = \"openid profile email voucher\";\n\n // Use setStorage to use sessionStorage or another implementation of the TS-type Storage\n // instead of localStorage\n this.oauthService.setStorage(sessionStorage);\n\n // To also enable single-sign-out set the url for your auth-server's logout-endpoint here\n this.oauthService.logoutUrl = \"https://steyer-identity-server.azurewebsites.net/identity/connect/endsession\";\n\n // This method just tries to parse the token(s) within the url when\n // the auth-server redirects the user back to the web-app\n // It dosn't send the user the the login page\n this.oauthService.tryLogin(); \n\n\n }\n\n}Home-Component (for login)\nimport { Component } from '@angular/core';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\n@Component({\n templateUrl: \"app/home.html\" \n})\nexport class HomeComponent {\n\n constructor(private oAuthService: OAuthService) {\n }\n\n public login() {\n this.oAuthService.initImplicitFlow();\n }\n\n public logoff() {\n this.oAuthService.logOut();\n }\n\n public get name() {\n let claims = this.oAuthService.getIdentityClaims();\n if (!claims) return null;\n return claims.given_name; \n }\n\n}\n Hallo\n\n\n Hallo, {{name}}\n\n\n\n Login\n\n\n Logout\n\n\n\n Username/Passwort zum Testen: max/geheim\nValidate id_token\nYou can hook in an implementation of the interface TokenValidator to validate the signature of the received id_token and its at_hash property. This packages provides two implementations:\n\nJwksValidationHandler\nNullValidationHandler\n\nThe former one validates the signature against public keys received via the discovery document (property jwks) and the later one skips the validation on client side. \nimport { JwksValidationHandler } from 'angular-oauth2-oidc';\n\n[...]\n\nthis.oauthService.tokenValidationHandler = new JwksValidationHandler();In cases where no ValidationHandler is defined, you receive a warning on the console. This means that the library wants you to explicitly decide on this. \nCalling a Web API with OAuth-Token\nPass this Header to the used method of the Http-Service within an Instance of the class Headers:\nvar headers = new Headers({\n \"Authorization\": \"Bearer \" + this.oauthService.getAccessToken()\n});Refreshing a Token when using Implicit Flow\nTo refresh your tokens when using implicit flow you can use a silent refresh. This is a well-known solution that compensates the fact that implicit flow does not allow for issuing a refresh token. It uses a hidden iframe to get another token from the auth-server. When the user is there still logged in (by using a cookie) it will respond without user interaction and provide new tokens.\nTo use this approach, setup a redirect uri for the silent refresh:\nthis.oauthService.silentRefreshRedirectUri = window.location.origin + \"/silent-refresh.html\";Please keep in mind that this uri has to be configured at the auth-server too.\nThis file is loaded into the hidden iframe after getting new tokens. Its only task is to send the received tokens to the main application:\n\n\n \n parent.postMessage(location.hash, location.origin);\n \n\nPlease make sure that this file is copied to your output directory by your build task. When using the CLI you can define it as an asset for this. For this, you have to add the following line to the file .angular-cli.json:\n\"assets\": [\n [...],\n \"silent-refresh.html\"\n],To perform a silent refresh, just call the following method:\nthis\n .oauthService\n .silentRefresh()\n .then(info => console.debug('refresh ok', info))\n .catch(err => console.error('refresh error', err));When there is an error in the iframe that prevents the communication with the main application, silentRefresh will give you a timeout. To configure the timespan for this, you can set the property siletRefreshTimeout (msec). The default value is 20.000 (20 seconds).\nAutomatically refreshing a token when/ before it expires\nTo automatically refresh a token when/ some time before it expires, you can make use of the event token_expires:\nthis\n .oauthService\n .events\n .filter(e => e.type == 'token_expires')\n .subscribe(e => {\n this.oauthService.silentRefresh();\n });By default, this event is fired after 75% of the token's life time is over. You can adjust this factor by setting the property timeoutFactor to a value between 0 and 1. For instance, 0.5 means, that the event is fired after half of the life time is over and 0.33 triggers the event after a third.\nCallback after successful login\nThere is a callback onTokenReceived, that is called after a successful login. In this case, the lib received the access_token as\nwell as the id_token, if it was requested. If there is an id_token, the lib validated it.\nthis.oauthService.tryLogin({\n onTokenReceived: context => {\n //\n // Output just for purpose of demonstration\n // Don't try this at home ... ;-)\n // \n console.debug(\"logged in\");\n console.debug(context);\n }\n});Preserving State like the requested URL\nWhen calling initImplicitFlow, you can pass an optional state which could be the requested url:\nthis.oauthService.initImplicitFlow('http://www.myurl.com/x/y/z');After login succeeded, you can read this state:\nthis.oauthService.tryLogin({\n onTokenReceived: (info) => {\n console.debug('state', info.state);\n }\n})Custom Query Parameter\nYou can set the property customQueryParams to a hash with custom parameter that are transmitted when starting implicit flow.\nthis.oauthService.customQueryParams = {\n 'tenant': '4711',\n 'otherParam': 'someValue'\n};Routing with the HashStrategy\nIf you are leveraging the LocationStrategy which the Router is using by default, you can skip this section.\nWhen using the HashStrategy for Routing, the Router will override the received hash fragment with the tokens when it performs it initial navigation. This prevents the library from reading them. To avoid this, disable initial navigation when setting up the routes for your root module:\nexport let AppRouterModule = RouterModule.forRoot(APP_ROUTES, { \n useHash: true,\n initialNavigation: false\n});After tryLogin did its job, you can manually perform the initial navigation:\nthis.oauthService.tryLogin().then(_ => {\n this.router.navigate(['/']);\n})Another solution is the use a redirect uri that already contains the initial route. In this case the router will not override it. An example for such a redirect uri is\n http://localhost:8080/#/homeEvents\nthis.oauthService.events.subscribe(e => {\n console.debug('oauth/oidc event', e);\n})Using Password-Flow\nThis section shows how to use the password flow, which demands the user to directly enter his or her password into the client.\nConfigure Library for Password Flow (using discovery document)\nTo configure the library you just have to set some properties on startup. For this, the following sample uses the constructor of the AppComponent which is called before routing kicks in.\nPlease not, that this configuation is quite similar to the one for the implcit flow.\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // The SPA's id. Register SPA with this id at the auth-server\n this.oauthService.clientId = \"demo-resource-owner\";\n\n // set the scope for the permissions the client should request\n // The auth-server used here only returns a refresh token (see below), when the scope offline_access is requested\n this.oauthService.scope = \"openid profile email voucher offline_access\";\n\n // Use setStorage to use sessionStorage or another implementation of the TS-type Storage\n // instead of localStorage\n this.oauthService.setStorage(sessionStorage);\n\n // Set a dummy secret\n // Please note that the auth-server used here demand the client to transmit a client secret, although\n // the standard explicitly cites that the password flow can also be used without it. Using a client secret\n // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret\n // Using such a dummy secreat is as safe as using no secret.\n this.oauthService.dummyClientSecret = \"geheim\";\n\n // Load Discovery Document and then try to login the user\n let url = 'https://steyer-identity-server.azurewebsites.net/identity/.well-known/openid-configuration';\n this.oauthService.loadDiscoveryDocument(url).then(() => {\n // Do what ever you want here\n });\n\n }\n\n}Configure Library for Password Flow (without discovery document)\nIn cases where you don't have an OIDC based discovery document you have to configure some more properties manually:\n@Component({ ... })\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n\n // Login-Url\n this.oauthService.tokenEndpoint = \"https://steyer-identity-server.azurewebsites.net/identity/connect/token\"; \n\n // Url with user info endpoint\n // This endpont is described by OIDC and provides data about the loggin user\n // This sample uses it, because we don't get an id_token when we use the password flow\n // If you don't want this lib to fetch data about the user (e. g. id, name, email) you can skip this line\n this.oauthService.userinfoEndpoint = \"https://steyer-identity-server.azurewebsites.net/identity/connect/userinfo\";\n\n // The SPA's id. Register SPA with this id at the auth-server\n this.oauthService.clientId = \"demo-resource-owner\";\n\n // set the scope for the permissions the client should request\n this.oauthService.scope = \"openid profile email voucher offline_access\";\n\n // Set a dummy secret\n // Please note that the auth-server used here demand the client to transmit a client secret, although\n // the standard explicitly cites that the password flow can also be used without it. Using a client secret\n // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret\n // Using such a dummy secreat is as safe as using no secret.\n this.oauthService.dummyClientSecret = \"geheim\";\n\n }\n\n}Fetching an Access Token by providing the current user's credentials\nthis.oauthService.fetchTokenUsingPasswordFlow('max', 'geheim').then((resp) => {\n\n // Loading data about the user\n return this.oauthService.loadUserProfile();\n\n}).then(() => {\n\n // Using the loaded user data\n let claims = this.oAuthService.getIdentityClaims();\n if (claims) console.debug('given_name', claims.given_name); \n\n})There is also a short form for fetching the token and loading the user profile:\nthis.oauthService.fetchTokenUsingPasswordFlowAndLoadUserProfile('max', 'geheim').then(() => {\n let claims = this.oAuthService.getIdentityClaims();\n if (claims) console.debug('given_name', claims.given_name); \n});Refreshing the current Access Token\nUsing the password flow you MIGHT get a refresh token (which isn't the case with the implicit flow by design!). You can use this token later to get a new access token, e. g. after it expired.\nthis.oauthService.refreshToken().then(() => {\n console.debug('ok');\n})\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n \n\n\nOverview\n \n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\n\n\n \n \n Zoom in\n Reset\n Zoom out\n \n \n\n \n \n \n \n \n \n 1 module\n \n \n \n \n \n \n \n \n 2 injectables\n \n \n \n \n \n \n \n 9 classes\n \n \n \n \n \n \n \n 4 interfaces\n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nCopyright (c) 2017 Manfred Steyer\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n \n\n\n\nModules\n\n \n \n \n \n OAuthModule\n \n \n \n \n Your browser does not support SVG\n \n \n \n Browse\n \n \n \n \n \n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OAuthModule.html":{"url":"modules/OAuthModule.html","title":"module - OAuthModule","body":"\n \n\n\n\n\n Modules\n OAuthModule\n\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n\n \n File\n \n \n src/index.ts\n \n\n\n \n \n \n \n \n\n\n \n import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OAuthService } from './oauth-service';\n\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/operator/do';\nimport 'rxjs/add/operator/filter';\nimport 'rxjs/add/operator/delay';\nimport 'rxjs/add/operator/first';\nimport 'rxjs/add/operator/toPromise';\nimport 'rxjs/add/operator/publish';\n\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/observable/race';\n\nexport * from \"./oauth-service\";\nexport * from './token-validation/jwks-validation-handler';\nexport * from './token-validation/null-validation-handler';\nexport * from './token-validation/validation-handler';\nexport * from \"./url-helper.service\";\n\nimport { UrlHelperService } from \"./url-helper.service\";\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class OAuthModule {\n static forRoot(): ModuleWithProviders {\n return {\n ngModule: OAuthModule,\n providers: [\n OAuthService,\n UrlHelperService\n ]\n };\n }\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuthService.html":{"url":"injectables/OAuthService.html","title":"injectable - OAuthService","body":"\n \n\n\n\n\n\n\n\n Injectables\n OAuthService\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/oauth-service.ts\n \n\n \n Description\n \n \n Service for logging in and logging out with\nOIDC and OAuth2. Supports implicit flow and\npassword flow.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private _storage\n \n \n Private accessTokenTimeoutSubscription\n \n \n Public clearHashAfterLogin\n \n \n Public clientId\n \n \n Public customQueryParams\n \n \n Public discoveryDocumentLoaded\n \n \n Public discoveryDocumentLoaded$\n \n \n Private discoveryDocumentLoadedSubject\n \n \n Public dummyClientSecret\n \n \n Public events\n \n \n Private eventsSubject\n \n \n Private grantTypesSupported\n \n \n Private idTokenTimeoutSubscription\n \n \n Public issuer\n \n \n Public jwks\n \n \n Private jwksUri\n \n \n Public loginUrl\n \n \n Public logoutUrl\n \n \n Public oidc\n \n \n Public options\n \n \n Public postLogoutRedirectUri\n \n \n Private receivedFirstToken\n \n \n Public redirectUri\n \n \n Public requestAccessToken\n \n \n Public requireHttps\n \n \n Public resource\n \n \n Public responseType\n \n \n Public rngUrl\n \n \n Public scope\n \n \n Public showDebugInformation\n \n \n Public silentRefreshIFrameName\n \n \n Public silentRefreshMessagePrefix\n \n \n Private silentRefreshPostMessageEventListener\n \n \n Public silentRefreshRedirectUri\n \n \n Public silentRefreshShowIFrame\n \n \n Public siletRefreshTimeout\n \n \n Public state\n \n \n Public strictDiscoveryDocumentValidation\n \n \n Public timeoutFactor\n \n \n Public tokenEndpoint\n \n \n Public tokenValidationHandler\n \n \n Public userinfoEndpoint\n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n Public authorizationHeader\n \n \n Private calcTimeout\n \n \n Private callOnTokenReceivedIfExists\n \n \n Private checkAtHash\n \n \n Private checkSignature\n \n \n Private clearAccessTokenTimer\n \n \n Private clearIdTokenTimer\n \n \n Public createAndSaveNonce\n \n \n Private createLoginUrl\n \n \n Protected createNonce\n \n \n Private debug\n \n \n Public fetchTokenUsingPasswordFlow\n \n \n Public fetchTokenUsingPasswordFlowAndLoadUserProfile\n \n \n Public getAccessToken\n \n \n Public getAccessTokenExpiration\n \n \n Public getIdentityClaims\n \n \n Public getIdToken\n \n \n Public getIdTokenExpiration\n \n \n Private getKeyCount\n \n \n Private handleLoginError\n \n \n Public hasValidAccessToken\n \n \n Public hasValidIdToken\n \n \n Public initImplicitFlow\n \n \n Public loadDiscoveryDocument\n \n \n Private loadJwks\n \n \n Public loadUserProfile\n \n \n Public logOut\n \n \n Private padBase64\n \n \n Public processIdToken\n \n \n Public refreshToken\n \n \n Private removeSilentRefreshEventListener\n \n \n Public setStorage\n \n \n Private setupAccessTokenTimer\n \n \n Private setupIdTokenTimer\n \n \n Private setupSilentRefreshEventListener\n \n \n Private setupTimer\n \n \n Public silentRefresh\n \n \n Private storeAccessTokenResponse\n \n \n Protected storeIdToken\n \n \n Public tryLogin\n \n \n Private validateDiscoveryDocument\n \n \n Private validateNonceForAccessToken\n \n \n Private validateUrlAgainstIssuer\n \n \n Private validateUrlForHttps\n \n \n Private validateUrlFromDiscoveryDocument\n \n \n \n \n \n \n \n\n \n Constructor\n \n \n \n \n constructor(http: Http, urlHelper: UrlHelperService)\n \n \n \n \n Defined in src/oauth-service.ts:202\n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n Public authorizationHeader\n \n \n \n \n \n authorizationHeader()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1171\n \n \n \n \n \n Returns the auth-header that can be used\n to transmit the access_token to a service\n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Private calcTimeout\n \n \n \n \n \n calcTimeout(expiration: number)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:331\n \n \n \n \n \n \n \n Returns : number\n \n \n \n \n \n \n \n \n \n \n \n Private callOnTokenReceivedIfExists\n \n \n \n \n \n callOnTokenReceivedIfExists(options: LoginOptions)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:831\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Private checkAtHash\n \n \n \n \n \n checkAtHash(params: ValidationParams)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1243\n \n \n \n \n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Private checkSignature\n \n \n \n \n \n checkSignature(params: ValidationParams)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1252\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Private clearAccessTokenTimer\n \n \n \n \n \n clearAccessTokenTimer()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:319\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Private clearIdTokenTimer\n \n \n \n \n \n clearIdTokenTimer()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:325\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public createAndSaveNonce\n \n \n \n \n \n createAndSaveNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1215\n \n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private createLoginUrl\n \n \n \n \n \n createLoginUrl(state: string, loginHint: string, customRedirectUri: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:727\n \n \n \n \n \n \n \n Returns : any\n \n \n \n \n \n \n \n \n \n \n \n Protected createNonce\n \n \n \n \n \n createNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1223\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Private debug\n \n \n \n \n \n debug(...args: any[])\n \n \n \n \n \n \n Defined in src/oauth-service.ts:225\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public fetchTokenUsingPasswordFlow\n \n \n \n \n \n fetchTokenUsingPasswordFlow(userName: string, password: string, headers: Headers)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:550\n \n \n \n \n \n Uses password flow to exchange userName and password for an access_token.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n userName\n \n \n \n \n \n password\n \n \n \n \n \n headers\n \n \n Optional additional http-headers.\n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public fetchTokenUsingPasswordFlowAndLoadUserProfile\n \n \n \n \n \n fetchTokenUsingPasswordFlowAndLoadUserProfile(userName: string, password: string, headers: Headers)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:492\n \n \n \n \n \n Uses password flow to exchange userName and password for an\n access_token. After receiving the access_token, this method\n uses it to query the userinfo endpoint in order to get information\n about the user in question.\n When using this, make sure that the property oidc is set to false.\n Otherwise stricter validations take happen that makes this operation\n fail.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n userName\n \n \n \n \n \n password\n \n \n \n \n \n headers\n \n \n Optional additional http-headers.\n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public getAccessToken\n \n \n \n \n \n getAccessToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1111\n \n \n \n \n \n Returns the current access_token.\n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Public getAccessTokenExpiration\n \n \n \n \n \n getAccessTokenExpiration()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1119\n \n \n \n \n \n Returns the expiration date of the access_token\n as milliseconds since 1970.\n \n \n \n Returns : number\n \n \n \n \n \n \n \n \n \n \n \n Public getIdentityClaims\n \n \n \n \n \n getIdentityClaims()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1088\n \n \n \n \n \n Returns the received claims about the user.\n \n \n \n Returns : object\n \n \n \n \n \n \n \n \n \n \n \n Public getIdToken\n \n \n \n \n \n getIdToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1097\n \n \n \n \n \n Returns the current id_token.\n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Public getIdTokenExpiration\n \n \n \n \n \n getIdTokenExpiration()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1127\n \n \n \n \n \n Returns the expiration date of the id_token\n as milliseconds since 1970.\n \n \n \n Returns : number\n \n \n \n \n \n \n \n \n \n \n \n Private getKeyCount\n \n \n \n \n \n getKeyCount()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:218\n \n \n \n \n \n \n \n Returns : number\n \n \n \n \n \n \n \n \n \n \n \n Private handleLoginError\n \n \n \n \n \n handleLoginError(options: LoginOptions, parts: object)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:967\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public hasValidAccessToken\n \n \n \n \n \n hasValidAccessToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1134\n \n \n \n \n \n Checkes, whether there is a valid access_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Public hasValidIdToken\n \n \n \n \n \n hasValidIdToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1152\n \n \n \n \n \n Checkes, whether there is a valid id_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Public initImplicitFlow\n \n \n \n \n \n initImplicitFlow(additionalState: , loginHint: )\n \n \n \n \n \n \n Defined in src/oauth-service.ts:816\n \n \n \n \n \n Starts the implicit flow and redirects to user to\n the auth servers login url. \n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n additionalState\n \n \n Optinal state that is passes around. You find this state in the property state after tryLogin logged in the user.\n \n \n \n loginHint\n \n \n \n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public loadDiscoveryDocument\n \n \n \n \n \n loadDiscoveryDocument(fullUrl: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:358\n \n \n \n \n \n Loads the discovery document to configure most\n properties of this service. The url of the discovery\n document is infered from the issuer's url according\n to the OpenId Connect spec. To use another url you\n can pass it to to optional parameter fullUrl.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n fullUrl\n \n \n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private loadJwks\n \n \n \n \n \n loadJwks()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:410\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Public loadUserProfile\n \n \n \n \n \n loadUserProfile()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:505\n \n \n \n \n \n Loads the user profile by accessing the user info endpoint defined by OpenId Connect.\n When using this with OAuth2 password flow, make sure that the property oidc is set to false.\n Otherwise stricter validations take happen that makes this operation\n fail.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Public logOut\n \n \n \n \n \n logOut(noRedirectToLogoutUrl: boolean)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1181\n \n \n \n \n \n Removes all tokens and logs the user out.\n If a logout url is configured, the user is \n redirected to it.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n noRedirectToLogoutUrl\n \n \n \n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private padBase64\n \n \n \n \n \n padBase64(base64data: )\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1101\n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n Public processIdToken\n \n \n \n \n \n processIdToken(idToken: string, accessToken: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:977\n \n \n \n \n \n \n \n \n \n Returns : Promise<>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public refreshToken\n \n \n \n \n \n refreshToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:595\n \n \n \n \n \n Refreshes the token using a refresh_token.\n This does not work for implicit flow, b/c\n there is no refresh_token in this flow.\n A solution for this is provided by the\n method silentRefresh.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n Private removeSilentRefreshEventListener\n \n \n \n \n \n removeSilentRefreshEventListener()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:633\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public setStorage\n \n \n \n \n \n setStorage(storage: OAuthStorage)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:345\n \n \n \n \n \n Sets a custom storage used to store the received\n tokens on client side. By default, the browser's\n sessionStorage is used.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n storage\n \n \n \n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private setupAccessTokenTimer\n \n \n \n \n \n setupAccessTokenTimer()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:296\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Private setupIdTokenTimer\n \n \n \n \n \n setupIdTokenTimer()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:308\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Private setupSilentRefreshEventListener\n \n \n \n \n \n setupSilentRefreshEventListener()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:640\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Private setupTimer\n \n \n \n \n \n setupTimer()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:271\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefresh\n \n \n \n \n \n silentRefresh()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:679\n \n \n \n \n \n Performs a silent refresh for implicit flow.\n Use this method to get a new tokens when/ before \n the existing tokens expires.\n \n \n \n Returns : Promise<>\n \n \n \n \n \n \n \n \n \n \n \n Private storeAccessTokenResponse\n \n \n \n \n \n storeAccessTokenResponse(accessToken: string, refreshToken: string, expiresIn: number)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:844\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Protected storeIdToken\n \n \n \n \n \n storeIdToken(idToken: ParsedIdToken)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:961\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Public tryLogin\n \n \n \n \n \n tryLogin(options: LoginOptions)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:869\n \n \n \n \n \n Checks whether there are tokens in the hash fragment\n as a result of the implicit flow. These tokens are\n parsed, validated and used to sign the user in to the\n current client.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n options\n \n \n Optinal options.\n \n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private validateDiscoveryDocument\n \n \n \n \n \n validateDiscoveryDocument(doc: object)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:433\n \n \n \n \n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Private validateNonceForAccessToken\n \n \n \n \n \n validateNonceForAccessToken(accessToken: string, nonceInState: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:951\n \n \n \n \n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Private validateUrlAgainstIssuer\n \n \n \n \n \n validateUrlAgainstIssuer(url: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:265\n \n \n \n \n \n \n \n Returns : any\n \n \n \n \n \n \n \n \n \n \n \n Private validateUrlForHttps\n \n \n \n \n \n validateUrlForHttps(url: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:248\n \n \n \n \n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n Private validateUrlFromDiscoveryDocument\n \n \n \n \n \n validateUrlFromDiscoveryDocument(url: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:231\n \n \n \n \n \n \n \n Returns : string[]\n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n Private _storage\n \n \n \n \n _storage: OAuthStorage\n \n \n \n \n \n Type : OAuthStorage\n \n \n \n \n \n Defined in src/oauth-service.ts:190\n \n \n \n \n \n \n \n \n \n \n \n Private accessTokenTimeoutSubscription\n \n \n \n \n accessTokenTimeoutSubscription: Subscription\n \n \n \n \n \n Type : Subscription\n \n \n \n \n \n Defined in src/oauth-service.ts:199\n \n \n \n \n \n \n \n \n \n \n \n Public clearHashAfterLogin\n \n \n \n \n clearHashAfterLogin: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:82\n \n \n \n \n \n Defines whether to clear the hash fragment after logging in.\n \n \n \n \n \n \n \n \n \n \n \n Public clientId\n \n \n \n \n clientId: \n \n \n \n \n \n Defined in src/oauth-service.ts:23\n \n \n \n \n \n The client's id as registered with the auth server\n \n \n \n \n \n \n \n \n \n \n \n Public customQueryParams\n \n \n \n \n customQueryParams: object\n \n \n \n \n \n Type : object\n \n \n \n \n \n Defined in src/oauth-service.ts:162\n \n \n \n \n \n Map with additional query parameter that are appended to\n the request when initializing implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public discoveryDocumentLoaded\n \n \n \n \n discoveryDocumentLoaded: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in src/oauth-service.ts:169\n \n \n \n \n \n \n \n \n \n \n \n Public discoveryDocumentLoaded$\n \n \n \n \n discoveryDocumentLoaded$: Observable\n \n \n \n \n \n Type : Observable\n \n \n \n \n \n Defined in src/oauth-service.ts:175\n \n \n \n \n \n \n \n \n \n \n \n Private discoveryDocumentLoadedSubject\n \n \n \n \n discoveryDocumentLoadedSubject: Subject\n \n \n \n \n \n Type : Subject\n \n \n \n \n \n Defined in src/oauth-service.ts:177\n \n \n \n \n \n \n \n \n \n \n \n Public dummyClientSecret\n \n \n \n \n dummyClientSecret: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:129\n \n \n \n \n \n Some auth servers don't allow using password flow\n w/o a client secreat while the standards do not\n demand for it. In this case, you can set a password\n here. As this passwort is exposed to the public\n it does not bring additional security and is therefore\n as good as using no password.\n \n \n \n \n \n \n \n \n \n \n \n Public events\n \n \n \n \n events: Observable\n \n \n \n \n \n Type : Observable\n \n \n \n \n \n Defined in src/oauth-service.ts:183\n \n \n \n \n \n Informs about events, like token_received or token_expires.\n See the string enum EventType for a full list of events.\n \n \n \n \n \n \n \n \n \n \n \n Private eventsSubject\n \n \n \n \n eventsSubject: Subject\n \n \n \n \n \n Type : Subject\n \n \n \n \n \n Defined in src/oauth-service.ts:184\n \n \n \n \n \n \n \n \n \n \n \n Private grantTypesSupported\n \n \n \n \n grantTypesSupported: Array\n \n \n \n \n \n Type : Array\n \n \n \n \n \n Defined in src/oauth-service.ts:189\n \n \n \n \n \n \n \n \n \n \n \n Private idTokenTimeoutSubscription\n \n \n \n \n idTokenTimeoutSubscription: Subscription\n \n \n \n \n \n Type : Subscription\n \n \n \n \n \n Defined in src/oauth-service.ts:200\n \n \n \n \n \n \n \n \n \n \n \n Public issuer\n \n \n \n \n issuer: \n \n \n \n \n \n Defined in src/oauth-service.ts:72\n \n \n \n \n \n The issuer's uri.\n \n \n \n \n \n \n \n \n \n \n \n Public jwks\n \n \n \n \n jwks: object\n \n \n \n \n \n Type : object\n \n \n \n \n \n Defined in src/oauth-service.ts:156\n \n \n \n \n \n JSON Web Key Set (https://tools.ietf.org/html/rfc7517)\n with keys used to validate received id_tokens.\n This is taken out of the disovery document. Can be set manually too.\n \n \n \n \n \n \n \n \n \n \n \n Private jwksUri\n \n \n \n \n jwksUri: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:202\n \n \n \n \n \n \n \n \n \n \n \n Public loginUrl\n \n \n \n \n loginUrl: \n \n \n \n \n \n Defined in src/oauth-service.ts:40\n \n \n \n \n \n The auth server's endpoint that allows to log\n the user in when using implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public logoutUrl\n \n \n \n \n logoutUrl: \n \n \n \n \n \n Defined in src/oauth-service.ts:77\n \n \n \n \n \n The logout url.\n \n \n \n \n \n \n \n \n \n \n \n Public oidc\n \n \n \n \n oidc: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:54\n \n \n \n \n \n Defines whether to use OpenId Connect during\n implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public options\n \n \n \n \n options: any\n \n \n \n \n \n Type : any\n \n \n \n \n \n Defined in src/oauth-service.ts:61\n \n \n \n \n \n \n \n \n \n \n \n Public postLogoutRedirectUri\n \n \n \n \n postLogoutRedirectUri: \n \n \n \n \n \n Defined in src/oauth-service.ts:34\n \n \n \n \n \n An optional second redirectUri where the auth server\n redirects the user to after logging out.\n \n \n \n \n \n \n \n \n \n \n \n Private receivedFirstToken\n \n \n \n \n receivedFirstToken: \n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:859\n \n \n \n \n \n \n \n \n \n \n \n Public redirectUri\n \n \n \n \n redirectUri: \n \n \n \n \n \n Defined in src/oauth-service.ts:28\n \n \n \n \n \n The client's redirectUri as registered with the auth server\n \n \n \n \n \n \n \n \n \n \n \n Public requestAccessToken\n \n \n \n \n requestAccessToken: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:60\n \n \n \n \n \n Defines whether to request a access token during\n implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public requireHttps\n \n \n \n \n requireHttps: boolean|\n \n \n \n \n \n Type : boolean|\n \n \n \n \n \n Default value : remoteOnly\n \n \n \n \n Defined in src/oauth-service.ts:143\n \n \n \n \n \n Defines whether https is required.\n The default value is remoteOnly which only allows\n http for location, while every other domains need\n to be used with https.\n \n \n \n \n \n \n \n \n \n \n \n Public resource\n \n \n \n \n resource: \n \n \n \n \n \n Defined in src/oauth-service.ts:47\n \n \n \n \n \n \n \n \n \n \n \n Public responseType\n \n \n \n \n responseType: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Default value : token\n \n \n \n \n Defined in src/oauth-service.ts:94\n \n \n \n \n \n \n \n \n \n \n \n Public rngUrl\n \n \n \n \n rngUrl: \n \n \n \n \n \n Defined in src/oauth-service.ts:48\n \n \n \n \n \n \n \n \n \n \n \n Public scope\n \n \n \n \n scope: \n \n \n \n \n \n Default value : openid profile\n \n \n \n \n Defined in src/oauth-service.ts:45\n \n \n \n \n \n The requested scopes\n \n \n \n \n \n \n \n \n \n \n \n Public showDebugInformation\n \n \n \n \n showDebugInformation: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in src/oauth-service.ts:100\n \n \n \n \n \n Defines whether additional debug information should \n be shown at the console.\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshIFrameName\n \n \n \n \n silentRefreshIFrameName: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Default value : angular-oauth-oidc-silent-refresh-iframe\n \n \n \n \n Defined in src/oauth-service.ts:186\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshMessagePrefix\n \n \n \n \n silentRefreshMessagePrefix: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:107\n \n \n \n \n \n \n \n \n \n \n \n Private silentRefreshPostMessageEventListener\n \n \n \n \n silentRefreshPostMessageEventListener: EventListener\n \n \n \n \n \n Type : EventListener\n \n \n \n \n \n Defined in src/oauth-service.ts:187\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshRedirectUri\n \n \n \n \n silentRefreshRedirectUri: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:105\n \n \n \n \n \n The redirect uri used when doing silent refresh.\n \n \n \n \n \n \n \n \n \n \n \n Public silentRefreshShowIFrame\n \n \n \n \n silentRefreshShowIFrame: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in src/oauth-service.ts:113\n \n \n \n \n \n Set this to true to display the iframe used for \n silent refresh for debugging.\n \n \n \n \n \n \n \n \n \n \n \n Public siletRefreshTimeout\n \n \n \n \n siletRefreshTimeout: number\n \n \n \n \n \n Type : number\n \n \n \n \n \n Defined in src/oauth-service.ts:119\n \n \n \n \n \n Timeout for silent refresh. \n \n \n \n \n \n \n \n \n \n \n \n Public state\n \n \n \n \n state: \n \n \n \n \n \n Defined in src/oauth-service.ts:67\n \n \n \n \n \n The received (passed around) state, when logging\n in with implicit flow.\n \n \n \n \n \n \n \n \n \n \n \n Public strictDiscoveryDocumentValidation\n \n \n \n \n strictDiscoveryDocumentValidation: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Default value : true\n \n \n \n \n Defined in src/oauth-service.ts:149\n \n \n \n \n \n Defines whether every url provided by the discovery \n document has to start with the issuer's url.\n \n \n \n \n \n \n \n \n \n \n \n Public timeoutFactor\n \n \n \n \n timeoutFactor: number\n \n \n \n \n \n Type : number\n \n \n \n \n \n Default value : 0.75\n \n \n \n \n Defined in src/oauth-service.ts:197\n \n \n \n \n \n Defines when the token_timeout event should be raised.\n If you set this to the default value 0.75, the event\n is triggered after 75% of the token's life time.\n \n \n \n \n \n \n \n \n \n \n \n Public tokenEndpoint\n \n \n \n \n tokenEndpoint: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:87\n \n \n \n \n \n Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n \n \n \n \n \n \n \n \n \n \n \n Public tokenValidationHandler\n \n \n \n \n tokenValidationHandler: ValidationHandler\n \n \n \n \n \n Type : ValidationHandler\n \n \n \n \n \n Defined in src/oauth-service.ts:135\n \n \n \n \n \n The ValidationHandler used to validate received\n id_tokens.\n \n \n \n \n \n \n \n \n \n \n \n Public userinfoEndpoint\n \n \n \n \n userinfoEndpoint: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/oauth-service.ts:92\n \n \n \n \n \n Url of the userinfo endpoint as defined by OpenId Connect.\n \n \n \n \n \n \n \n \n\n\n \n import { Http, URLSearchParams, Headers } from '@angular/http';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\nimport { ValidationHandler, ValidationParams } from \"./token-validation/validation-handler\";\nimport { NullValidationHandler } from \"./token-validation/null-validation-handler\";\nimport { UrlHelperService } from \"./url-helper.service\";\nimport { Subscription } from \"rxjs/Subscription\";\nimport { OAuthEvent, OAuthInfoEvent, OAuthErrorEvent, OAuthSuccessEvent } from \"./events\";\nimport { OAuthStorage, LoginOptions, ParsedIdToken } from \"./types\";\n\n/**\n * Service for logging in and logging out with\n * OIDC and OAuth2. Supports implicit flow and\n * password flow.\n */\n@Injectable()\nexport class OAuthService {\n\n /**\n * The client's id as registered with the auth server\n */\n public clientId = \"\";\n\n /**\n * The client's redirectUri as registered with the auth server\n */\n public redirectUri = \"\";\n\n /**\n * An optional second redirectUri where the auth server\n * redirects the user to after logging out.\n */\n public postLogoutRedirectUri = \"\";\n\n /**\n * The auth server's endpoint that allows to log\n * the user in when using implicit flow.\n */\n public loginUrl = \"\";\n\n /**\n * The requested scopes\n */\n public scope = \"openid profile\";\n\n public resource = \"\";\n public rngUrl = \"\";\n\n /**\n * Defines whether to use OpenId Connect during\n * implicit flow.\n */\n public oidc: boolean = true;\n\n /**\n * Defines whether to request a access token during\n * implicit flow.\n */\n public requestAccessToken: boolean = true;\n public options: any;\n \n /**\n * The received (passed around) state, when logging\n * in with implicit flow.\n */\n public state = \"\";\n\n /**\n * The issuer's uri.\n */\n public issuer = \"\";\n\n /**\n * The logout url.\n */\n public logoutUrl = \"\";\n\n /**\n * Defines whether to clear the hash fragment after logging in.\n */\n public clearHashAfterLogin: boolean = true;\n\n /**\n * Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n */\n public tokenEndpoint: string;\n\n /**\n * Url of the userinfo endpoint as defined by OpenId Connect.\n */\n public userinfoEndpoint: string;\n\n public responseType: string = \"token\";\n\n /**\n * Defines whether additional debug information should \n * be shown at the console.\n */\n public showDebugInformation: boolean = false;\n\n /**\n * The redirect uri used when doing silent refresh.\n */\n public silentRefreshRedirectUri: string = '';\n\n public silentRefreshMessagePrefix: string = '';\n\n /**\n * Set this to true to display the iframe used for \n * silent refresh for debugging.\n */\n public silentRefreshShowIFrame: boolean = false;\n \n\n /**\n * Timeout for silent refresh. \n */\n public siletRefreshTimeout: number = 1000 * 20; \n\n /**\n * Some auth servers don't allow using password flow\n * w/o a client secreat while the standards do not\n * demand for it. In this case, you can set a password\n * here. As this passwort is exposed to the public\n * it does not bring additional security and is therefore\n * as good as using no password.\n */\n public dummyClientSecret: string;\n\n /**\n * The ValidationHandler used to validate received\n * id_tokens.\n */\n public tokenValidationHandler: ValidationHandler;\n\n /**\n * Defines whether https is required.\n * The default value is remoteOnly which only allows\n * http for location, while every other domains need\n * to be used with https.\n */\n public requireHttps: boolean | 'remoteOnly' = 'remoteOnly';\n \n /**\n * Defines whether every url provided by the discovery \n * document has to start with the issuer's url.\n */\n public strictDiscoveryDocumentValidation: boolean = true;\n\n /**\n * JSON Web Key Set (https://tools.ietf.org/html/rfc7517)\n * with keys used to validate received id_tokens.\n * This is taken out of the disovery document. Can be set manually too.\n */\n public jwks: object;\n\n /**\n * Map with additional query parameter that are appended to\n * the request when initializing implicit flow.\n */\n public customQueryParams: object;\n\n /**\n * @internal\n * Deprecated: use property events instead\n */\n \n public discoveryDocumentLoaded: boolean = false;\n \n /**\n * @internal\n * Deprecated: use property events instead\n */\n public discoveryDocumentLoaded$: Observable;\n \n private discoveryDocumentLoadedSubject: Subject = new Subject();\n\n /**\n * Informs about events, like token_received or token_expires.\n * See the string enum EventType for a full list of events.\n */\n public events: Observable;\n private eventsSubject: Subject = new Subject();\n\n public silentRefreshIFrameName: string = 'angular-oauth-oidc-silent-refresh-iframe';\n private silentRefreshPostMessageEventListener: EventListener;\n\n private grantTypesSupported: Array = [];\n private _storage: OAuthStorage;\n\n /**\n * Defines when the token_timeout event should be raised.\n * If you set this to the default value 0.75, the event\n * is triggered after 75% of the token's life time.\n */\n public timeoutFactor: number = 0.75;\n\n private accessTokenTimeoutSubscription: Subscription;\n private idTokenTimeoutSubscription: Subscription;\n\n private jwksUri: string;\n\n constructor(\n private http: Http,\n private urlHelper: UrlHelperService) {\n \n this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();\n this.events = this.eventsSubject.asObservable();\n\n if (sessionStorage) {\n this._storage = sessionStorage;\n }\n\n this.setupTimer();\n }\n\n private getKeyCount(): number {\n if (!this.jwks) return 0;\n if (!this.jwks['keys']) return 0;\n return this.jwks['keys'].length;\n }\n\n\n private debug(...args): void {\n if (this.showDebugInformation) {\n console.debug.apply(console, args);\n }\n }\n\n private validateUrlFromDiscoveryDocument(url: string): string[] {\n\n let errors: string[] = [];\n let httpsCheck = this.validateUrlForHttps(url);\n let issuerCheck = this.validateUrlAgainstIssuer(url);\n\n if (!httpsCheck) {\n errors.push('https for all urls required. Also for urls received by discovery.');\n }\n\n if (!issuerCheck) {\n errors.push('Every url in discovery document has to start with the issuer url. Also see property strictDiscoveryDocumentValidation.');\n }\n\n return errors;\n }\n\n private validateUrlForHttps(url: string): boolean {\n \n if (!url) return true;\n \n let lcUrl = url.toLowerCase();\n \n if (this.requireHttps == false) return true;\n\n if ((lcUrl.match(/^http:\\/\\/localhost($|[:\\/])/) \n || lcUrl.match(/^http:\\/\\/localhost($|[:\\/])/))\n && this.requireHttps == 'remoteOnly') {\n return true;\n }\n\n return lcUrl.startsWith('https://');\n }\n\n private validateUrlAgainstIssuer(url: string) {\n if (!this.strictDiscoveryDocumentValidation) return true;\n if (!url) return true;\n return url.toLowerCase().startsWith(this.issuer.toLowerCase());\n }\n\n private setupTimer(): void {\n \n if (!window) {\n this.debug('timer not supported on this plattform')\n return;\n } \n\n this.events.filter(e => e.type == 'token_received').subscribe(_ => {\n \n this.clearAccessTokenTimer();\n this.clearIdTokenTimer();\n\n let now = Date.now();\n\n if (this.hasValidAccessToken()) {\n this.setupAccessTokenTimer();\n }\n\n if (this.hasValidIdToken()) {\n this.setupIdTokenTimer();\n }\n\n });\n }\n\n private setupAccessTokenTimer(): void {\n let expiration = this.getAccessTokenExpiration();\n let timeout = this.calcTimeout(expiration);\n \n this.accessTokenTimeoutSubscription = \n Observable\n .of(new OAuthInfoEvent('token_expires', 'access_token'))\n .delay(timeout)\n .subscribe(e => this.eventsSubject.next(e));\n }\n\n\n private setupIdTokenTimer(): void {\n let expiration = this.getAccessTokenExpiration();\n let timeout = this.calcTimeout(expiration);\n \n this.accessTokenTimeoutSubscription = \n Observable\n .of(new OAuthInfoEvent('token_expires', 'id_token'))\n .delay(timeout)\n .subscribe(e => this.eventsSubject.next(e));\n }\n\n private clearAccessTokenTimer(): void {\n if (this.accessTokenTimeoutSubscription) {\n this.accessTokenTimeoutSubscription.unsubscribe();\n }\n }\n\n private clearIdTokenTimer(): void {\n if (this.idTokenTimeoutSubscription) {\n this.idTokenTimeoutSubscription.unsubscribe();\n }\n }\n\n private calcTimeout(expiration: number): number {\n let now = Date.now();\n let delta = (expiration - now) * this.timeoutFactor;\n // let timeout = now + delta;\n return delta;\n }\n\n /**\n * Sets a custom storage used to store the received\n * tokens on client side. By default, the browser's\n * sessionStorage is used.\n * \n * @param storage \n */\n public setStorage(storage: OAuthStorage): void {\n this._storage = storage;\n }\n\n /**\n * Loads the discovery document to configure most\n * properties of this service. The url of the discovery\n * document is infered from the issuer's url according\n * to the OpenId Connect spec. To use another url you\n * can pass it to to optional parameter fullUrl.\n * \n * @param fullUrl \n */\n public loadDiscoveryDocument(fullUrl: string = null): Promise {\n\n return new Promise((resolve, reject) => {\n\n if (!fullUrl) {\n fullUrl = this.issuer + '/.well-known/openid-configuration';\n }\n\n if (!this.validateUrlForHttps(fullUrl)) {\n reject('loginUrl must use Http. Also check property requireHttps.');\n return;\n }\n \n this.http.get(fullUrl).map(r => r.json()).subscribe(\n (doc) => {\n\n if (!this.validateDiscoveryDocument(doc)) {\n this.eventsSubject.next(new OAuthErrorEvent('discovery_document_validation_error', null));\n reject('discovery_document_validation_error');\n return;\n }\n\n this.loginUrl = doc.authorization_endpoint;\n this.logoutUrl = doc.end_session_endpoint;\n this.grantTypesSupported = doc.grant_types_supported;\n this.issuer = doc.issuer;\n this.tokenEndpoint = doc.token_endpoint;\n this.userinfoEndpoint = doc.userinfo_endpoint;\n this.jwksUri = doc.jwks_uri;\n this.discoveryDocumentLoaded = true;\n this.discoveryDocumentLoadedSubject.next(doc);\n\n this.loadJwks().then(_ => {\n let result = new OAuthSuccessEvent('discovery_document_loaded');\n this.eventsSubject.next(result);\n resolve(result);\n return;\n }).catch(err => {\n this.eventsSubject.next(new OAuthErrorEvent('discovery_document_load_error', err));\n reject(err);\n return;\n });\n },\n (err) => {\n console.error('error loading dicovery document', err);\n this.eventsSubject.next(new OAuthErrorEvent('discovery_document_load_error', err));\n reject(err);\n }\n );\n });\n }\n\n private loadJwks(): Promise {\n return new Promise((resolve, reject) => {\n if (this.jwksUri) {\n this.http.get(this.jwksUri).map(r => r.json()).subscribe(\n jwks => {\n this.jwks = jwks;\n this.eventsSubject.next(new OAuthSuccessEvent('discovery_document_loaded'));\n resolve(jwks);\n },\n err => {\n console.error('error loading jwks', err);\n this.eventsSubject.next(new OAuthErrorEvent('jwks_load_error', err));\n reject(err);\n }\n )\n }\n else {\n resolve(null);\n }\n });\n\n }\n\n private validateDiscoveryDocument(doc: object): boolean {\n\n let errors: string[];\n\n if (doc['issuer'] != this.issuer) {\n console.error(\n 'invalid issuer in discovery document',\n 'expected: ' + this.issuer,\n 'current: ' + doc['issuer']\n );\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['authorization_endpoint']);\n if (errors.length > 0) {\n console.error('error validating authorization_endpoint in discovery document', errors);\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['end_session_endpoint']);\n if (errors.length > 0) {\n console.error('error validating end_session_endpoint in discovery document', errors);\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['token_endpoint']);\n if (errors.length > 0) {\n console.error('error validating token_endpoint in discovery document', errors);\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['userinfo_endpoint']);\n if (errors.length > 0) {\n console.error('error validating userinfo_endpoint in discovery document', errors);\n return false;\n }\n\n errors = this.validateUrlFromDiscoveryDocument(doc['jwks_uri']);\n if (errors.length > 0) {\n console.error('error validating jwks_uri in discovery document', errors);\n return false;\n }\n\n return true;\n }\n\n /**\n * Uses password flow to exchange userName and password for an\n * access_token. After receiving the access_token, this method\n * uses it to query the userinfo endpoint in order to get information\n * about the user in question.\n * \n * When using this, make sure that the property oidc is set to false.\n * Otherwise stricter validations take happen that makes this operation\n * fail.\n * \n * @param userName \n * @param password \n * @param headers Optional additional http-headers.\n */\n public fetchTokenUsingPasswordFlowAndLoadUserProfile(userName: string, password: string, headers: Headers = new Headers()): Promise {\n return this\n .fetchTokenUsingPasswordFlow(userName, password, headers)\n .then(() => this.loadUserProfile());\n }\n\n /**\n * Loads the user profile by accessing the user info endpoint defined by OpenId Connect.\n * \n * When using this with OAuth2 password flow, make sure that the property oidc is set to false.\n * Otherwise stricter validations take happen that makes this operation\n * fail.\n */\n public loadUserProfile(): Promise {\n if (!this.hasValidAccessToken()) throw new Error(\"Can not load User Profile without access_token\");\n if (!this.validateUrlForHttps(this.userinfoEndpoint)) throw new Error('userinfoEndpoint must use Http. Also check property requireHttps.');\n \n return new Promise((resolve, reject) => {\n\n let headers = new Headers();\n headers.set('Authorization', 'Bearer ' + this.getAccessToken());\n\n this.http.get(this.userinfoEndpoint, { headers }).map(r => r.json()).subscribe(\n (doc) => {\n this.debug('userinfo received', doc);\n\n let existingClaims = this.getIdentityClaims() || {};\n if (this.oidc && (!existingClaims['sub'] || doc.sub != existingClaims['sub'])) {\n let err = 'if property oidc is true, the received user-id (sub) has to be the user-id of the user that has logged in with oidc.\\n'\n + 'if you are not using oidc but just oauth2 password flow set oidc to false';\n\n reject(err);\n return;\n }\n\n doc = Object.assign({}, existingClaims, doc);\n\n this._storage.setItem('id_token_claims_obj', JSON.stringify(doc));\n this.eventsSubject.next(new OAuthSuccessEvent('user_profile_loaded'));\n resolve(doc);\n },\n (err) => {\n console.error('error loading user info', err);\n this.eventsSubject.next(new OAuthErrorEvent('user_profile_load_error', err));\n reject(err);\n }\n );\n });\n\n\n }\n\n /**\n * Uses password flow to exchange userName and password for an access_token.\n * @param userName \n * @param password \n * @param headers Optional additional http-headers.\n */\n public fetchTokenUsingPasswordFlow(userName: string, password: string, headers: Headers = new Headers()): Promise {\n\n if (!this.validateUrlForHttps(this.tokenEndpoint)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n return new Promise((resolve, reject) => { \n let search = new URLSearchParams();\n search.set('grant_type', 'password');\n search.set('client_id', this.clientId);\n search.set('scope', this.scope);\n search.set('username', userName);\n search.set('password', password);\n \n if (this.dummyClientSecret) {\n search.set('client_secret', this.dummyClientSecret);\n }\n\n headers.set('Content-Type', 'application/x-www-form-urlencoded');\n\n let params = search.toString();\n\n this.http.post(this.tokenEndpoint, params, { headers }).map(r => r.json()).subscribe(\n (tokenResponse) => {\n this.debug('tokenResponse', tokenResponse);\n this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in);\n\n this.eventsSubject.next(new OAuthSuccessEvent('token_received'));\n resolve(tokenResponse);\n },\n (err) => {\n console.error('Error performing password flow', err);\n this.eventsSubject.next(new OAuthErrorEvent('token_error', err));\n reject(err);\n }\n );\n });\n\n }\n\n /**\n * Refreshes the token using a refresh_token.\n * This does not work for implicit flow, b/c\n * there is no refresh_token in this flow.\n * A solution for this is provided by the\n * method silentRefresh.\n */\n public refreshToken(): Promise {\n\n if (!this.validateUrlForHttps(this.tokenEndpoint)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n return new Promise((resolve, reject) => { \n let search = new URLSearchParams();\n search.set('grant_type', 'refresh_token');\n search.set('client_id', this.clientId);\n search.set('scope', this.scope);\n search.set('refresh_token', this._storage.getItem('refresh_token'));\n \n if (this.dummyClientSecret) {\n search.set('client_secret', this.dummyClientSecret);\n }\n\n let headers = new Headers();\n headers.set('Content-Type', 'application/x-www-form-urlencoded');\n\n let params = search.toString();\n\n this.http.post(this.tokenEndpoint, params, { headers }).map(r => r.json()).subscribe(\n (tokenResponse) => {\n this.debug('refresh tokenResponse', tokenResponse);\n this.storeAccessTokenResponse(tokenResponse.access_token, tokenResponse.refresh_token, tokenResponse.expires_in);\n \n this.eventsSubject.next(new OAuthSuccessEvent('token_received'));\n this.eventsSubject.next(new OAuthSuccessEvent('token_refreshed'));\n resolve(tokenResponse);\n },\n (err) => {\n console.error('Error performing password flow', err);\n this.eventsSubject.next(new OAuthErrorEvent('token_refresh_error', err));\n reject(err);\n }\n );\n });\n }\n\n private removeSilentRefreshEventListener(): void {\n if (this.silentRefreshPostMessageEventListener) {\n window.removeEventListener('message', this.silentRefreshPostMessageEventListener);\n this.silentRefreshPostMessageEventListener = null;\n }\n }\n\n private setupSilentRefreshEventListener(): void {\n this.removeSilentRefreshEventListener();\n \n this.silentRefreshPostMessageEventListener = (e: MessageEvent) => {\n\n let expectedPrefix = '#';\n\n if (this.silentRefreshMessagePrefix) {\n expectedPrefix += this.silentRefreshMessagePrefix;\n }\n\n if (!e || !e.data || typeof e.data != 'string' ) return;\n \n let prefixedMessage: string = e.data;\n\n if (!prefixedMessage.startsWith(expectedPrefix)) return;\n\n let message = '#' + prefixedMessage.substr(expectedPrefix.length);\n\n this.tryLogin({\n customHashFragment: message,\n onLoginError: (err) => {\n this.eventsSubject.next(new OAuthErrorEvent('silent_refresh_error', err));\n },\n onTokenReceived: () => {\n this.eventsSubject.next(new OAuthSuccessEvent('silently_refreshed'));\n }\n });\n }\n\n window.addEventListener('message', this.silentRefreshPostMessageEventListener);\n }\n\n \n /**\n * Performs a silent refresh for implicit flow.\n * Use this method to get a new tokens when/ before \n * the existing tokens expires.\n */\n public silentRefresh(): Promise {\n \n if (!this.validateUrlForHttps(this.loginUrl)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n if (!document) {\n throw new Error('silent refresh is not supported on this platform');\n } \n\n let existingIframe = document.getElementById(this.silentRefreshIFrameName);\n if (existingIframe) {\n document.body.removeChild(existingIframe);\n }\n\n let iframe = document.createElement('iframe');\n iframe.id = this.silentRefreshIFrameName;\n\n this.setupSilentRefreshEventListener();\n\n let redirectUri = this.silentRefreshRedirectUri || this.redirectUri;\n this.createLoginUrl(null, null, redirectUri).then(url => {\n iframe.setAttribute('src', url);\n if (!this.silentRefreshShowIFrame) {\n iframe.style.visibility = 'hidden';\n }\n document.body.appendChild(iframe);\n });\n\n let errors = this.events.filter(e => e instanceof OAuthErrorEvent).first();\n let success = this.events.filter(e => e.type == 'silently_refreshed').first();\n let timeout = Observable.of(new OAuthErrorEvent('silent_refresh_timeout', null))\n .delay(this.siletRefreshTimeout);\n\n return Observable\n .race([errors, success, timeout])\n .do(e => {\n if (e.type == 'silent_refresh_timeout') {\n this.eventsSubject.next(e);\n }\n })\n .map(e => {\n if (e instanceof OAuthErrorEvent) {\n throw e;\n }\n return e;\n })\n .toPromise();\n }\n \n private createLoginUrl(\n state: string = '', \n loginHint: string = '',\n customRedirectUri: string = ''\n ) {\n var that = this;\n\n let redirectUri: string;\n\n if (customRedirectUri) {\n redirectUri = customRedirectUri;\n }\n else {\n redirectUri = this.redirectUri;\n }\n\n return this.createAndSaveNonce().then((nonce: any) => {\n\n if (state) {\n state = nonce + \";\" + state;\n }\n else {\n state = nonce; \n }\n\n if (!this.requestAccessToken && !this.oidc) {\n throw new Error('Either requestAccessToken or oidc or both must be true');\n }\n\n if (this.oidc && this.requestAccessToken) {\n this.responseType = \"id_token token\";\n }\n else if (this.oidc && !this.requestAccessToken) {\n this.responseType = 'id_token'\n }\n else {\n this.responseType = 'token';\n }\n\n let seperationChar = (that.loginUrl.indexOf('?') > -1) ? '&' : '?';\n\n let scope = that.scope;\n\n if (this.oidc && !scope.match(/(^|\\s)openid($|\\s)/)) {\n scope = 'openid ' + scope;\n }\n\n var url = that.loginUrl \n + seperationChar\n + \"response_type=\"\n + encodeURIComponent(that.responseType)\n + \"&client_id=\"\n + encodeURIComponent(that.clientId)\n + \"&state=\" \n + encodeURIComponent(state)\n + \"&redirect_uri=\" \n + encodeURIComponent(redirectUri) \n + \"&scope=\" \n + encodeURIComponent(scope);\n \n if (loginHint) {\n url += \"&login_hint=\" + encodeURIComponent(loginHint);\n }\n\n if (that.resource) {\n url += \"&resource=\" + encodeURIComponent(that.resource);\n }\n \n if (that.oidc) {\n url += \"&nonce=\" + encodeURIComponent(nonce);\n }\n\n if (this.customQueryParams) {\n for(let key of Object.getOwnPropertyNames(this.customQueryParams)) {\n url += \"&\" + key + \"=\" + encodeURIComponent(this.customQueryParams[key]);\n }\n }\n \n return url;\n });\n };\n\n /**\n * Starts the implicit flow and redirects to user to\n * the auth servers login url. \n * \n * @param additionalState Optinal state that is passes around. You find this state in the property ``state`` after ``tryLogin`` logged in the user.\n * @param loginHint \n */\n public initImplicitFlow(additionalState = \"\", loginHint=\"\"): void {\n \n if (!this.validateUrlForHttps(this.loginUrl)) {\n throw new Error('loginUrl must use Http. Also check property requireHttps.');\n }\n\n this.createLoginUrl(additionalState, loginHint).then(function (url) {\n location.href = url;\n })\n .catch(error => {\n console.error(\"Error in initImplicitFlow\");\n console.error(error);\n });\n };\n \n private callOnTokenReceivedIfExists(options: LoginOptions): void {\n var that = this;\n if (options.onTokenReceived) {\n var tokenParams = { \n idClaims: that.getIdentityClaims(),\n idToken: that.getIdToken(),\n accessToken: that.getAccessToken(),\n state: that.state\n };\n options.onTokenReceived(tokenParams);\n }\n }\n\n private storeAccessTokenResponse(accessToken: string, refreshToken: string, expiresIn: number): void {\n this._storage.setItem(\"access_token\", accessToken);\n\n if (expiresIn) {\n var expiresInMilliSeconds = expiresIn * 1000;\n var now = new Date();\n var expiresAt = now.getTime() + expiresInMilliSeconds;\n this._storage.setItem(\"expires_at\", \"\" + expiresAt);\n }\n\n if (refreshToken) {\n this._storage.setItem(\"refresh_token\", refreshToken);\n }\n }\n\n private receivedFirstToken = true;\n\n /**\n * Checks whether there are tokens in the hash fragment\n * as a result of the implicit flow. These tokens are\n * parsed, validated and used to sign the user in to the\n * current client.\n * \n * @param options Optinal options.\n */\n public tryLogin(options: LoginOptions = null): Promise {\n \n options = options || { };\n \n let parts: object;\n\n if (options.customHashFragment) {\n parts = this.urlHelper.getHashFragmentParams(options.customHashFragment);\n }\n else {\n parts = this.urlHelper.getHashFragmentParams();\n }\n\n if (parts[\"error\"]) {\n this.debug('error trying to login');\n this.handleLoginError(options, parts);\n let err = new OAuthErrorEvent('token_error', {}, parts);\n this.eventsSubject.next(err);\n return Promise.reject(err);\n }\n\n var accessToken = parts[\"access_token\"];\n var idToken = parts[\"id_token\"];\n var state = decodeURIComponent(parts[\"state\"]);\n \n if (!this.requestAccessToken && !this.oidc) {\n return Promise.reject('Either requestAccessToken or oidc or both must be true.');\n }\n\n if (this.requestAccessToken && !accessToken) return Promise.resolve();\n if (this.requestAccessToken && !options.disableOAuth2StateCheck && !state) return Promise.resolve();\n if (this.oidc && !idToken) return Promise.resolve();\n \n var stateParts = state.split(';');\n if (stateParts.length > 1) {\n this.state = stateParts[1];\n }\n var nonceInState = stateParts[0];\n\n\n if (this.requestAccessToken && !options.disableOAuth2StateCheck) {\n let success = this.validateNonceForAccessToken(accessToken, nonceInState);\n if (!success) {\n let event = new OAuthErrorEvent('invalid_nonce_in_state', null);\n this.eventsSubject.next(event);\n return Promise.reject(event);\n }\n }\n\n if (this.requestAccessToken) {\n this.storeAccessTokenResponse(accessToken, null, parts['expires_in']);\n }\n\n if (!this.oidc) return Promise.resolve();\n\n return this\n .processIdToken(idToken, accessToken)\n .then(result => {\n if (options.validationHandler) {\n return options.validationHandler({\n accessToken: accessToken,\n idClaims: result.idTokenClaims,\n idToken: result.idToken,\n state: state\n }).then(_ => result);\n }\n return result;\n })\n .then(result => {\n this.storeIdToken(result);\n this.eventsSubject.next(new OAuthSuccessEvent('token_received'));\n this.callOnTokenReceivedIfExists(options);\n if (this.clearHashAfterLogin) location.hash = '';\n })\n .catch(reason => {\n this.eventsSubject.next(new OAuthErrorEvent('token_validation_error', reason));\n console.error('Error validating tokens');\n console.error(reason);\n });\n \n };\n\n private validateNonceForAccessToken(accessToken: string, nonceInState: string): boolean {\n var savedNonce = this._storage.getItem(\"nonce\");\n if (savedNonce !== nonceInState) {\n let err = 'validating access_token failed. wrong state/nonce.';\n console.error(err, savedNonce, nonceInState);\n return false;\n }\n return true;\n }\n\n protected storeIdToken(idToken: ParsedIdToken) {\n this._storage.setItem(\"id_token\", idToken.idToken);\n this._storage.setItem(\"id_token_claims_obj\", idToken.idTokenClaimsJson);\n this._storage.setItem(\"id_token_expires_at\", \"\" + idToken.idTokenExpiresAt);\n }\n\n private handleLoginError(options: LoginOptions, parts: object): void {\n var savedNonce = this._storage.getItem(\"nonce\");\n if (options.onLoginError) \n options.onLoginError(parts)\n if (this.clearHashAfterLogin) location.hash = '';\n }\n \n /**\n * @ignore\n */\n public processIdToken(idToken: string, accessToken: string): Promise {\n \n let tokenParts = idToken.split(\".\");\n let headerBase64 = this.padBase64(tokenParts[0]);\n let headerJson = atob(headerBase64);\n let header = JSON.parse(headerJson);\n let claimsBase64 = this.padBase64(tokenParts[1]);\n let claimsJson = atob(claimsBase64);\n let claims = JSON.parse(claimsJson);\n let savedNonce = this._storage.getItem(\"nonce\");\n \n if (Array.isArray(claims.aud)) {\n if (claims.aud.every(v => v !== this.clientId)) {\n let err = \"Wrong audience: \" + claims.aud.join(\",\");\n console.warn(err);\n return Promise.reject(err);\n }\n } else {\n if (claims.aud !== this.clientId) {\n let err = \"Wrong audience: \" + claims.aud;\n console.warn(err);\n return Promise.reject(err);\n }\n }\n\n /* \n if (this.getKeyCount() > 1 && !header.kid) {\n let err = 'There needs to be a kid property in the id_token header when multiple keys are defined via the property jwks';\n console.warn(err);\n return Promise.reject(err);\n }\n */\n\n if (!claims.sub) {\n let err = \"No sub claim in id_token\";\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (!claims.iat) {\n let err = \"No iat claim in id_token\";\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (claims.iss !== this.issuer) {\n let err = \"Wrong issuer: \" + claims.iss;\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (claims.nonce !== savedNonce) {\n let err = \"Wrong nonce: \" + claims.nonce;\n console.warn(err);\n return Promise.reject(err);\n }\n\n if (this.requestAccessToken && !claims['at_hash']) {\n let err = \"An at_hash is needed!\"\n console.warn(err);\n return Promise.reject(err);\n }\n\n let now = Date.now();\n let issuedAtMSec = claims.iat * 1000;\n let expiresAtMSec = claims.exp * 1000;\n let tenMinutesInMsec = 1000 * 60 * 10;\n\n if (issuedAtMSec - tenMinutesInMsec >= now || expiresAtMSec + tenMinutesInMsec this.loadJwks()\n };\n\n if (this.requestAccessToken && !this.checkAtHash(validationParams)) {\n let err = \"Wrong at_hash\";\n console.warn(err);\n return Promise.reject(err);\n }\n\n return this.checkSignature(validationParams).then(_ => {\n let result: ParsedIdToken = {\n idToken: idToken,\n idTokenClaims: claims,\n idTokenClaimsJson: claimsJson,\n idTokenHeader: header,\n idTokenHeaderJson: headerJson,\n idTokenExpiresAt: expiresAtMSec,\n };\n return result;\n }) \n\n }\n \n /**\n * Returns the received claims about the user.\n */\n public getIdentityClaims(): object {\n var claims = this._storage.getItem(\"id_token_claims_obj\");\n if (!claims) return null;\n return JSON.parse(claims);\n }\n \n /**\n * Returns the current id_token.\n */\n public getIdToken(): string {\n return this._storage.getItem(\"id_token\");\n }\n \n private padBase64(base64data): string {\n while (base64data.length % 4 !== 0) {\n base64data += \"=\";\n }\n return base64data;\n }\n\n /**\n * Returns the current access_token.\n */\n public getAccessToken(): string {\n return this._storage.getItem(\"access_token\");\n };\n\n /**\n * Returns the expiration date of the access_token\n * as milliseconds since 1970.\n */\n public getAccessTokenExpiration(): number {\n return parseInt(this._storage.getItem(\"expires_at\"));\n }\n\n /**\n * Returns the expiration date of the id_token\n * as milliseconds since 1970.\n */\n public getIdTokenExpiration(): number {\n return parseInt(this._storage.getItem(\"id_token_expires_at\"));\n }\n\n /**\n * Checkes, whether there is a valid access_token.\n */\n public hasValidAccessToken(): boolean {\n if (this.getAccessToken()) {\n\n var expiresAt = this._storage.getItem(\"expires_at\");\n var now = new Date();\n if (expiresAt && parseInt(expiresAt) -1) {\n logoutUrl = this.logoutUrl.replace(/\\{\\{id_token\\}\\}/, id_token);\n }\n else {\n logoutUrl = this.logoutUrl + \"?id_token_hint=\" \n + encodeURIComponent(id_token)\n + \"&post_logout_redirect_uri=\"\n + encodeURIComponent(this.postLogoutRedirectUri || this.redirectUri);\n }\n location.href = logoutUrl;\n };\n\n /**\n * @ignore\n */\n public createAndSaveNonce(): Promise {\n var that = this;\n return this.createNonce().then(function (nonce: any) {\n that._storage.setItem(\"nonce\", nonce);\n return nonce;\n })\n };\n\n protected createNonce(): Promise {\n \n return new Promise((resolve, reject) => { \n \n if (this.rngUrl) {\n throw new Error(\"createNonce with rng-web-api has not been implemented so far\");\n }\n else {\n var text = \"\";\n var possible = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (var i = 0; i {\n if (!this.tokenValidationHandler) {\n console.warn('No tokenValidationHandler configured. Cannot check signature.');\n return Promise.resolve(null);\n }\n return this.tokenValidationHandler.validateSignature(params);\n }\n\n}\n\n \n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UrlHelperService.html":{"url":"injectables/UrlHelperService.html","title":"injectable - UrlHelperService","body":"\n \n\n\n\n\n\n\n\n Injectables\n UrlHelperService\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/url-helper.service.ts\n \n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n Public getHashFragmentParams\n \n \n Public parseQueryString\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Public getHashFragmentParams\n \n \n \n \n \n getHashFragmentParams(customHashFragment: string)\n \n \n \n \n \n \n Defined in src/url-helper.service.ts:6\n \n \n \n \n \n \n \n Returns : object\n \n \n \n \n \n \n \n \n \n \n \n Public parseQueryString\n \n \n \n \n \n parseQueryString(queryString: string)\n \n \n \n \n \n \n Defined in src/url-helper.service.ts:29\n \n \n \n \n \n \n \n Returns : object\n \n \n \n \n \n \n \n\n \n\n\n \n import { Injectable } from '@angular/core';\n\n@Injectable()\nexport class UrlHelperService {\n\n public getHashFragmentParams(customHashFragment?: string): object {\n \n let hash = customHashFragment || window.location.hash;\n\n hash = decodeURIComponent(hash);\n\n if (hash.indexOf(\"#\") !== 0) {\n return {};\n }\n\n let questionMarkPosition = hash.indexOf('?');\n \n if (questionMarkPosition > -1) {\n hash = hash.substr(questionMarkPosition+1);\n }\n else {\n hash = hash.substr(1);\n }\n\n return this.parseQueryString(hash);\n\n };\n\n public parseQueryString(queryString: string): object {\n var data = {}, pairs, pair, separatorIndex, escapedKey, escapedValue, key, value;\n\n if (queryString === null) {\n return data;\n }\n\n pairs = queryString.split(\"&\");\n\n for (var i = 0; i \n \n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AbstractValidationHandler.html":{"url":"classes/AbstractValidationHandler.html","title":"class - AbstractValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n AbstractValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/validation-handler.ts\n \n\n \n Description\n \n \n This abstract implementation of ValidationHandler already implements\nthe method validateAtHash. However, to make use of it,\nyou have to override the method calcHash.\n\n \n\n\n \n Implements\n \n \n ValidationHandler\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n Protected calcHash\n \n \n Protected inferHashAlgorithm\n \n \n validateAtHash\n \n \n validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Protected calcHash\n \n \n \n \n \n calcHash(valueToHash: string, algorithm: string)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:87\n \n \n \n \n \n Calculates the hash for the passed value by using\n the passed hash algorithm.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n valueToHash\n \n \n \n \n \n algorithm\n \n \n \n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected inferHashAlgorithm\n \n \n \n \n \n inferHashAlgorithm(jwtHeader: object)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:70\n \n \n \n \n \n Infers the name of the hash algorithm to use\n from the alg field of an id_token.\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n jwtHeader\n \n \n the id_token's parsed header\n \n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validateAtHash\n \n \n \n \n validateAtHash(params: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:42\n \n \n \n \n \n Validates the at_hash in an id_token against the received access_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n \n validateSignature(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:37\n \n \n \n \n \n Validates the signature of an id_token.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n\n\n \n export interface ValidationParams {\n idToken: string;\n accessToken: string;\n idTokenHeader: object;\n idTokenClaims: object;\n jwks: object;\n loadKeys: () => Promise;\n}\n\n/**\n * Interface for Handlers that are hooked in to \n * validate tokens.\n */\nexport interface ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n validateAtHash(validationParams: ValidationParams): boolean; \n} \n\n/**\n * This abstract implementation of ValidationHandler already implements\n * the method validateAtHash. However, to make use of it,\n * you have to override the method calcHash.\n*/\nexport abstract class AbstractValidationHandler implements ValidationHandler {\n \n /**\n * Validates the signature of an id_token.\n */\n abstract validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */ \n validateAtHash(params: ValidationParams): boolean {\n \n let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n var tokenHash = this.calcHash(params.accessToken, hashAlg); //sha256(accessToken, { asString: true });\n \n var leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n \n var tokenHashBase64 = btoa(leftMostHalf);\n\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n var claimsAtHash = params.idTokenClaims['at_hash'].replace(/=/g, \"\");\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n\n if (atHash != claimsAtHash) {\n console.error(\"exptected at_hash: \" + atHash); \n console.error(\"actual at_hash: \" + claimsAtHash);\n }\n \n return (atHash == claimsAtHash);\n }\n\n /**\n * Infers the name of the hash algorithm to use\n * from the alg field of an id_token.\n * \n * @param jwtHeader the id_token's parsed header\n */\n protected inferHashAlgorithm(jwtHeader: object): string {\n let alg: string = jwtHeader['alg'];\n\n if (!alg.match(/^.S[0-9]{3}$/)) {\n throw new Error('Algorithm not supported: ' + alg);\n }\n\n return 'sha' + alg.substr(2);\n }\n\n /**\n * Calculates the hash for the passed value by using\n * the passed hash algorithm.\n * \n * @param valueToHash \n * @param algorithm \n */\n protected abstract calcHash(valueToHash: string, algorithm: string): string;\n \n\n\n}\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwksValidationHandler.html":{"url":"classes/JwksValidationHandler.html","title":"class - JwksValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n JwksValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/jwks-validation-handler.ts\n \n\n \n Description\n \n \n Validates the signature of an id_token against one\nof the keys of an JSON Web Key Set (jwks).\nThis jwks can be provided by the discovery document.\n\n \n\n \n Extends\n \n \n AbstractValidationHandler\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n allowedAlgorithms\n \n \n gracePeriodInSec\n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n Private alg2kty\n \n \n calcHash\n \n \n toByteArrayAsString\n \n \n validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Private alg2kty\n \n \n \n \n \n alg2kty(alg: string)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:99\n \n \n \n \n \n \n \n Returns : \"RSA\" | \"EC\"\n \n \n \n \n \n \n \n \n \n \n \n calcHash\n \n \n \n \n calcHash(valueToHash: string, algorithm: string)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:107\n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n toByteArrayAsString\n \n \n \n \n toByteArrayAsString(hexString: string)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:114\n \n \n \n \n \n \n \n Returns : string\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n validateSignature(params: ValidationParams, retry: boolean)\n \n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:25\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n allowedAlgorithms\n \n \n \n \n allowedAlgorithms: string[]\n \n \n \n \n \n Type : string[]\n \n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:17\n \n \n \n \n \n Allowed algorithms\n \n \n \n \n \n \n \n \n \n \n \n gracePeriodInSec\n \n \n \n \n gracePeriodInSec: number\n \n \n \n \n \n Type : number\n \n \n \n \n \n Default value : 600\n \n \n \n \n Defined in src/token-validation/jwks-validation-handler.ts:23\n \n \n \n \n \n Time period in seconds the timestamp in the signature can\n differ from the current time.\n \n \n \n \n \n \n \n \n\n\n \n import { ValidationHandler, AbstractValidationHandler, ValidationParams } from \"./validation-handler\";\n\ndeclare var require: any;\nlet rs = require('jsrsasign');\n\n/**\n * Validates the signature of an id_token against one\n * of the keys of an JSON Web Key Set (jwks).\n * \n * This jwks can be provided by the discovery document.\n*/\nexport class JwksValidationHandler extends AbstractValidationHandler {\n \n /**\n * Allowed algorithms\n */\n allowedAlgorithms: string[] = ['HS256', 'HS384', 'HS512', 'RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'PS256', 'PS384', 'PS512']\n \n /**\n * Time period in seconds the timestamp in the signature can\n * differ from the current time.\n */\n gracePeriodInSec: number = 600;\n\n validateSignature(params: ValidationParams, retry: boolean = false): Promise {\n if (!params.idToken) throw new Error('Parameter idToken expected!');\n if (!params.idTokenHeader) throw new Error('Parameter idTokenHandler expected.');\n if (!params.jwks) throw new Error('Parameter jwks expected!');\n \n if (!params.jwks['keys'] || !Array.isArray(params.jwks['keys']) || params.jwks['keys'].length == 0) {\n throw new Error('Array keys in jwks missing!');\n }\n\n console.debug('validateSignature: retry', retry);\n \n let kid: string = params.idTokenHeader['kid'];\n let keys: object[] = params.jwks['keys'];\n let key: object;\n \n let alg = params.idTokenHeader['alg'];\n\n if (kid) {\n key = keys.find(k => k['kid'] == kid && k['use'] == 'sig');\n }\n else {\n let kty = this.alg2kty(alg)\n let matchingKeys = keys.filter(k => k['kty'] == kty && k['use'] == 'sig');\n \n /*\n if (matchingKeys.length == 0) {\n let error = 'No matching key found.';\n console.error(error);\n return Promise.reject(error);\n }*/\n if (matchingKeys.length > 1) {\n let error = 'More than one matching key found. Please specify a kid in the id_token header.';\n console.error(error);\n return Promise.reject(error);\n }\n else if (matchingKeys.length == 1) {\n key = matchingKeys[0];\n }\n }\n\n if (!key && !retry && params.loadKeys) {\n return params\n .loadKeys()\n .then(keys => params.jwks = keys)\n .then(_ => this.validateSignature(params, true));\n }\n \n if (!key && retry && !kid) {\n let error = 'No matching key found.';\n console.error(error);\n return Promise.reject(error);\n }\n \n if (!key && retry && kid) {\n let error = 'expected key not found in property jwks. '\n + 'This property is most likely loaded with the '\n + 'discovery document. '\n + 'Expected key id (kid): ' + kid;\n \n console.error(error);\n return Promise.reject(error);\n }\n \n let keyObj = rs.KEYUTIL.getKey(key);\n let isValid = rs.KJUR.jws.JWS.verifyJWT(params.idToken, keyObj, { alg: this.allowedAlgorithms, gracePeriod: this.gracePeriodInSec });\n \n if (isValid) {\n return Promise.resolve();\n }\n else {\n return Promise.reject('Signature not valid');\n }\n }\n\n private alg2kty(alg: string) {\n switch(alg.charAt(0)) {\n case 'R': return 'RSA';\n case 'E': return 'EC';\n default: throw new Error('Cannot infer kty from alg: ' + alg);\n }\n }\n\n calcHash(valueToHash: string, algorithm: string): string {\n let hashAlg = new rs.KJUR.crypto.MessageDigest({alg: algorithm});\n let result = hashAlg.digestString(valueToHash);\n let byteArrayAsString = this.toByteArrayAsString(result);\n return byteArrayAsString;\n }\n\n toByteArrayAsString(hexString: string) {\n let result: string = \"\";\n for(let i=0; i\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginOptions.html":{"url":"classes/LoginOptions.html","title":"class - LoginOptions","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n LoginOptions\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Additional options that can be passt to tryLogin.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n customHashFragment\n \n \n disableOAuth2StateCheck\n \n \n onLoginError\n \n \n onTokenReceived\n \n \n validationHandler\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n customHashFragment\n \n \n \n \n customHashFragment: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:33\n \n \n \n \n \n A custom hash fragment to be used instead of the\n actual one. This is used for silent refreshes, to \n pass the iframes hash fragment to this method.\n \n \n \n \n \n \n \n \n \n \n \n disableOAuth2StateCheck\n \n \n \n \n disableOAuth2StateCheck: boolean\n \n \n \n \n \n Type : boolean\n \n \n \n \n \n Defined in src/types.ts:43\n \n \n \n \n \n Set this to true to disable the oauth2 state\n check which is a best practice to avoid\n security attacks. \n As OIDC defines a nonce check that includes\n this, this can be set to true when only doing\n OIDC.\n \n \n \n \n \n \n \n \n \n \n \n onLoginError\n \n \n \n \n onLoginError: function\n \n \n \n \n \n Type : function\n \n \n \n \n \n Defined in src/types.ts:26\n \n \n \n \n \n Called when tryLogin detects that the auth server\n included an error message into the hash fragment.\n Deprecated: Use property events on OAuthService instead.\n \n \n \n \n \n \n \n \n \n \n \n onTokenReceived\n \n \n \n \n onTokenReceived: function\n \n \n \n \n \n Type : function\n \n \n \n \n \n Defined in src/types.ts:12\n \n \n \n \n \n Is called, after a token has been received and \n successfully validated.\n Deprecated: Use property events on OAuthService instead.\n \n \n \n \n \n \n \n \n \n \n \n validationHandler\n \n \n \n \n validationHandler: function\n \n \n \n \n \n Type : function\n \n \n \n \n \n Defined in src/types.ts:18\n \n \n \n \n \n Hook, to validate the received tokens.\n Deprecated: Use property tokenValidationHandler on OAuthService instead.\n \n \n \n \n \n \n \n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n\n /**\n * Set this to true to disable the oauth2 state\n * check which is a best practice to avoid\n * security attacks. \n * As OIDC defines a nonce check that includes\n * this, this can be set to true when only doing\n * OIDC.\n */\n disableOAuth2StateCheck?: boolean;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NullValidationHandler.html":{"url":"classes/NullValidationHandler.html","title":"class - NullValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n NullValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/null-validation-handler.ts\n \n\n \n Description\n \n \n A validation handler that isn't validating nothing.\nCan be used to skip validation (on your own risk).\n\n \n\n\n \n Implements\n \n \n ValidationHandler\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n \n \n validateAtHash(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/null-validation-handler.ts:11\n \n \n \n \n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n validateSignature(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/null-validation-handler.ts:8\n \n \n \n \n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ValidationHandler, AbstractValidationHandler, ValidationParams } from \"./validation-handler\";\n\n/**\n * A validation handler that isn't validating nothing.\n * Can be used to skip validation (on your own risk).\n */\nexport class NullValidationHandler implements ValidationHandler {\n validateSignature(validationParams: ValidationParams): Promise {\n return Promise.resolve(null);\n }\n validateAtHash(validationParams: ValidationParams): boolean {\n return true;\n }\n}\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthErrorEvent.html":{"url":"classes/OAuthErrorEvent.html","title":"class - OAuthErrorEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthErrorEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n \n Extends\n \n \n OAuthEvent\n \n\n\n\n\n \n Constructor\n \n \n \n \n constructor(type: EventType, reason: object, params: object)\n \n \n \n \n Defined in src/events.ts:39\n \n \n \n \n \n \n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthEvent.html":{"url":"classes/OAuthEvent.html","title":"class - OAuthEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n\n\n\n\n \n Constructor\n \n \n \n \n constructor(type: EventType)\n \n \n \n \n Defined in src/events.ts:21\n \n \n \n \n \n \n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthInfoEvent.html":{"url":"classes/OAuthInfoEvent.html","title":"class - OAuthInfoEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthInfoEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n \n Extends\n \n \n OAuthEvent\n \n\n\n\n\n \n Constructor\n \n \n \n \n constructor(type: EventType, info: any)\n \n \n \n \n Defined in src/events.ts:30\n \n \n \n \n \n \n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthSuccessEvent.html":{"url":"classes/OAuthSuccessEvent.html","title":"class - OAuthSuccessEvent","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n OAuthSuccessEvent\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/events.ts\n \n\n\n \n Extends\n \n \n OAuthEvent\n \n\n\n\n\n\n\n\n \n\n\n \n export type EventType = \n'discovery_document_loaded'\n| 'received_first_token'\n| 'jwks_load_error'\n| 'invalid_nonce_in_state'\n| 'discovery_document_load_error'\n| 'discovery_document_validation_error'\n| 'user_profile_loaded'\n| 'user_profile_load_error'\n| 'token_received'\n| 'token_error'\n| 'token_refreshed'\n| 'token_refresh_error'\n| 'silent_refresh_error'\n| 'silently_refreshed'\n| 'silent_refresh_timeout'\n| 'token_validation_error'\n| 'token_expires';\n\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\n\n constructor(\n type: EventType,\n readonly reason: object,\n readonly params: object = null\n ) {\n super(type);\n }\n\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReceivedTokens.html":{"url":"classes/ReceivedTokens.html","title":"class - ReceivedTokens","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n ReceivedTokens\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Represents the received tokens, the received state\nand the parsed claims from the id-token.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idClaims\n \n \n idToken\n \n \n state\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n \n \n accessToken: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:64\n \n \n \n \n \n \n \n \n \n \n \n idClaims\n \n \n \n \n idClaims: object\n \n \n \n \n \n Type : object\n \n \n \n \n \n Defined in src/types.ts:65\n \n \n \n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n idToken: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:63\n \n \n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n state: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/types.ts:66\n \n \n \n \n \n \n \n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n\n /**\n * Set this to true to disable the oauth2 state\n * check which is a best practice to avoid\n * security attacks. \n * As OIDC defines a nonce check that includes\n * this, this can be set to true when only doing\n * OIDC.\n */\n disableOAuth2StateCheck?: boolean;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OAuthStorage.html":{"url":"interfaces/OAuthStorage.html","title":"interface - OAuthStorage","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n OAuthStorage\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Defines a simple storage that can be used for \nstoring the tokens at client side.\nIs compatible to localStorage and sessionStorage,\nbut you can also create your own implementations.\n\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n getItem\n \n \n removeItem\n \n \n setItem\n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n getItem\n \n \n \n \n getItem(key: string)\n \n \n \n \n \n \n Defined in src/types.ts:53\n \n \n \n \n \n \n \n Returns : string|\n \n \n \n \n \n \n \n \n \n \n \n removeItem\n \n \n \n \n removeItem(key: string)\n \n \n \n \n \n \n Defined in src/types.ts:54\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n setItem\n \n \n \n \n setItem(key: string, data: string)\n \n \n \n \n \n \n Defined in src/types.ts:55\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n\n\n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n\n /**\n * Set this to true to disable the oauth2 state\n * check which is a best practice to avoid\n * security attacks. \n * As OIDC defines a nonce check that includes\n * this, this can be set to true when only doing\n * OIDC.\n */\n disableOAuth2StateCheck?: boolean;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ParsedIdToken.html":{"url":"interfaces/ParsedIdToken.html","title":"interface - ParsedIdToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n ParsedIdToken\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/types.ts\n \n\n \n Description\n \n \n Represents the parsed and validated id_token.\n\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n idToken\n \n \n idTokenClaims\n \n \n idTokenClaimsJson\n \n \n idTokenExpiresAt\n \n \n idTokenHeader\n \n \n idTokenHeaderJson\n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n idToken\n \n \n \n \n idToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/types.ts:73\n \n \n\n \n \n \n \n \n \n \n idTokenClaims\n \n \n \n \n idTokenClaims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/types.ts:74\n \n \n\n \n \n \n \n \n \n \n idTokenClaimsJson\n \n \n \n \n idTokenClaimsJson: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/types.ts:76\n \n \n\n \n \n \n \n \n \n \n idTokenExpiresAt\n \n \n \n \n idTokenExpiresAt: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n \n \n Defined in src/types.ts:78\n \n \n\n \n \n \n \n \n \n \n idTokenHeader\n \n \n \n \n idTokenHeader: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/types.ts:75\n \n \n\n \n \n \n \n \n \n \n idTokenHeaderJson\n \n \n \n \n idTokenHeaderJson: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/types.ts:77\n \n \n\n \n \n \n \n\n\n \n export class LoginOptions {\n\n /**\n * Is called, after a token has been received and \n * successfully validated.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onTokenReceived?: (receivedTokens: ReceivedTokens) => void;\n \n /**\n * Hook, to validate the received tokens.\n * Deprecated: Use property ``tokenValidationHandler`` on OAuthService instead.\n */\n validationHandler?: (receivedTokens: ReceivedTokens) => Promise;\n \n /**\n * Called when tryLogin detects that the auth server\n * included an error message into the hash fragment.\n * \n * Deprecated: Use property ``events`` on OAuthService instead.\n */\n onLoginError?: (params: object) => void;\n\n /**\n * A custom hash fragment to be used instead of the\n * actual one. This is used for silent refreshes, to \n * pass the iframes hash fragment to this method.\n */\n customHashFragment?: string;\n\n /**\n * Set this to true to disable the oauth2 state\n * check which is a best practice to avoid\n * security attacks. \n * As OIDC defines a nonce check that includes\n * this, this can be set to true when only doing\n * OIDC.\n */\n disableOAuth2StateCheck?: boolean;\n}\n\n/**\n * Defines a simple storage that can be used for \n * storing the tokens at client side.\n * Is compatible to localStorage and sessionStorage,\n * but you can also create your own implementations.\n */\nexport interface OAuthStorage {\n getItem(key: string): string | null;\n removeItem(key: string): void;\n setItem(key: string, data: string): void;\n}\n\n/**\n * Represents the received tokens, the received state\n * and the parsed claims from the id-token.\n */\nexport class ReceivedTokens {\n idToken: string;\n accessToken: string;\n idClaims?: object;\n state?: string\n}\n\n/**\n * Represents the parsed and validated id_token.\n */\nexport interface ParsedIdToken {\n idToken: string;\n idTokenClaims: object,\n idTokenHeader: object,\n idTokenClaimsJson: string,\n idTokenHeaderJson: string,\n idTokenExpiresAt: number;\n}\n\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ValidationHandler.html":{"url":"interfaces/ValidationHandler.html","title":"interface - ValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n ValidationHandler\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/validation-handler.ts\n \n\n \n Description\n \n \n Interface for Handlers that are hooked in to \nvalidate tokens.\n\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n validateSignature\n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n validateAtHash\n \n \n \n \n validateAtHash(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:24\n \n \n \n \n \n Validates the at_hash in an id_token against the received access_token.\n \n \n \n Returns : boolean\n \n \n \n \n \n \n \n \n \n \n \n validateSignature\n \n \n \n \n validateSignature(validationParams: ValidationParams)\n \n \n \n \n \n \n Defined in src/token-validation/validation-handler.ts:19\n \n \n \n \n \n Validates the signature of an id_token.\n \n \n \n Returns : Promise\n \n \n \n \n \n \n \n\n\n \n\n\n \n export interface ValidationParams {\n idToken: string;\n accessToken: string;\n idTokenHeader: object;\n idTokenClaims: object;\n jwks: object;\n loadKeys: () => Promise;\n}\n\n/**\n * Interface for Handlers that are hooked in to \n * validate tokens.\n */\nexport interface ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n validateAtHash(validationParams: ValidationParams): boolean; \n} \n\n/**\n * This abstract implementation of ValidationHandler already implements\n * the method validateAtHash. However, to make use of it,\n * you have to override the method calcHash.\n*/\nexport abstract class AbstractValidationHandler implements ValidationHandler {\n \n /**\n * Validates the signature of an id_token.\n */\n abstract validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */ \n validateAtHash(params: ValidationParams): boolean {\n \n let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n var tokenHash = this.calcHash(params.accessToken, hashAlg); //sha256(accessToken, { asString: true });\n \n var leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n \n var tokenHashBase64 = btoa(leftMostHalf);\n\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n var claimsAtHash = params.idTokenClaims['at_hash'].replace(/=/g, \"\");\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n\n if (atHash != claimsAtHash) {\n console.error(\"exptected at_hash: \" + atHash); \n console.error(\"actual at_hash: \" + claimsAtHash);\n }\n \n return (atHash == claimsAtHash);\n }\n\n /**\n * Infers the name of the hash algorithm to use\n * from the alg field of an id_token.\n * \n * @param jwtHeader the id_token's parsed header\n */\n protected inferHashAlgorithm(jwtHeader: object): string {\n let alg: string = jwtHeader['alg'];\n\n if (!alg.match(/^.S[0-9]{3}$/)) {\n throw new Error('Algorithm not supported: ' + alg);\n }\n\n return 'sha' + alg.substr(2);\n }\n\n /**\n * Calculates the hash for the passed value by using\n * the passed hash algorithm.\n * \n * @param valueToHash \n * @param algorithm \n */\n protected abstract calcHash(valueToHash: string, algorithm: string): string;\n \n\n\n}\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ValidationParams.html":{"url":"interfaces/ValidationParams.html","title":"interface - ValidationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n ValidationParams\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/token-validation/validation-handler.ts\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n idTokenClaims\n \n \n idTokenHeader\n \n \n jwks\n \n \n loadKeys\n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessToken\n \n \n \n \n accessToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:3\n \n \n\n \n \n \n \n \n \n \n idToken\n \n \n \n \n idToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:2\n \n \n\n \n \n \n \n \n \n \n idTokenClaims\n \n \n \n \n idTokenClaims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:5\n \n \n\n \n \n \n \n \n \n \n idTokenHeader\n \n \n \n \n idTokenHeader: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:4\n \n \n\n \n \n \n \n \n \n \n jwks\n \n \n \n \n jwks: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:6\n \n \n\n \n \n \n \n \n \n \n loadKeys\n \n \n \n \n loadKeys: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n \n \n Defined in src/token-validation/validation-handler.ts:7\n \n \n\n \n \n \n \n\n\n \n export interface ValidationParams {\n idToken: string;\n accessToken: string;\n idTokenHeader: object;\n idTokenClaims: object;\n jwks: object;\n loadKeys: () => Promise;\n}\n\n/**\n * Interface for Handlers that are hooked in to \n * validate tokens.\n */\nexport interface ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n validateAtHash(validationParams: ValidationParams): boolean; \n} \n\n/**\n * This abstract implementation of ValidationHandler already implements\n * the method validateAtHash. However, to make use of it,\n * you have to override the method calcHash.\n*/\nexport abstract class AbstractValidationHandler implements ValidationHandler {\n \n /**\n * Validates the signature of an id_token.\n */\n abstract validateSignature(validationParams: ValidationParams): Promise; \n \n /**\n * Validates the at_hash in an id_token against the received access_token.\n */ \n validateAtHash(params: ValidationParams): boolean {\n \n let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n var tokenHash = this.calcHash(params.accessToken, hashAlg); //sha256(accessToken, { asString: true });\n \n var leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n \n var tokenHashBase64 = btoa(leftMostHalf);\n\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n var claimsAtHash = params.idTokenClaims['at_hash'].replace(/=/g, \"\");\n var atHash = tokenHashBase64.replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=/g, \"\");\n\n if (atHash != claimsAtHash) {\n console.error(\"exptected at_hash: \" + atHash); \n console.error(\"actual at_hash: \" + claimsAtHash);\n }\n \n return (atHash == claimsAtHash);\n }\n\n /**\n * Infers the name of the hash algorithm to use\n * from the alg field of an id_token.\n * \n * @param jwtHeader the id_token's parsed header\n */\n protected inferHashAlgorithm(jwtHeader: object): string {\n let alg: string = jwtHeader['alg'];\n\n if (!alg.match(/^.S[0-9]{3}$/)) {\n throw new Error('Algorithm not supported: ' + alg);\n }\n\n return 'sha' + alg.substr(2);\n }\n\n /**\n * Calculates the hash for the passed value by using\n * the passed hash algorithm.\n * \n * @param valueToHash \n * @param algorithm \n */\n protected abstract calcHash(valueToHash: string, algorithm: string): string;\n \n\n\n}\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/variables.html":{"url":"miscellaneous/variables.html","title":"miscellaneous-variables - variables","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous - Variables\n\n\n src/token-validation/jwks-validation-handler.ts\n \n \n \n \n \n \n require\n \n \n \n \n require: any\n \n \n \n \n \n Type : any\n \n \n \n \n \n \n \n \n \n \n \n \n rs\n \n \n \n \n rs: \n \n \n \n \n \n \n \n \n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/typealiases.html":{"url":"miscellaneous/typealiases.html","title":"miscellaneous-typealiases - typealiases","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous - Type aliases\n\n\n src/events.ts\n \n \n \n \n \n EventType\n \n \n \n \n EventType: ||||||||||||||||\n \n \n \n \n \n \n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"coverage.html":{"url":"coverage.html","title":"coverage - coverage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Documentation coverage\n\n\n\n\n\n \n \n File\n Type\n Identifier\n Statements\n \n \n \n \n \n src/events.ts\n \n \n class\n \n \n OAuthErrorEvent\n \n \n 0 %\n (0/2)\n \n \n \n \n src/events.ts\n \n \n class\n \n \n OAuthEvent\n \n \n 0 %\n (0/2)\n \n \n \n \n src/events.ts\n \n \n class\n \n \n OAuthInfoEvent\n \n \n 0 %\n (0/2)\n \n \n \n \n src/events.ts\n \n \n class\n \n \n OAuthSuccessEvent\n \n \n 0 %\n (0/1)\n \n \n \n \n src/oauth-service.ts\n \n \n injectable\n \n \n OAuthService\n \n \n 49 %\n (44/89)\n \n \n \n \n src/token-validation/jwks-validation-handler.ts\n \n \n class\n \n \n JwksValidationHandler\n \n \n 42 %\n (3/7)\n \n \n \n \n src/token-validation/null-validation-handler.ts\n \n \n class\n \n \n NullValidationHandler\n \n \n 33 %\n (1/3)\n \n \n \n \n src/token-validation/validation-handler.ts\n \n \n class\n \n \n AbstractValidationHandler\n \n \n 100 %\n (5/5)\n \n \n \n \n src/token-validation/validation-handler.ts\n \n \n interface\n \n \n ValidationHandler\n \n \n 100 %\n (3/3)\n \n \n \n \n src/token-validation/validation-handler.ts\n \n \n interface\n \n \n ValidationParams\n \n \n 0 %\n (0/7)\n \n \n \n \n src/types.ts\n \n \n class\n \n \n LoginOptions\n \n \n 100 %\n (6/6)\n \n \n \n \n src/types.ts\n \n \n class\n \n \n ReceivedTokens\n \n \n 20 %\n (1/5)\n \n \n \n \n src/types.ts\n \n \n interface\n \n \n OAuthStorage\n \n \n 25 %\n (1/4)\n \n \n \n \n src/types.ts\n \n \n interface\n \n \n ParsedIdToken\n \n \n 14 %\n (1/7)\n \n \n \n \n src/url-helper.service.ts\n \n \n injectable\n \n \n UrlHelperService\n \n \n 0 %\n (0/3)\n \n \n \n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/angular-oauth2-oidc/docs/license.html b/angular-oauth2-oidc/docs/license.html index 3b13c97e..dd90b03b 100644 --- a/angular-oauth2-oidc/docs/license.html +++ b/angular-oauth2-oidc/docs/license.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • diff --git a/angular-oauth2-oidc/docs/miscellaneous/typealiases.html b/angular-oauth2-oidc/docs/miscellaneous/typealiases.html index cbbc4f8f..63d6816f 100644 --- a/angular-oauth2-oidc/docs/miscellaneous/typealiases.html +++ b/angular-oauth2-oidc/docs/miscellaneous/typealiases.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • diff --git a/angular-oauth2-oidc/docs/miscellaneous/variables.html b/angular-oauth2-oidc/docs/miscellaneous/variables.html index 5e048e09..7b4ee0c4 100644 --- a/angular-oauth2-oidc/docs/miscellaneous/variables.html +++ b/angular-oauth2-oidc/docs/miscellaneous/variables.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • diff --git a/angular-oauth2-oidc/docs/modules.html b/angular-oauth2-oidc/docs/modules.html index 5062b00b..2c744e8f 100644 --- a/angular-oauth2-oidc/docs/modules.html +++ b/angular-oauth2-oidc/docs/modules.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • diff --git a/angular-oauth2-oidc/docs/modules/OAuthModule.html b/angular-oauth2-oidc/docs/modules/OAuthModule.html index 93a81178..c6cac292 100644 --- a/angular-oauth2-oidc/docs/modules/OAuthModule.html +++ b/angular-oauth2-oidc/docs/modules/OAuthModule.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • @@ -432,6 +438,7 @@

    File

    export * from './token-validation/jwks-validation-handler'; export * from './token-validation/null-validation-handler'; export * from './token-validation/validation-handler'; +export * from "./url-helper.service"; import { UrlHelperService } from "./url-helper.service"; diff --git a/angular-oauth2-oidc/docs/overview.html b/angular-oauth2-oidc/docs/overview.html index 9215b890..34dd7f88 100644 --- a/angular-oauth2-oidc/docs/overview.html +++ b/angular-oauth2-oidc/docs/overview.html @@ -187,6 +187,9 @@ +
  • + Documentation coverage +
  • @@ -366,6 +369,9 @@ +
  • + Documentation coverage +
  • diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 00000000..d3c0fd8e --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,23 @@ +0 info it worked if it ends with ok +1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe', +1 verbose cli 'C:\\Users\\Manfred\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js', +1 verbose cli 'run', +1 verbose cli 'docs' ] +2 info using npm@4.0.5 +3 info using node@v6.10.0 +4 verbose stack Error: ENOENT: no such file or directory, open 'C:\Users\Manfred\Documents\bücher\Angular 2\src\oauth-lib4\angular-oauth2-oidc\package.json' +4 verbose stack at Error (native) +5 verbose cwd C:\Users\Manfred\Documents\bücher\Angular 2\src\oauth-lib4\angular-oauth2-oidc +6 error Windows_NT 10.0.10586 +7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Manfred\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "docs" +8 error node v6.10.0 +9 error npm v4.0.5 +10 error path C:\Users\Manfred\Documents\bücher\Angular 2\src\oauth-lib4\angular-oauth2-oidc\package.json +11 error code ENOENT +12 error errno -4058 +13 error syscall open +14 error enoent ENOENT: no such file or directory, open 'C:\Users\Manfred\Documents\bücher\Angular 2\src\oauth-lib4\angular-oauth2-oidc\package.json' +15 error enoent ENOENT: no such file or directory, open 'C:\Users\Manfred\Documents\bücher\Angular 2\src\oauth-lib4\angular-oauth2-oidc\package.json' +15 error enoent This is most likely not a problem with npm itself +15 error enoent and is related to npm not being able to find a file. +16 verbose exit [ -4058, true ]