diff --git a/README.MD b/README.MD index bded9029..b6722c79 100644 --- a/README.MD +++ b/README.MD @@ -23,6 +23,15 @@ https://manfredsteyer.github.io/angular-oauth2-oidc/angular-oauth2-oidc/docs/ 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). +## New Features in Version 2.1 +- New Config API (the original one is still supported) +- New convenience methods in OAuthService to streamline default tasks: + - ``setupAutomaticSilentRefresh()`` + - ``loadDiscoveryDocumentAndTryLogin()`` +- Single Sign out through Session Status Change Notification according to the OpenID Connect Session Management specs. This means, you can be notified when the user logs out using at the login provider. +- Possibility to define the ValidationHandler, the Config as well as the OAuthStorage via DI +- Better structured documentation + ## New Features in Version 2 - Token Refresh for Implicit Flow by implementing "silent refresh" - Validating the signature of the received id_token @@ -30,7 +39,6 @@ Successfully tested with the Angular 2 and 4 and its Router, PathLocationStrateg - The event ``token_expires`` can be used togehter with a silent refresh to automatically refresh a token when/ before it expires (see also property ``timeoutFactor``). ## Additional Features - - Logging in via OAuth2 and OpenId Connect (OIDC) Implicit Flow (where user is redirected to Identity Provider) - "Logging in" via Password Flow (where user enters his/her password into the client) - Token Refresh for Password Flow by using a Refresh Token @@ -42,7 +50,6 @@ Successfully tested with the Angular 2 and 4 and its Router, PathLocationStrateg - Single-Sign-Out by redirecting to the auth-server's logout-endpoint ## Breaking Changes in Version 2 - - The property ``oidc`` defaults to ``true``. - If you are just using oauth2, you have to set ``oidc`` to ``false``. Otherwise, the validation of the user profile will fail! - By default, ``sessionStorage`` is used. To use ``localStorage`` call method setStorage @@ -64,10 +71,15 @@ Username/Password: max/geheim - localhost:[8080-8089|4200-4202]/index.html - localhost:[8080-8089|4200-4202]/silent-refresh.html +## Installing -## Setup Provider for OAuthService - ``` +npm i angular-oauth2-oidc --save +``` + +## Importing the NgModule + +```TypeScript import { OAuthModule } from 'angular-oauth2-oidc'; [...] @@ -91,120 +103,97 @@ export class AppModule { ``` -## Using Implicit Flow - -This section shows how to use the implicit flow, which is redirecting the user to the auth-server for the login. +## Configuring for Implicit Flow -### Configure Library for Implicit Flow (using discovery document) +This section shows how to implement login leveraging implicit flow. This is the OAuth2/OIDC flow best suitable for +Single Page Application. It sends the user to the Identity Provider's login page. After logging in, the SPA gets tokens. +This also allows for single sign on as well as single sign off. -To 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. +To configure the library the following sample uses the new configuration API introduced with Version 2.1. +Hence, The original API is still supported. -``` -@Component({ ... }) -export class AppComponent { +```TypeScript +import { AuthConfig } from 'angular-oauth2-oidc'; - constructor(private oauthService: OAuthService) { - - // URL of the SPA to redirect the user to after login - this.oauthService.redirectUri = window.location.origin + "/index.html"; +export const authConfig: AuthConfig = { - // The SPA's id. The SPA is registerd with this id at the auth-server - this.oauthService.clientId = "spa-demo"; + // Url of the Identity Provider + issuer: 'https://steyer-identity-server.azurewebsites.net/identity', - // set the scope for the permissions the client should request - // The first three are defined by OIDC. The 4th is a usecase-specific one - this.oauthService.scope = "openid profile email voucher"; + // URL of the SPA to redirect the user to after login + redirectUri: window.location.origin + '/index.html', - // The name of the auth-server that has to be mentioned within the token - this.oauthService.issuer = "https://steyer-identity-server.azurewebsites.net/identity"; - - // Load Discovery Document and then try to login the user - this.oauthService.loadDiscoveryDocument().then(() => { - - // This method just tries to parse the token(s) within the url when - // the auth-server redirects the user back to the web-app - // It dosn't send the user the the login page - this.oauthService.tryLogin(); - - }); - - } + // The SPA's id. The SPA is registerd with this id at the auth-server + clientId: 'spa-demo', + // set the scope for the permissions the client should request + // The first three are defined by OIDC. The 4th is a usecase-specific one + scope: 'openid profile email voucher', } ``` -### Configure Library for Implicit Flow (without discovery document) +Configure the OAuthService with this config object when the application starts up: -When you don't have a discovery document, you have to configure more properties manually: +```TypeScript +import { OAuthService } from 'angular-oauth2-oidc'; +import { JwksValidationHandler } from 'angular-oauth2-oidc'; +import { authConfig } from './auth.config'; +import { Component } from '@angular/core'; -``` -@Component({ ... }) +@Component({ + selector: 'flight-app', + templateUrl: './app.component.html' +}) export class AppComponent { - constructor(private oauthService: OAuthService) { - - // Login-Url - this.oauthService.loginUrl = "https://steyer-identity-server.azurewebsites.net/identity/connect/authorize"; //Id-Provider? - - // URL of the SPA to redirect the user to after login - this.oauthService.redirectUri = window.location.origin + "/index.html"; - - // The SPA's id. Register SPA with this id at the auth-server - this.oauthService.clientId = "spa-demo"; - - // set the scope for the permissions the client should request - this.oauthService.scope = "openid profile email voucher"; - - // Use setStorage to use sessionStorage or another implementation of the TS-type Storage - // instead of localStorage - this.oauthService.setStorage(sessionStorage); - - // To also enable single-sign-out set the url for your auth-server's logout-endpoint here - this.oauthService.logoutUrl = "https://steyer-identity-server.azurewebsites.net/identity/connect/endsession"; - - // This method just tries to parse the token(s) within the url when - // the auth-server redirects the user back to the web-app - // It dosn't send the user the the login page - this.oauthService.tryLogin(); - - - } + constructor(private oauthService: OAuthService) { + this.configureWithNewConfigApi(); + } + private configureWithNewConfigApi() { + this.oauthService.configure(authConfig); + this.oauthService.tokenValidationHandler = new JwksValidationHandler(); + this.oauthService.loadDiscoveryDocumentAndTryLogin(); + } } ``` -### Home-Component (for login) +### Implementing a Login Form -``` +After you've configured the library, you just have to call ``initImplicitFlow`` to login using OAuth2/ OIDC. + +```TypeScript import { Component } from '@angular/core'; import { OAuthService } from 'angular-oauth2-oidc'; @Component({ - templateUrl: "app/home.html" + templateUrl: "app/home.html" }) export class HomeComponent { - - constructor(private oAuthService: OAuthService) { + + constructor(private oauthService: OAuthService) { } - + public login() { - this.oAuthService.initImplicitFlow(); + this.oauthService.initImplicitFlow(); } - + public logoff() { - this.oAuthService.logOut(); + this.oauthService.logOut(); } - + public get name() { let claims = this.oAuthService.getIdentityClaims(); if (!claims) return null; - return claims.given_name; + return claims.given_name; } - + } ``` -``` +The following snippet contains the template for the login page: + +```HTML
There is a callback onTokenReceived
, that is called after a successful login. In this case, the lib received the access_token as
+well as the id_token, if it was requested. If there is an id_token, the lib validated it.
this.oauthService.tryLogin({
+ onTokenReceived: context => {
+ //
+ // Output just for purpose of demonstration
+ // Don't try this at home ... ;-)
+ //
+ console.debug("logged in");
+ console.debug(context);
+ }
+});
+ When you don't have a discovery document, you have to configure more properties manually:
+Please note that the following sample uses the original config API. For information about the new config API have a look to the project's README above.
+@Component({ ... })
+export class AppComponent {
+
+ constructor(private oauthService: OAuthService) {
+
+ // Login-Url
+ this.oauthService.loginUrl = "https://steyer-identity-server.azurewebsites.net/identity/connect/authorize"; //Id-Provider?
+
+ // URL of the SPA to redirect the user to after login
+ this.oauthService.redirectUri = window.location.origin + "/index.html";
+
+ // The SPA's id. Register SPA with this id at the auth-server
+ this.oauthService.clientId = "spa-demo";
+
+ // set the scope for the permissions the client should request
+ this.oauthService.scope = "openid profile email voucher";
+
+ // Use setStorage to use sessionStorage or another implementation of the TS-type Storage
+ // instead of localStorage
+ this.oauthService.setStorage(sessionStorage);
+
+ // To also enable single-sign-out set the url for your auth-server's logout-endpoint here
+ this.oauthService.logoutUrl = "https://steyer-identity-server.azurewebsites.net/identity/connect/endsession";
+
+ // This method just tries to parse the token(s) within the url when
+ // the auth-server redirects the user back to the web-app
+ // It doesn't send the user the the login page
+ this.oauthService.tryLogin();
+
+
+ }
+
+}
+ To 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.
+Please note that the following sample uses the original config API. For information about the new config API have a look to the project's README above.
+@Component({ ... })
+export class AppComponent {
+
+ constructor(private oauthService: OAuthService) {
+
+ // URL of the SPA to redirect the user to after login
+ this.oauthService.redirectUri = window.location.origin + "/index.html";
+
+ // The SPA's id. The SPA is registerd with this id at the auth-server
+ this.oauthService.clientId = "spa-demo";
+
+ // set the scope for the permissions the client should request
+ // The first three are defined by OIDC. The 4th is a usecase-specific one
+ this.oauthService.scope = "openid profile email voucher";
+
+ // The name of the auth-server that has to be mentioned within the token
+ this.oauthService.issuer = "https://steyer-identity-server.azurewebsites.net/identity";
+
+ // Load Discovery Document and then try to login the user
+ this.oauthService.loadDiscoveryDocument().then(() => {
+
+ // This method just tries to parse the token(s) within the url when
+ // the auth-server redirects the user back to the web-app
+ // It dosn't send the user the the login page
+ this.oauthService.tryLogin();
+
+ });
+
+ }
+
+}
+ If you are leveraging the LocationStrategy
which the Router is using by default, you can skip this section.
When 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:
export let AppRouterModule = RouterModule.forRoot(APP_ROUTES, {
+ useHash: true,
+ initialNavigation: false
+});
After tryLogin did its job, you can manually perform the initial navigation:
+this.oauthService.tryLogin().then(_ => {
+ this.router.navigate(['/']);
+})
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
+ http://localhost:8080/#/home
+ You can set the property customQueryParams
to a hash with custom parameter that are transmitted when starting implicit flow.
this.oauthService.customQueryParams = {
+ 'tenant': '4711',
+ 'otherParam': 'someValue'
+};
+ The library informs you about its tasks and state using events:
+this.oauthService.events.subscribe(e => {
+ console.debug('oauth/oidc event', e);
+})
For a full list of available events see the string based enum in the file events.ts
.
Please find the Getting Started Guide in the README above.
+ +To 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.
+Please note that the following sample uses the original config API. For information about the new config API have a look to the project's README above.
+@Component({ ... })
+export class AppComponent {
+
+ constructor(private oauthService: OAuthService) {
+
+ // URL of the SPA to redirect the user to after login
+ this.oauthService.redirectUri = window.location.origin + "/index.html";
+
+ // The SPA's id. The SPA is registerd with this id at the auth-server
+ this.oauthService.clientId = "spa-demo";
+
+ // set the scope for the permissions the client should request
+ // The first three are defined by OIDC. The 4th is a usecase-specific one
+ this.oauthService.scope = "openid profile email voucher";
+
+ // The name of the auth-server that has to be mentioned within the token
+ this.oauthService.issuer = "https://steyer-identity-server.azurewebsites.net/identity";
+
+ // Load Discovery Document and then try to login the user
+ this.oauthService.loadDiscoveryDocument().then(() => {
+
+ // This method just tries to parse the token(s) within the url when
+ // the auth-server redirects the user back to the web-app
+ // It dosn't send the user the the login page
+ this.oauthService.tryLogin();
+
+ });
+
+ }
+
+}
+ When calling initImplicitFlow
, you can pass an optional state which could be the requested url:
this.oauthService.initImplicitFlow('http://www.myurl.com/x/y/z');
After login succeeded, you can read this state:
+this.oauthService.tryLogin({
+ onTokenReceived: (info) => {
+ console.debug('state', info.state);
+ }
+})
+ To 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.
+To use this approach, setup a redirect uri for the silent refresh.
+For this, you can set the property silentRefreshRedirectUri in the config object:
+// This api will come in the next version
+
+import { AuthConfig } from 'angular-oauth2-oidc';
+
+export const authConfig: AuthConfig = {
+
+ // Url of the Identity Provider
+ issuer: 'https://steyer-identity-server.azurewebsites.net/identity',
+
+ // URL of the SPA to redirect the user to after login
+ redirectUri: window.location.origin + '/index.html',
+
+ // URL of the SPA to redirect the user after silent refresh
+ silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',
+
+ // The SPA's id. The SPA is registerd with this id at the auth-server
+ clientId: 'spa-demo',
+
+ // set the scope for the permissions the client should request
+ // The first three are defined by OIDC. The 4th is a usecase-specific one
+ scope: 'openid profile email voucher',
+}
As an alternative, you can set the same property directly with the OAuthService:
+this.oauthService.silentRefreshRedirectUri = window.location.origin + "/silent-refresh.html";
Please keep in mind that this uri has to be configured at the auth-server too.
+This file is loaded into the hidden iframe after getting new tokens. Its only task is to send the received tokens to the main application:
+<html>
+<body>
+ <script>
+ parent.postMessage(location.hash, location.origin);
+ </script>
+</body>
+</html>
Please 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
:
"assets": [
+ [...],
+ "silent-refresh.html"
+],
To perform a silent refresh, just call the following method:
+this
+ .oauthService
+ .silentRefresh()
+ .then(info => console.debug('refresh ok', info))
+ .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).
To automatically refresh a token when/ some time before it expires, just call the following method after configuring the OAuthService:
+this.oauthService.setupAutomaticSilentRefresh();
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.
If you are leveraging the LocationStrategy
which the Router is using by default, you can skip this section.
When 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:
export let AppRouterModule = RouterModule.forRoot(APP_ROUTES, {
+ useHash: true,
+ initialNavigation: false
+});
After tryLogin did its job, you can manually perform the initial navigation:
+this.oauthService.tryLogin().then(_ => {
+ this.router.navigate(['/']);
+})
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
+ http://localhost:8080/#/home
+ Beginning with version 2.1, you can receive a notification when the user signs out with the identity provider. +This is implemented as defined by the OpenID Connect Session Management 1.0 spec.
+When this option is activated, the library also automatically ends your local session. This means, the current tokens
+are deleted by calling logOut
. In addition to that, the library sends a session_terminated event, you can register
+for to perform a custom action.
Please note that this option can only be used when also the identity provider in question supports it.
+To activate the session checks that leads to the mentioned notifications, set the configuration property
+sessionChecksEnabled
:
import { AuthConfig } from 'angular-oauth2-oidc';
+
+export const authConfig: AuthConfig = {
+ issuer: 'https://steyer-identity-server.azurewebsites.net/identity',
+ redirectUri: window.location.origin + '/index.html',
+ silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',
+ clientId: 'spa-demo',
+ scope: 'openid profile email voucher',
+
+ // Activate Session Checks:
+ sessionChecksEnabled: true
+}
To get notified, you can hook up for the event session_terminated
:
this.oauthService.events.filter(e => e.type === 'session_terminated').subscribe(e => {
+console.debug('Your session has been terminated!');
+})
+ This section shows how to use the password flow, which demands the user to directly enter his or her password into the client.
+Please note that from an OAuth2/OIDC perspective, the implicit flow is better suited for logging into a SPA and the flow described here should only be used, +when a) there is a strong trust relations ship between the client and the auth server and when b) other flows are not possible.
+To 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.
+Please not, that this configuration is quite similar to the one for the implcit flow.
+@Component({ ... })
+export class AppComponent {
+
+ constructor(private oauthService: OAuthService) {
+
+ // The SPA's id. Register SPA with this id at the auth-server
+ this.oauthService.clientId = "demo-resource-owner";
+
+ // set the scope for the permissions the client should request
+ // The auth-server used here only returns a refresh token (see below), when the scope offline_access is requested
+ this.oauthService.scope = "openid profile email voucher offline_access";
+
+ // Use setStorage to use sessionStorage or another implementation of the TS-type Storage
+ // instead of localStorage
+ this.oauthService.setStorage(sessionStorage);
+
+ // Set a dummy secret
+ // Please note that the auth-server used here demand the client to transmit a client secret, although
+ // the standard explicitly cites that the password flow can also be used without it. Using a client secret
+ // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret
+ // Using such a dummy secret is as safe as using no secret.
+ this.oauthService.dummyClientSecret = "geheim";
+
+ // Load Discovery Document and then try to login the user
+ let url = 'https://steyer-identity-server.azurewebsites.net/identity/.well-known/openid-configuration';
+ this.oauthService.loadDiscoveryDocument(url).then(() => {
+ // Do what ever you want here
+ });
+
+ }
+
+}
In cases where you don't have an OIDC based discovery document you have to configure some more properties manually:
+@Component({ ... })
+export class AppComponent {
+
+ constructor(private oauthService: OAuthService) {
+
+ // Login-Url
+ this.oauthService.tokenEndpoint = "https://steyer-identity-server.azurewebsites.net/identity/connect/token";
+
+ // Url with user info endpoint
+ // This endpont is described by OIDC and provides data about the loggin user
+ // This sample uses it, because we don't get an id_token when we use the password flow
+ // If you don't want this lib to fetch data about the user (e. g. id, name, email) you can skip this line
+ this.oauthService.userinfoEndpoint = "https://steyer-identity-server.azurewebsites.net/identity/connect/userinfo";
+
+ // The SPA's id. Register SPA with this id at the auth-server
+ this.oauthService.clientId = "demo-resource-owner";
+
+ // set the scope for the permissions the client should request
+ this.oauthService.scope = "openid profile email voucher offline_access";
+
+ // Set a dummy secret
+ // Please note that the auth-server used here demand the client to transmit a client secret, although
+ // the standard explicitly cites that the password flow can also be used without it. Using a client secret
+ // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret
+ // Using such a dummy secret is as safe as using no secret.
+ this.oauthService.dummyClientSecret = "geheim";
+
+ }
+
+}
this.oauthService.fetchTokenUsingPasswordFlow('max', 'geheim').then((resp) => {
+
+ // Loading data about the user
+ return this.oauthService.loadUserProfile();
+
+}).then(() => {
+
+ // Using the loaded user data
+ let claims = this.oAuthService.getIdentityClaims();
+ if (claims) console.debug('given_name', claims.given_name);
+
+})
There is also a short form for fetching the token and loading the user profile:
+this.oauthService.fetchTokenUsingPasswordFlowAndLoadUserProfile('max', 'geheim').then(() => {
+ let claims = this.oAuthService.getIdentityClaims();
+ if (claims) console.debug('given_name', claims.given_name);
+});
Using 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.
+this.oauthService.refreshToken().then(() => {
+ console.debug('ok');
+})
+ Thanks to Kevin BEAUGRAND for adding this information regarding SystemJS.
+System.config({
+...
+ meta: {
+ 'angular-oauth2-oidc': {
+ deps: ['jsrsasign']
+ },
+ }
+...
+});
+ +
+ src/auth.config.ts
+
+ Properties+ |
+
+
|
+
+ + Public disableAtHashCheck + | +
+ disableAtHashCheck:
+ |
+
+ Default value : false
+ |
+
+ Defined in src/auth.config.ts:248
+ |
+
+ This property has been introduced to disable at_hash checks + and is indented for Identity Provider that does not deliver + an at_hash EVEN THOUGH its recommended by the OIDC specs. + Of course, when disabling these checks the we are bypassing + a security check which means we are more vulnerable. + |
+
export class AuthConfig {
+ /**
+ * The client's id as registered with the auth server
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public clientId? = '';
+
+ /**
+ * The client's redirectUri as registered with the auth server
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public redirectUri? = '';
+
+ /**
+ * An optional second redirectUri where the auth server
+ * redirects the user to after logging out.
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public postLogoutRedirectUri? = '';
+
+ /**
+ * The auth server's endpoint that allows to log
+ * the user in when using implicit flow.
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ *
+ */
+ public loginUrl? = '';
+
+ /**
+ * The requested scopes
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ *
+ */
+ public scope? = 'openid profile';
+
+ /**
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public resource? = '';
+
+ /**
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public rngUrl? = '';
+
+ /**
+ * Defines whether to use OpenId Connect during
+ * implicit flow.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public oidc? = true;
+
+ /**
+ * Defines whether to request a access token during
+ * implicit flow.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public requestAccessToken? = true;
+
+ /**
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public options?: any;
+
+ /**
+ * The issuer's uri.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public issuer? = '';
+
+ /**
+ * The logout url.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public logoutUrl? = '';
+
+ /**
+ * Defines whether to clear the hash fragment after logging in.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public clearHashAfterLogin? = true;
+
+ /**
+ * Url of the token endpoint as defined by OpenId Connect and OAuth 2.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public tokenEndpoint?: string;
+
+ /**
+ * Url of the userinfo endpoint as defined by OpenId Connect.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ *
+ */
+ public userinfoEndpoint?: string;
+
+ /**
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public responseType? = 'token';
+
+ /**
+ * Defines whether additional debug information should
+ * be shown at the console.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public showDebugInformation? = false;
+
+ /**
+ * The redirect uri used when doing silent refresh.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public silentRefreshRedirectUri? = '';
+
+ /**
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public silentRefreshMessagePrefix? = '';
+
+ /**
+ * Set this to true to display the iframe used for
+ * silent refresh for debugging.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public silentRefreshShowIFrame? = false;
+
+ /**
+ * Timeout for silent refresh.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public siletRefreshTimeout?: number = 1000 * 20;
+
+ /**
+ * 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.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public dummyClientSecret?: string;
+
+
+ /**
+ * Defines whether https is required.
+ * The default value is remoteOnly which only allows
+ * http for location, while every other domains need
+ * to be used with https.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public requireHttps?: boolean | 'remoteOnly' = 'remoteOnly';
+
+ /**
+ * Defines whether every url provided by the discovery
+ * document has to start with the issuer's url.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public strictDiscoveryDocumentValidation? = true;
+
+ /**
+ * JSON Web Key Set (https://tools.ietf.org/html/rfc7517)
+ * with keys used to validate received id_tokens.
+ * This is taken out of the disovery document. Can be set manually too.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public jwks?: object;
+
+ /**
+ * Map with additional query parameter that are appended to
+ * the request when initializing implicit flow.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public customQueryParams?: object;
+
+ /**
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public silentRefreshIFrameName? = 'angular-oauth-oidc-silent-refresh-iframe';
+
+ /**
+ * Defines when the token_timeout event should be raised.
+ * If you set this to the default value 0.75, the event
+ * is triggered after 75% of the token's life time.
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public timeoutFactor? = 0.75;
+
+ /**
+ * If true, the lib will try to check whether the user
+ * is still logged in on a regular basis as described
+ * in http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification
+ * @type {boolean}
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public sessionChecksEnabled? = false;
+
+ /**
+ * Intervall in msec for checking the session
+ * according to http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification
+ * @type {number}
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public sessionCheckIntervall? = 3 * 1000;
+
+ /**
+ * Url for the iframe used for session checks
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public sessionCheckIFrameUrl?: string;
+
+ /**
+ * Name of the iframe to use for session checks
+ * @type {number}
+ *
+ * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ */
+ public sessionCheckIFrameName? = 'angular-oauth-oidc-check-session-iframe';
+
+ /**
+ * This property has been introduced to disable at_hash checks
+ * and is indented for Identity Provider that does not deliver
+ * an at_hash EVEN THOUGH its recommended by the OIDC specs.
+ * Of course, when disabling these checks the we are bypassing
+ * a security check which means we are more vulnerable.
+ */
+ public disableAtHashCheck? = false;
+}
+
+ 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).
+setupAutomaticSilentRefresh()
loadDiscoveryDocumentAndTryLogin()
import { OAuthModule } from 'angular-oauth2-oidc';
+Installing
+npm i angular-oauth2-oidc --save
Importing the NgModule
+import { OAuthModule } from 'angular-oauth2-oidc';
[...]
@NgModule({
@@ -481,101 +586,78 @@ Setup Provider for OAuthService
]
})
export class AppModule {
-}
Using Implicit Flow
-This section shows how to use the implicit flow, which is redirecting the user to the auth-server for the login.
-Configure Library for Implicit Flow (using discovery document)
-To 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.
-@Component({ ... })
-export class AppComponent {
-
- constructor(private oauthService: OAuthService) {
-
- // URL of the SPA to redirect the user to after login
- this.oauthService.redirectUri = window.location.origin + "/index.html";
-
- // The SPA's id. The SPA is registerd with this id at the auth-server
- this.oauthService.clientId = "spa-demo";
-
- // set the scope for the permissions the client should request
- // The first three are defined by OIDC. The 4th is a usecase-specific one
- this.oauthService.scope = "openid profile email voucher";
+}
Configuring for Implicit Flow
+This section shows how to implement login leveraging implicit flow. This is the OAuth2/OIDC flow best suitable for
+Single Page Application. It sends the user to the Identity Provider's login page. After logging in, the SPA gets tokens.
+This also allows for single sign on as well as single sign off.
+To configure the library the following sample uses the new configuration API introduced with Version 2.1.
+Hence, The original API is still supported.
+import { AuthConfig } from 'angular-oauth2-oidc';
+
+export const authConfig: AuthConfig = {
+
+ // Url of the Identity Provider
+ issuer: 'https://steyer-identity-server.azurewebsites.net/identity',
+
+ // URL of the SPA to redirect the user to after login
+ redirectUri: window.location.origin + '/index.html',
+
+ // The SPA's id. The SPA is registerd with this id at the auth-server
+ clientId: 'spa-demo',
+
+ // set the scope for the permissions the client should request
+ // The first three are defined by OIDC. The 4th is a usecase-specific one
+ scope: 'openid profile email voucher',
+}
Configure the OAuthService with this config object when the application starts up:
+import { OAuthService } from 'angular-oauth2-oidc';
+import { JwksValidationHandler } from 'angular-oauth2-oidc';
+import { authConfig } from './auth.config';
+import { Component } from '@angular/core';
- // The name of the auth-server that has to be mentioned within the token
- this.oauthService.issuer = "https://steyer-identity-server.azurewebsites.net/identity";
-
- // Load Discovery Document and then try to login the user
- this.oauthService.loadDiscoveryDocument().then(() => {
-
- // This method just tries to parse the token(s) within the url when
- // the auth-server redirects the user back to the web-app
- // It dosn't send the user the the login page
- this.oauthService.tryLogin();
-
- });
-
- }
-
-}
Configure Library for Implicit Flow (without discovery document)
-When you don't have a discovery document, you have to configure more properties manually:
-@Component({ ... })
+@Component({
+ selector: 'flight-app',
+ templateUrl: './app.component.html'
+})
export class AppComponent {
- constructor(private oauthService: OAuthService) {
-
- // Login-Url
- this.oauthService.loginUrl = "https://steyer-identity-server.azurewebsites.net/identity/connect/authorize"; //Id-Provider?
-
- // URL of the SPA to redirect the user to after login
- this.oauthService.redirectUri = window.location.origin + "/index.html";
-
- // The SPA's id. Register SPA with this id at the auth-server
- this.oauthService.clientId = "spa-demo";
-
- // set the scope for the permissions the client should request
- this.oauthService.scope = "openid profile email voucher";
-
- // Use setStorage to use sessionStorage or another implementation of the TS-type Storage
- // instead of localStorage
- this.oauthService.setStorage(sessionStorage);
-
- // To also enable single-sign-out set the url for your auth-server's logout-endpoint here
- this.oauthService.logoutUrl = "https://steyer-identity-server.azurewebsites.net/identity/connect/endsession";
-
- // This method just tries to parse the token(s) within the url when
- // the auth-server redirects the user back to the web-app
- // It dosn't send the user the the login page
- this.oauthService.tryLogin();
-
-
- }
+ constructor(private oauthService: OAuthService) {
+ this.configureWithNewConfigApi();
+ }
-}
Home-Component (for login)
-import { Component } from '@angular/core';
+ private configureWithNewConfigApi() {
+ this.oauthService.configure(authConfig);
+ this.oauthService.tokenValidationHandler = new JwksValidationHandler();
+ this.oauthService.loadDiscoveryDocumentAndTryLogin();
+ }
+}
Implementing a Login Form
+After you've configured the library, you just have to call initImplicitFlow
to login using OAuth2/ OIDC.
+import { Component } from '@angular/core';
import { OAuthService } from 'angular-oauth2-oidc';
@Component({
- templateUrl: "app/home.html"
+ templateUrl: "app/home.html"
})
export class HomeComponent {
- constructor(private oAuthService: OAuthService) {
+ constructor(private oauthService: OAuthService) {
}
public login() {
- this.oAuthService.initImplicitFlow();
+ this.oauthService.initImplicitFlow();
}
public logoff() {
- this.oAuthService.logOut();
+ this.oauthService.logOut();
}
public get name() {
let claims = this.oAuthService.getIdentityClaims();
if (!claims) return null;
- return claims.given_name;
+ return claims.given_name;
}
-}
<h1 *ngIf="!name">
+}
The following snippet contains the template for the login page:
+<h1 *ngIf="!name">
Hallo
</h1>
<h1 *ngIf="name">
@@ -591,177 +673,16 @@ Configure
<div>
Username/Passwort zum Testen: max/geheim
-</div>
Validate id_token
-You 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:
-
-- JwksValidationHandler
-- NullValidationHandler
-
-The 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.
-import { JwksValidationHandler } from 'angular-oauth2-oidc';
-
-[...]
-
-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.
-Calling a Web API with OAuth-Token
+</div>
Pass this Header to the used method of the Http
-Service within an Instance of the class Headers
:
var headers = new Headers({
+var headers = new Headers({
"Authorization": "Bearer " + this.oauthService.getAccessToken()
-});
Refreshing a Token when using Implicit Flow
-To 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.
-To use this approach, setup a redirect uri for the silent refresh:
-this.oauthService.silentRefreshRedirectUri = window.location.origin + "/silent-refresh.html";
Please keep in mind that this uri has to be configured at the auth-server too.
-This file is loaded into the hidden iframe after getting new tokens. Its only task is to send the received tokens to the main application:
-<html>
-<body>
- <script>
- parent.postMessage(location.hash, location.origin);
- </script>
-</body>
-</html>
Please 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
:
-"assets": [
- [...],
- "silent-refresh.html"
-],
To perform a silent refresh, just call the following method:
-this
- .oauthService
- .silentRefresh()
- .then(info => console.debug('refresh ok', info))
- .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).
-Automatically refreshing a token when/ before it expires
-To automatically refresh a token when/ some time before it expires, you can make use of the event token_expires
:
-this
- .oauthService
- .events
- .filter(e => e.type == 'token_expires')
- .subscribe(e => {
- this.oauthService.silentRefresh();
- });
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.
-Callback after successful login
-There is a callback onTokenReceived
, that is called after a successful login. In this case, the lib received the access_token as
-well as the id_token, if it was requested. If there is an id_token, the lib validated it.
-this.oauthService.tryLogin({
- onTokenReceived: context => {
- //
- // Output just for purpose of demonstration
- // Don't try this at home ... ;-)
- //
- console.debug("logged in");
- console.debug(context);
- }
-});
Preserving State like the requested URL
-When calling initImplicitFlow
, you can pass an optional state which could be the requested url:
-this.oauthService.initImplicitFlow('http://www.myurl.com/x/y/z');
After login succeeded, you can read this state:
-this.oauthService.tryLogin({
- onTokenReceived: (info) => {
- console.debug('state', info.state);
- }
-})
Custom Query Parameter
-You can set the property customQueryParams
to a hash with custom parameter that are transmitted when starting implicit flow.
-this.oauthService.customQueryParams = {
- 'tenant': '4711',
- 'otherParam': 'someValue'
-};
Routing with the HashStrategy
-If you are leveraging the LocationStrategy
which the Router is using by default, you can skip this section.
-When 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:
-export let AppRouterModule = RouterModule.forRoot(APP_ROUTES, {
- useHash: true,
- initialNavigation: false
-});
After tryLogin did its job, you can manually perform the initial navigation:
-this.oauthService.tryLogin().then(_ => {
- this.router.navigate(['/']);
-})
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
- http://localhost:8080/#/home
Events
-this.oauthService.events.subscribe(e => {
- console.debug('oauth/oidc event', e);
-})
Using Password-Flow
-This section shows how to use the password flow, which demands the user to directly enter his or her password into the client.
-Configure Library for Password Flow (using discovery document)
-To 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.
-Please not, that this configuation is quite similar to the one for the implcit flow.
-@Component({ ... })
-export class AppComponent {
-
- constructor(private oauthService: OAuthService) {
-
- // The SPA's id. Register SPA with this id at the auth-server
- this.oauthService.clientId = "demo-resource-owner";
-
- // set the scope for the permissions the client should request
- // The auth-server used here only returns a refresh token (see below), when the scope offline_access is requested
- this.oauthService.scope = "openid profile email voucher offline_access";
-
- // Use setStorage to use sessionStorage or another implementation of the TS-type Storage
- // instead of localStorage
- this.oauthService.setStorage(sessionStorage);
-
- // Set a dummy secret
- // Please note that the auth-server used here demand the client to transmit a client secret, although
- // the standard explicitly cites that the password flow can also be used without it. Using a client secret
- // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret
- // Using such a dummy secreat is as safe as using no secret.
- this.oauthService.dummyClientSecret = "geheim";
-
- // Load Discovery Document and then try to login the user
- let url = 'https://steyer-identity-server.azurewebsites.net/identity/.well-known/openid-configuration';
- this.oauthService.loadDiscoveryDocument(url).then(() => {
- // Do what ever you want here
- });
-
- }
-
-}
Configure Library for Password Flow (without discovery document)
-In cases where you don't have an OIDC based discovery document you have to configure some more properties manually:
-@Component({ ... })
-export class AppComponent {
-
- constructor(private oauthService: OAuthService) {
-
- // Login-Url
- this.oauthService.tokenEndpoint = "https://steyer-identity-server.azurewebsites.net/identity/connect/token";
-
- // Url with user info endpoint
- // This endpont is described by OIDC and provides data about the loggin user
- // This sample uses it, because we don't get an id_token when we use the password flow
- // If you don't want this lib to fetch data about the user (e. g. id, name, email) you can skip this line
- this.oauthService.userinfoEndpoint = "https://steyer-identity-server.azurewebsites.net/identity/connect/userinfo";
-
- // The SPA's id. Register SPA with this id at the auth-server
- this.oauthService.clientId = "demo-resource-owner";
-
- // set the scope for the permissions the client should request
- this.oauthService.scope = "openid profile email voucher offline_access";
-
- // Set a dummy secret
- // Please note that the auth-server used here demand the client to transmit a client secret, although
- // the standard explicitly cites that the password flow can also be used without it. Using a client secret
- // does not make sense for a SPA that runs in the browser. That's why the property is called dummyClientSecret
- // Using such a dummy secreat is as safe as using no secret.
- this.oauthService.dummyClientSecret = "geheim";
-
- }
-
-}
Fetching an Access Token by providing the current user's credentials
-this.oauthService.fetchTokenUsingPasswordFlow('max', 'geheim').then((resp) => {
-
- // Loading data about the user
- return this.oauthService.loadUserProfile();
-
-}).then(() => {
-
- // Using the loaded user data
- let claims = this.oAuthService.getIdentityClaims();
- if (claims) console.debug('given_name', claims.given_name);
+});
If you are using the new HttpClient, use the class HttpHeaders instead:
+var headers = new HttpHeaders({
+ "Authorization": "Bearer " + this.oauthService.getAccessToken()
+});
More Documentation
+See the documentation for more information about this library.
-})
There is also a short form for fetching the token and loading the user profile:
-this.oauthService.fetchTokenUsingPasswordFlowAndLoadUserProfile('max', 'geheim').then(() => {
- let claims = this.oAuthService.getIdentityClaims();
- if (claims) console.debug('given_name', claims.given_name);
-});
Using 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.
-this.oauthService.refreshToken().then(() => {
- console.debug('ok');
-})
diff --git a/angular-oauth2-oidc/docs/injectables/OAuthService.html b/angular-oauth2-oidc/docs/injectables/OAuthService.html
index 9dd00dd6..c5ac822f 100644
--- a/angular-oauth2-oidc/docs/injectables/OAuthService.html
+++ b/angular-oauth2-oidc/docs/injectables/OAuthService.html
@@ -56,6 +56,58 @@
constructor(http: Http, storage: OAuthStorage, tokenValidationHandler: ValidationHandler, config: AuthConfig, urlHelper: UrlHelperService)
+ constructor(http: Http, storage: OAuthStorage, tokenValidationHandler: ValidationHandler, config: AuthConfig, urlHelper: UrlHelperService)
configure(config: AuthConfig)
+ configure(config: AuthConfig)
import { Http, URLSearchParams, Headers } from '@angular/http';
-import { Inject, Injectable, Optional } from '@angular/core';
+import { Injectable, Optional } from '@angular/core';
import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject';
import { ValidationHandler, ValidationParams } from './token-validation/validation-handler';
@@ -1913,9 +2005,7 @@
import { OAuthEvent, OAuthInfoEvent, OAuthErrorEvent, OAuthSuccessEvent } from './events';
import { OAuthStorage, LoginOptions, ParsedIdToken } from './types';
import { b64DecodeUnicode } from './base64-helper';
-import { AUTH_CONFIG } from './tokens';
import { AuthConfig } from './auth.config';
-import { defaultConfig } from './default.auth.conf';
/**
* Service for logging in and logging out with
@@ -1923,168 +2013,11 @@
* password flow.
*/
@Injectable()
-export class OAuthService {
-
- /**
- * The client's id as registered with the auth server
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public clientId = '';
-
- /**
- * The client's redirectUri as registered with the auth server
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public redirectUri = '';
-
- /**
- * An optional second redirectUri where the auth server
- * redirects the user to after logging out.
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public postLogoutRedirectUri = '';
-
- /**
- * The auth server's endpoint that allows to log
- * the user in when using implicit flow.
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- *
- */
- public loginUrl = '';
-
- /**
- * The requested scopes
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- *
- */
- public scope = 'openid profile';
-
- /**
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public resource = '';
-
- /**
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public rngUrl = '';
-
- /**
- * Defines whether to use OpenId Connect during
- * implicit flow.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public oidc = true;
-
- /**
- * Defines whether to request a access token during
- * implicit flow.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public requestAccessToken = true;
-
- /**
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public options: any;
-
- /**
- * The received (passed around) state, when logging
- * in with implicit flow.
- */
- public state = '';
-
- /**
- * The issuer's uri.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public issuer = '';
-
- /**
- * The logout url.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public logoutUrl = '';
-
- /**
- * Defines whether to clear the hash fragment after logging in.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public clearHashAfterLogin = true;
-
- /**
- * Url of the token endpoint as defined by OpenId Connect and OAuth 2.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public tokenEndpoint: string;
-
- /**
- * Url of the userinfo endpoint as defined by OpenId Connect.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- *
- */
- public userinfoEndpoint: string;
-
- /**
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public responseType = 'token';
-
- /**
- * Defines whether additional debug information should
- * be shown at the console.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public showDebugInformation = false;
-
- /**
- * The redirect uri used when doing silent refresh.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public silentRefreshRedirectUri = '';
+export class OAuthService
+ extends AuthConfig {
- /**
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public silentRefreshMessagePrefix = '';
-
- /**
- * Set this to true to display the iframe used for
- * silent refresh for debugging.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public silentRefreshShowIFrame = false;
-
- /**
- * Timeout for silent refresh.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public siletRefreshTimeout: number = 1000 * 20;
-
- /**
- * 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.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public dummyClientSecret: string;
+ // extending AuthConfig ist just for LEGACY reasons
+ // to not break existing code
/**
* The ValidationHandler used to validate received
@@ -2092,41 +2025,6 @@
*/
public tokenValidationHandler: ValidationHandler;
- /**
- * Defines whether https is required.
- * The default value is remoteOnly which only allows
- * http for location, while every other domains need
- * to be used with https.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public requireHttps: boolean | 'remoteOnly' = 'remoteOnly';
-
- /**
- * Defines whether every url provided by the discovery
- * document has to start with the issuer's url.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public strictDiscoveryDocumentValidation = true;
-
- /**
- * JSON Web Key Set (https://tools.ietf.org/html/rfc7517)
- * with keys used to validate received id_tokens.
- * This is taken out of the disovery document. Can be set manually too.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public jwks: object;
-
- /**
- * Map with additional query parameter that are appended to
- * the request when initializing implicit flow.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public customQueryParams: object;
-
/**
* @internal
* Deprecated: use property events instead
@@ -2139,83 +2037,39 @@
*/
public discoveryDocumentLoaded$: Observable<object>;
- private discoveryDocumentLoadedSubject: Subject<object> = new Subject<object>();
-
/**
* Informs about events, like token_received or token_expires.
* See the string enum EventType for a full list of events.
*/
public events: Observable<OAuthEvent>;
- private eventsSubject: Subject<OAuthEvent> = new Subject<OAuthEvent>();
/**
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
+ * The received (passed around) state, when logging
+ * in with implicit flow.
*/
- public silentRefreshIFrameName = 'angular-oauth-oidc-silent-refresh-iframe';
+ public state? = '';
+ private eventsSubject: Subject<OAuthEvent> = new Subject<OAuthEvent>();
+ private discoveryDocumentLoadedSubject: Subject<object> = new Subject<object>();
private silentRefreshPostMessageEventListener: EventListener;
-
private grantTypesSupported: Array<string> = [];
private _storage: OAuthStorage;
-
- /**
- * Defines when the token_timeout event should be raised.
- * If you set this to the default value 0.75, the event
- * is triggered after 75% of the token's life time.
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public timeoutFactor = 0.75;
-
- /**
- * If true, the lib will try to check whether the user
- * is still logged in on a regular basis as described
- * in http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification
- * @type {boolean}
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public checkSessionPeriodic = false;
-
- /**
- * Intervall in msec for checking the session
- * according to http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification
- * @type {number}
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public checkSessionIntervall = 3 * 1000;
-
- /**
- * Url for the iframe used for session checks
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public checkSessionIFrameUrl: string;
-
- /**
- * Name of the iframe to use for session checks
- * @type {number}
- *
- * @internal DEPREACTED/ LEGACY. Use method configure instead.
- */
- public checkSessionIFrameName = 'angular-oauth-oidc-check-session-iframe';
-
private accessTokenTimeoutSubscription: Subscription;
private idTokenTimeoutSubscription: Subscription;
-
private sessionCheckEventListener: EventListener;
-
private jwksUri: string;
-
private sessionCheckTimer: any;
+ private silentRefreshSubject: string;
constructor(
private http: Http,
@Optional() storage: OAuthStorage,
@Optional() tokenValidationHandler: ValidationHandler,
- @Optional() @Inject(AUTH_CONFIG) private config: AuthConfig,
+ @Optional() private config: AuthConfig,
private urlHelper: UrlHelperService) {
+ super();
+
this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();
this.events = this.eventsSubject.asObservable();
@@ -2233,11 +2087,13 @@
this.setStorage(sessionStorage);
}
- this.setupTimer();
+ this.setupRefreshTimer();
- if (this.checkSessionPeriodic) {
- this.setupSessionCheck();
+ if (this.sessionChecksEnabled) {
+ this.restartSessionChecksIfStillLoggedIn();
}
+
+ this.restartRefreshTimerIfStillLoggedIn();
}
/**
@@ -2245,7 +2101,31 @@
* @param config the configuration
*/
public configure(config: AuthConfig) {
- Object.assign(this, defaultConfig, config);
+ // For the sake of downward compatibility with
+ // original configuration API
+ Object.assign(this, new AuthConfig(), config);
+
+ this.config = config;
+
+ if (this.sessionChecksEnabled) {
+ this.setupSessionCheck();
+ }
+ }
+
+ private restartSessionChecksIfStillLoggedIn(): void {
+ if (this.hasValidIdToken()) {
+ this.initSessionCheck();
+ }
+ }
+
+ private restartRefreshTimerIfStillLoggedIn(): void {
+ if (this.hasValidAccessToken()) {
+ this.setupAccessTokenTimer();
+ }
+
+ if (this.hasValidIdToken()) {
+ this.setupIdTokenTimer();
+ }
}
private setupSessionCheck() {
@@ -2272,14 +2152,6 @@
});
}
- /*
- private getKeyCount(): number {
- if (!this.jwks) return 0;
- if (!this.jwks['keys']) return 0;
- return this.jwks['keys'].length;
- }
- */
-
private debug(...args): void {
if (this.showDebugInformation) {
console.debug.apply(console, args);
@@ -2327,7 +2199,7 @@
return url.toLowerCase().startsWith(this.issuer.toLowerCase());
}
- private setupTimer(): void {
+ private setupRefreshTimer(): void {
if (typeof window === 'undefined') {
this.debug('timer not supported on this plattform');
@@ -2363,10 +2235,10 @@
private setupIdTokenTimer(): void {
- let expiration = this.getAccessTokenExpiration();
+ let expiration = this.getIdTokenExpiration();
let timeout = this.calcTimeout(expiration);
- this.accessTokenTimeoutSubscription =
+ this.idTokenTimeoutSubscription =
Observable
.of(new OAuthInfoEvent('token_expires', 'id_token'))
.delay(timeout)
@@ -2441,7 +2313,7 @@
this.tokenEndpoint = doc.token_endpoint;
this.userinfoEndpoint = doc.userinfo_endpoint;
this.jwksUri = doc.jwks_uri;
- this.checkSessionIFrameName = doc.check_session_iframe;
+ this.sessionCheckIFrameUrl = doc.check_session_iframe;
this.discoveryDocumentLoaded = true;
this.discoveryDocumentLoadedSubject.next(doc);
@@ -2536,12 +2408,14 @@
return false;
}
- if (this.checkSessionPeriodic && !doc['check_session_iframe']) {
+ if (this.sessionChecksEnabled && !doc['check_session_iframe']) {
console.warn(
- 'checkSessionPeriodic is activated but discovery document'
+ 'sessionChecksEnabled is activated but discovery document'
+ ' does not contain a check_session_iframe field');
}
+ this.sessionChecksEnabled = doc['check_session_iframe'];
+
return true;
}
@@ -2615,8 +2489,6 @@
}
);
});
-
-
}
/**
@@ -2746,7 +2618,8 @@
onTokenReceived: () => {
this.eventsSubject.next(new OAuthSuccessEvent('silently_refreshed'));
}
- });
+ })
+ .catch(err => this.debug('tryLogin during silent refresh failed', err));
};
window.addEventListener('message', this.silentRefreshPostMessageEventListener);
@@ -2760,6 +2633,12 @@
*/
public silentRefresh(): Promise<OAuthEvent> {
+ let claims = this.getIdentityClaims();
+
+ if (!claims) {
+ throw new Error('cannot perform a silent refresh as the user is not logged in');
+ }
+
if (!this.validateUrlForHttps(this.loginUrl)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');
if (typeof document === 'undefined') {
@@ -2771,13 +2650,15 @@
document.body.removeChild(existingIframe);
}
+ this.silentRefreshSubject = claims['sub'];
+
let iframe = document.createElement('iframe');
iframe.id = this.silentRefreshIFrameName;
this.setupSilentRefreshEventListener();
let redirectUri = this.silentRefreshRedirectUri || this.redirectUri;
- this.createLoginUrl(null, null, redirectUri).then(url => {
+ this.createLoginUrl(null, null, redirectUri, true).then(url => {
iframe.setAttribute('src', url);
if (!this.silentRefreshShowIFrame) {
iframe.style.visibility = 'hidden';
@@ -2807,16 +2688,16 @@
}
private canPerformSessionCheck(): boolean {
- if (!this.checkSessionPeriodic) return false;
- if (!this.checkSessionIFrameUrl) {
- console.warn('checkSessionPeriodic is activated but there '
- + 'is no checkSessionIFrameUrl');
+ if (!this.sessionChecksEnabled) return false;
+ if (!this.sessionCheckIFrameUrl) {
+ console.warn('sessionChecksEnabled is activated but there '
+ + 'is no sessionCheckIFrameUrl');
return false;
}
let sessionState = this.getSessionState();
if (!sessionState) {
- console.warn('checkSessionPeriodic is activated but there '
- + 'is no session_state claim');
+ console.warn('sessionChecksEnabled is activated but there '
+ + 'is no session_state');
return false;
}
if (typeof document === 'undefined') {
@@ -2846,13 +2727,56 @@
}
switch (e.data) {
- case 'unchanged': break;
- case 'changed': /* events: session_changed, relogin, stopTimer, logged_out*/ break;
- case 'error': /* events: session_check_error, stopTimer, logged_out */ break;
+ case 'unchanged': this.handleSessionUnchanged(); break;
+ case 'changed': this.handleSessionChange(); break;
+ case 'error': this.handleSessionError(); break;
}
this.debug('got info from session check inframe', e);
};
+
+ window.addEventListener('message', this.sessionCheckEventListener);
+ }
+
+ private handleSessionUnchanged(): void {
+ this.debug('session check', 'session unchanged');
+ }
+
+ private handleSessionChange(): void {
+ /* events: session_changed, relogin, stopTimer, logged_out*/
+ this.eventsSubject.next(new OAuthInfoEvent('session_changed'));
+ this.stopSessionCheckTimer();
+ if (this.silentRefreshRedirectUri) {
+ this.silentRefresh()
+ .catch(_ => this.debug('silent refresh failed after session changed'));
+ this.waitForSilentRefreshAfterSessionChange();
+ }
+ else {
+ this.eventsSubject.next(new OAuthInfoEvent('session_terminated'));
+ this.logOut(true);
+ }
+ }
+
+ private waitForSilentRefreshAfterSessionChange() {
+ this
+ .events
+ .filter((e: OAuthEvent) =>
+ e.type === 'silently_refreshed'
+ || e.type === 'silent_refresh_timeout'
+ || e.type === 'silent_refresh_error')
+ .first()
+ .subscribe(e => {
+ if (e.type !== 'silently_refreshed') {
+ this.debug('silent refresh did not work after session changed');
+ this.eventsSubject.next(new OAuthInfoEvent('session_terminated'));
+ this.logOut(true);
+ }
+ });
+ }
+
+ private handleSessionError(): void {
+ this.stopSessionCheckTimer();
+ this.eventsSubject.next(new OAuthInfoEvent('session_error'));
}
private removeSessionCheckEventListener(): void {
@@ -2865,17 +2789,17 @@
private initSessionCheck(): void {
if (!this.canPerformSessionCheck()) return;
- let existingIframe = document.getElementById(this.checkSessionIFrameName);
+ let existingIframe = document.getElementById(this.sessionCheckIFrameName);
if (existingIframe) {
document.body.removeChild(existingIframe);
}
let iframe = document.createElement('iframe');
- iframe.id = this.checkSessionIFrameName;
+ iframe.id = this.sessionCheckIFrameName;
this.setupSessionCheckEventListener();
- let url = this.checkSessionIFrameUrl;
+ let url = this.sessionCheckIFrameUrl;
iframe.setAttribute('src', url);
iframe.style.visibility = 'hidden';
document.body.appendChild(iframe);
@@ -2886,7 +2810,7 @@
private startSessionCheckTimer(): void {
this.stopSessionCheckTimer();
- this.sessionCheckTimer = setInterval(this.checkSession.bind(this), this.checkSessionIntervall);
+ this.sessionCheckTimer = setInterval(this.checkSession.bind(this), this.sessionCheckIntervall);
}
private stopSessionCheckTimer(): void {
@@ -2897,10 +2821,10 @@
}
private checkSession(): void {
- let iframe: any = document.getElementById(this.checkSessionIFrameName);
+ let iframe: any = document.getElementById(this.sessionCheckIFrameName);
if (!iframe) {
- console.warn('checkSession did not find iframe', this.checkSessionIFrameName);
+ console.warn('checkSession did not find iframe', this.sessionCheckIFrameName);
}
let sessionState = this.getSessionState();
@@ -2916,7 +2840,8 @@
private createLoginUrl(
state = '',
loginHint = '',
- customRedirectUri = ''
+ customRedirectUri = '',
+ noPrompt = false
) {
let that = this;
@@ -2985,6 +2910,10 @@
url += '&nonce=' + encodeURIComponent(nonce);
}
+ if (noPrompt) {
+ url += '&prompt=none';
+ }
+
if (this.customQueryParams) {
for (let key of Object.getOwnPropertyNames(this.customQueryParams)) {
url += '&' + key + '=' + encodeURIComponent(this.customQueryParams[key]);
@@ -3082,13 +3011,6 @@
let state = decodeURIComponent(parts['state']);
let sessionState = parts['session_state'];
- if (this.checkSessionPeriodic && !sessionState) {
- console.warn(
- 'session checks (Session Status Change Notification) '
- + 'is activated in the configuration but the id_token '
- + 'does not contain a session_state claim');
- }
-
if (!this.requestAccessToken && !this.oidc) {
return Promise.reject('Either requestAccessToken or oidc or both must be true.');
}
@@ -3097,6 +3019,13 @@
if (this.requestAccessToken && !options.disableOAuth2StateCheck && !state) return Promise.resolve();
if (this.oidc && !idToken) return Promise.resolve();
+ if (this.sessionChecksEnabled && !sessionState) {
+ console.warn(
+ 'session checks (Session Status Change Notification) '
+ + 'is activated in the configuration but the id_token '
+ + 'does not contain a session_state claim');
+ }
+
let stateParts = state.split(';');
if (stateParts.length > 1) {
this.state = stateParts[1];
@@ -3218,6 +3147,22 @@
return Promise.reject(err);
}
+ /* For now, we only check whether the sub against
+ * silentRefreshSubject when sessionChecksEnabled is on
+ * We will reconsider in a later version to do this
+ * in every other case too.
+ */
+ if (this.sessionChecksEnabled
+ && this.silentRefreshSubject
+ && this.silentRefreshSubject !== claims['sub']) {
+
+ let err = 'After refreshing, we got an id_token for another user (sub). '
+ + `Expected sub: ${this.silentRefreshSubject}, received sub: ${claims['sub']}`;
+
+ console.warn(err);
+ return Promise.reject(err);
+ }
+
if (!claims.iat) {
let err = 'No iat claim in id_token';
console.warn(err);
@@ -3236,7 +3181,7 @@
return Promise.reject(err);
}
- if (this.requestAccessToken && !claims['at_hash']) {
+ if (!this.disableAtHashCheck && this.requestAccessToken && !claims['at_hash']) {
let err = 'An at_hash is needed!';
console.warn(err);
return Promise.reject(err);
@@ -3267,7 +3212,7 @@
loadKeys: () => this.loadJwks()
};
- if (this.requestAccessToken && !this.checkAtHash(validationParams)) {
+ if (!this.disableAtHashCheck && this.requestAccessToken && !this.checkAtHash(validationParams)) {
let err = 'Wrong at_hash';
console.warn(err);
return Promise.reject(err);
@@ -3393,6 +3338,8 @@
this._storage.removeItem('id_token_claims_obj');
this._storage.removeItem('id_token_expires_at');
+ this.silentRefreshSubject = null;
+
if (!this.logoutUrl) return;
if (noRedirectToLogoutUrl) return;
if (!id_token) return;
diff --git a/angular-oauth2-oidc/docs/injectables/UrlHelperService.html b/angular-oauth2-oidc/docs/injectables/UrlHelperService.html
index a8727c8d..8299a123 100644
--- a/angular-oauth2-oidc/docs/injectables/UrlHelperService.html
+++ b/angular-oauth2-oidc/docs/injectables/UrlHelperService.html
@@ -56,6 +56,58 @@
+
-
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
diff --git a/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html b/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html
index fb0234e3..9987d64d 100644
--- a/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html
+++ b/angular-oauth2-oidc/docs/interfaces/ParsedIdToken.html
@@ -56,6 +56,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
diff --git a/angular-oauth2-oidc/docs/interfaces/ValidationParams.html b/angular-oauth2-oidc/docs/interfaces/ValidationParams.html
index 71a655ae..3f7620c3 100644
--- a/angular-oauth2-oidc/docs/interfaces/ValidationParams.html
+++ b/angular-oauth2-oidc/docs/interfaces/ValidationParams.html
@@ -56,6 +56,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
diff --git a/angular-oauth2-oidc/docs/js/search/search_index.js b/angular-oauth2-oidc/docs/js/search/search_index.js
index 54f1782b..e702aa39 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","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","13","2","3","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","auth.config","b","class","commonmodul","declar","export","extend","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","string","token","type","url","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid"],"injectables/OAuthService.html":["0","0.75","1","10","1000","1970","1_0.html#changenotif","2","20","3","4","60","75","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","activ","addit","additionalst","allow","angular","angular/cor","angular/http","anoth","api","append","application/x","arg","around","array","array.isarray(claims.aud","at_hash","audienc","auth","auth.config","auth_config","authconfig","authorization_endpoint","authorizationhead","b/c","b64decodeunicod","b64decodeunicode(claimsbase64","b64decodeunicode(headerbase64","base64","base64data","base64data.length","basi","bearer","befor","boolean","both","break","bring","browser'","calctimeout(expir","callontokenreceivedifexists(opt","canperformsessioncheck","case","catch(err","catch(error","catch(reason","chang","check","check_session_ifram","checksess","checksessioniframenam","checksessioniframeurl","checksessioninterval","checksessionperiod","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","clearinterval(this.sessionchecktim","client","client'","client_id","clientid","config","configur","configure(config","connect","consol","console.debug.apply(consol","console.error","console.error('error","console.error(err","console.error(error","console.error(reason","console.warn","console.warn('checksess","console.warn('checksessionperiod","console.warn('no","console.warn(err","constructor","constructor(http","contain","createandsavenonc","createloginurl","createnonc","current","custom","customhashfrag","customqueryparam","customredirecturi","date","date.now","debug","debug(...arg","decodeuricomponent(parts['st","default","default.auth.conf","defaultconfig","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","demand","depreact","deprec","describ","descript","dicoveri","discoveri","discoverydocu","discoverydocumentload","discoverydocumentloadedsubject","disoveri","display","do","do(e","doc","doc.authorization_endpoint","doc.check_session_ifram","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['check_session_ifram","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.checksessioniframenam","document.getelementbyid(this.silentrefreshiframenam","domain","don't","dummyclientsecret","dure","e","e.data","e.origin.tolowercas","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","field","file","filter(","find","flow","form","fragment","full","fullurl","getaccesstoken","getaccesstokenexpir","getidentityclaim","getidtoken","getidtokenexpir","getkeycount","getsessionst","good","granttypessupport","handleloginerror(opt","handler","happen","hash","hasvalidaccesstoken","hasvalididtoken","header","header.kid","headerbase64","headerjson","headers.set('author","headers.set('cont","helper","helper.servic","here","hidden","http","http://openid.net/specs/openid","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.contentwindow.postmessage(messag","iframe.id","iframe.setattribute('src","iframe.style.vis","ignor","implement","implicit","import","index","infer","info","inform","infram","initi","initimplicitflow","initimplicitflow(additionalst","initsessioncheck","inject","inject(auth_config","instanceof","instead","intern","interval","invalid","issuedatmsec","issuer","issuer'","issuer.startswith(origin","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","legaci","lib","life","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loaddiscoverydocumentandtrylogin","loadjwk","loaduserprofil","locat","location.hash","location.href","log","logged_out","login","login_hint","loginhint","loginhint).then(funct","loginopt","loginurl","logout","logout(noredirecttologouturl","logouturl","make","manual","map","map(","map(r","match","messag","messageev","method","millisecond","msec","multipl","name","need","new","nonc","nonceinst","noredirecttologouturl","notif","now","now.gettim","null","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.assign(thi","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","origin","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['expires_in","parts['id_token","parts['session_st","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","redirect","redirect_uri","redirecturi","redirecturi).then(url","refresh","refresh_token","refreshtoken","regist","regular","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","relogin","remoteonli","remov","removesessioncheckeventlisten","removesilentrefresheventlisten","request","requestaccesstoken","requir","requirehttp","resolve(doc","resolve(ev","resolve(jwk","resolve(nul","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:1101","service.ts:1152","service.ts:1254","service.ts:1260","service.ts:1264","service.ts:1277","service.ts:1388","service.ts:1397","service.ts:1411","service.ts:1419","service.ts:1427","service.ts:1434","service.ts:1452","service.ts:1471","service.ts:1481","service.ts:1515","service.ts:1523","service.ts:188","service.ts:243","service.ts:305","service.ts:342","service.ts:355","service.ts:364","service.ts:497","service.ts:510","service.ts:657","service.ts:673","service.ts:723","service.ts:770","service.ts:856","service.ts:94","session","session_chang","session_check_error","session_st","sessioncheckeventlisten","sessionchecktim","sessionst","sessionstorag","set","setinterval(this.checksession.bind(thi","setstorag","setstorage(storag","setupaccesstokentim","setupautomaticsilentrefresh","setupidtokentim","setupsessioncheck","setupsessioncheckeventlisten","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","startsessionchecktim","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","statu","still","stopsessionchecktim","stoptim","storag","store","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","storesessionst","storesessionstate(sessionst","strictdiscoverydocumentvalid","stricter","string","sub","subject","subscribe(","subscript","success","support","sure","switch","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.getitem('session_st","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('session_st","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.canperformsessioncheck","this.checkathash(validationparam","this.checksessioniframenam","this.checksessioniframeurl","this.checksessioninterval","this.checksessionperiod","this.checksignature(validationparams).then(_","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.configure(config","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug","this.debug('error","this.debug('got","this.debug('pars","this.debug('refresh","this.debug('sessioncheckeventlisten","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.getsessionst","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.initsessioncheck","this.issu","this.issuer.tolowercas","this.jwk","this.jwks['key","this.jwks['keys'].length","this.jwksuri","this.loaddiscoverydocument().then((doc","this.loadjwk","this.loadjwks().then(jwk","this.loaduserprofil","this.loginurl","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oidc","this.padbase64(tokenparts[0","this.padbase64(tokenparts[1","this.redirecturi","this.removesessioncheckeventlisten","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.rngurl","this.scop","this.sessioncheckeventlisten","this.sessionchecktim","this.setstorage(sessionstorag","this.setstorage(storag","this.setupaccesstokentim","this.setupidtokentim","this.setupsessioncheck","this.setupsessioncheckeventlisten","this.setupsilentrefresheventlisten","this.setuptim","this.showdebuginform","this.silentrefresh","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.silentrefreshshowifram","this.startsessionchecktim","this.stat","this.stopsessionchecktim","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.storesessionstate(sessionst","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","unchang","undefin","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/valid","validationhandl","validationparam","valu","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(questionmarkposit","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","window.location.hash"],"classes/A.html":["angular/common","angular/cor","auth.config","b","class","commonmodul","declar","defin","export","extend","file","forroot","handler","helper.servic","import","index","info","match","modulewithprovid","ngmodul","oauth","oauthmodul","oauthservic","properti","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","src/index.ts:27","static","string","token","type","url","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid"],"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: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","loadkey","make","match","method","name","new","object","overrid","param","paramet","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","protect","public","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"],"classes/B.html":["angular/common","angular/cor","auth.config","b","class","commonmodul","declar","defin","export","extend","file","forroot","handler","helper.servic","import","index","info","match","modulewithprovid","ngmodul","oauth","oauthmodul","oauthservic","properti","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","src/index.ts:31","static","string","token","type","url","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid"],"classes/JwksValidationHandler.html":["0","1","600","abstractvalidationhandl","against","alg","alg.charat(0","alg2kty(alg","algorithm","allow","allowedalgorithm","array.isarray(params.jwks['key","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","found","graceperiod","graceperiodinsec","handler","handler.t","handler.ts:111","handler.ts:118","handler.ts:17","handler.ts:23","handler.ts:25","hashalg","hashalg.digeststring(valuetohash","header","hs256","hs384","hs512","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","loadedkey","loadkey","match","matchingkey","matchingkeys.length","matchingkeys[0","method","miss","more","new","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","then(_","then(loadedkey","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","validationopt","validationparam","valu","var","web"],"classes/LoginOptions.html":["abstract","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":["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","logged_out","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:45","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","logged_out","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","logged_out","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:36","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/OAuthStorage.html":["abstract","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"],"classes/OAuthSuccessEvent.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","logged_out","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:27","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":["abstract","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"],"classes/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","public","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"],"interfaces/AuthConfig.html":["0.75","1_0.html#changenotif","2","75","access","accord","addit","allow","append","auth","authconfig","basi","boolean","bring","case","check","checksessioniframenam","checksessioniframeurl","checksessioninterval","checksessionperiod","clear","clearhashafterlogin","client","client'","clientid","configur","connect","consol","customqueryparam","debug","default","defin","demand","depreact","describ","discoveri","disoveri","display","do","document","domain","don't","dummyclientsecret","dure","endpoint","event","export","expos","file","flow","fragment","good","hash","here","http","http://openid.net/specs/openid","https://tools.ietf.org/html/rfc7517","id","id_token","ifram","implicit","index","info","inform","initi","instead","interfac","intern","interval","issuer","issuer'","json","jwk","key","legaci","lib","life","locat","log","loginurl","logout","logouturl","manual","map","match","method","msec","name","need","number","oauth","object","oidc","openid","option","out","paramet","password","passwort","postlogoutredirecturi","properti","provid","public","queri","rais","receiv","redirect","redirecturi","refresh","regist","regular","remoteonli","request","requestaccesstoken","requir","requirehttp","result","scope","second","secreat","secur","server","server'","session","set","showdebuginform","shown","silent","silentrefreshiframenam","silentrefreshmessageprefix","silentrefreshredirecturi","silentrefreshshowifram","siletrefreshtimeout","sourc","src/auth.config.t","src/auth.config.ts:100","src/auth.config.ts:108","src/auth.config.ts:114","src/auth.config.ts:12","src/auth.config.ts:121","src/auth.config.ts:127","src/auth.config.ts:129","src/auth.config.ts:136","src/auth.config.ts:144","src/auth.config.ts:151","src/auth.config.ts:18","src/auth.config.ts:24","src/auth.config.ts:29","src/auth.config.ts:35","src/auth.config.ts:41","src/auth.config.ts:46","src/auth.config.ts:51","src/auth.config.ts:56","src/auth.config.ts:61","src/auth.config.ts:66","src/auth.config.ts:7","src/auth.config.ts:72","src/auth.config.ts:77","src/auth.config.ts:79","src/auth.config.ts:85","src/auth.config.ts:90","standard","start","still","strictdiscoverydocumentvalid","string","taken","therefor","time","timeout","timeoutfactor","token","token'","token_timeout","tokenendpoint","tri","trigger","true","type","uri","url","us","user","userinfo","userinfoendpoint","valid","valu","w/o","web","whether"],"interfaces/ParsedIdToken.html":["abstract","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/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","public","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"],"miscellaneous/functions.html":["b64decodeunicod","b64decodeunicode(str","function","helper.t","match","miscellan","result","src/base64","undefin"],"miscellaneous/variables.html":["auth_config","authconfig","defaultconfig","handler.t","match","miscellan","requir","result","rs","src/default.auth.conf.t","src/token","src/tokens.t","type","valid","validation/jwk","variabl"],"miscellaneous/typealiases.html":["alias","eventtyp","match","miscellan","result","src/events.t","type","typealias"]},"length":26},"tokenStore":{"root":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029107373868046574},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}},".":{"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.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"docs":{}},"docs":{}}},"1":{"0":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}}},"docs":{}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}},"3":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}},"9":{"7":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}},"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.00129366106080207},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"_":{"0":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}},".":{"0":{"0":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"docs":{}},"docs":{}},"docs":{}}},"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.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"3":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"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":{}},"7":{"1":{"1":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"docs":{}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}},"6":{"0":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"7":{"5":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"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":{},"]":{"docs":{},"{":{"3":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"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.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"_":{"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.00517464424320828},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029107373868046574},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"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.002263906856403622},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}},"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.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}},"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.0009702457956015524},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}},"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.011461318051575931}}}}}}}}}}}}}}}},"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.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}},"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":{},"y":{"docs":{},"(":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},".":{"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.029411764705882353},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}}}}},"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.000646830530401035}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"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.0003234152652005175}}},"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.000646830530401035}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}},"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.000646830530401035},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.023696682464454975},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.012412723041117145},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00258732212160414},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0003234152652005175}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}}}}}}}}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":5.002735978112175},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333}}}}}}}}},"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.000646830530401035}}}}}}}},"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.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}},"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.0003234152652005175}}},"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.029411764705882353},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.03017241379310345}},"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.007352941176471},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},".":{"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.0003234152652005175}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"6":{"4":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}},"e":{"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.0003234152652005175}}},"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.0003234152652005175}}},"docs":{}},"docs":{}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.021052631578947368},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":5.05607476635514}},"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":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.0003234152652005175}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"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.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}},"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.0029107373868046574},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.010273972602739725},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.03419972640218878},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}},"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.000646830530401035}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}},"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.000646830530401035}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}},"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.0057306590257879654}}}}}}}}}}}}}}}},"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.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}},"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":{},"s":{"docs":{},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"(":{"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.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}},"s":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}},"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.0003234152652005175}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}},"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.006144890038809832},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"i":{"docs":{},"o":{"docs":{},"n":{"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}}},"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.003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.000646830530401035}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}}}}}}},"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.031578947368421054},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":10.03921568627451},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":5.011029411764706},"classes/B.html":{"ref":"classes/B.html","tf":5.037383177570093},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.005730659025788},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.013698630136986},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025316455696203},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.055555555555555},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.059523809523809},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.057471264367816},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":5.018604651162791},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.057471264367816},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.018433179723503},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":5.014218009478673},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}},"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.0016170763260025874},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}},"'":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.021052631578947368},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728}}}}}}}}},"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.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}},"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.014230271668822769},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}},"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.0029107373868046574},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.013679890560875513}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"(":{"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.0038809831824062097}}}}}},"x":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029107373868046574}}}}}}}}}}}}}},"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.000646830530401035},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05555555555555555},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05952380952380952},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05747126436781609},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.05747126436781609}},"(":{"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.0003234152652005175}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"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}}}}},"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.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.00129366106080207}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}},"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.002263906856403622},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}},"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.000646830530401035},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}},"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.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}},"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.0009702457956015524}}}}}}}}}}}}}}}}}}},"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.023529411764705882},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}},"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.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"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.0003234152652005175}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}}}}}}}}}}}}},"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.00129366106080207},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041}},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01390685640362225},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0273972602739726},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.027906976744186046},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.060191518467852256},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.03508771929824561},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02586206896551724}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029107373868046574},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"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":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01034928848641656},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}},"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.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"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.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}},"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.004527813712807244},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.000646830530401035}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}},"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}},"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.005498059508408797},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},".":{"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.000646830530401035}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}},"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":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.0003234152652005175}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00258732212160414},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},".":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}},"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.002263906856403622},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"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.0003234152652005175}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"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.0003234152652005175}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009702457956015523}},")":{"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.0048512289780077615},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"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.0003234152652005175}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"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.0003234152652005175}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"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.0009702457956015524}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874}}}}}}}},"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.0003234152652005175}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}},"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.006144890038809832},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}},"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.0003234152652005175}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06666666666666667},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.07142857142857142},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06896551724137931},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.06896551724137931},"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.0029107373868046574}},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}},"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.000646830530401035}}}}}}}}}}}}}}}}}}},"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.12631578947368421},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.11764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/B.html":{"ref":"classes/B.html","tf":0.11214953271028037},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05555555555555555},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05952380952380952},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05747126436781609},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.05747126436781609},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}}}},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}},"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.000646830530401035},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915}},"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.000646830530401035}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.044444444444444446},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03571428571428571},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.04597701149425287},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.04597701149425287}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"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.000646830530401035}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"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.011764705882352941}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}},"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.0016170763260025874}}}},"l":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00646830530401035},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"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.000646830530401035}},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}}}},"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.0009702457956015524}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}},"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}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.018619084561675717},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009702457956015523},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.013679890560875513}}}}},"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.000646830530401035}},"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.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}},"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.0009702457956015524},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}}}},"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.000646830530401035}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}}}}}}},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":6.757575757575757}}}}}}}}}},"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.00129366106080207}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}}}}}}}}},"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.00129366106080207}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}},"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.023529411764705882}},"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.023529411764705882}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0028653295128939827}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}},"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.0009702457956015524},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047058823529411764},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},"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.023529411764705882}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"1":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"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":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}},".":{"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00129366106080207}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.031578947368421054},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/A.html":{"ref":"classes/A.html","tf":0.029411764705882353},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/B.html":{"ref":"classes/B.html","tf":0.028037383177570093},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.041666666666666664}},"s":{"docs":{},":":{"1":{"1":{"1":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"8":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}},"7":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"9":{"docs":{"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996}}},"docs":{}},"2":{"3":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"4":{"docs":{"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996}}},"5":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"3":{"7":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"4":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"5":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"6":{"9":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"7":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"8":{"6":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}},"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.010025873221216041},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}},"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.0003234152652005175}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"b":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}},"s":{"docs":{},":":{"2":{"9":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"docs":{}},"6":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"docs":{}}}}}}}}}}}},"t":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}}}}}}}},"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.000646830530401035}}}}}},"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.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}},"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.005498059508408797},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}},":":{"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":{}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"_":{"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.00517464424320828},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.029411764705882353},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.021551724137931036}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"'":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}},"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}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02304147465437788},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}}}}}}},"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.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"e":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"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":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}},"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.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}}}}}}},"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.00517464424320828},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.14736842105263157},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004204398447606727},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.13725490196078433},"classes/B.html":{"ref":"classes/B.html","tf":0.1308411214953271},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}}}}}},"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.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"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.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.03333333333333333},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03571428571428571},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.04597701149425287},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.04597701149425287},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"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.0016170763260025874},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"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.007352941176470588}},"(":{"docs":{},"j":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0009702457956015524}},"(":{"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010996119016817595},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0273972602739726},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}},"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.007352941176470588},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":5.002735978112175},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.008771929824562},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.012931034482759}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010996119016817595},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}}},"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.001293661060802},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.035294117647059}},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}},"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.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"_":{"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253}}}}},"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.0019404915912031048},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}}},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}},"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.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},".":{"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.0003234152652005175}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02005730659025788},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"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.005730659025788}},"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.0003234152652005175}}}}},"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}},"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.0016170763260025874},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04871060171919771},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},"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.0057306590257879654}}}}},"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.0028653295128939827}}}}}}}},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}},"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.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.022922636103151862}}}},"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.0003234152652005175}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}}}}},"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}}}}},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01034928848641656},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}},"i":{"docs":{},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}},"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.000646830530401035}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.004654771140418929},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00258732212160414},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"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.000646830530401035}},"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.000646830530401035}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"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.00129366106080207}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}},"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.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.000646830530401035}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}},"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.004527813712807244},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.011636927851047323},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}},")":{"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.0003234152652005175}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.006849315068493},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}},"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.00129366106080207},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"(":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},".":{"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.00258732212160414},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.022222222222222223},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.023809523809523808},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.022988505747126436},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.022988505747126436},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.18181818181818182},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}}}}}}}}},"[":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}},"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.013583441138421734},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}},"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.0009702457956015524},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}},"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.00129366106080207}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":3.424242424242424},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":3.3749999999999996},"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.010526315789473}},"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.021052631578947368},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728}}}}}}}}}}}}}}},"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.0028653295128939827}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"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.0029107373868046574},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}},"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.009702457956015523},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.017191977077363897},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"e":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.031578947368421054},"classes/A.html":{"ref":"classes/A.html","tf":0.029411764705882353},"classes/B.html":{"ref":"classes/B.html","tf":0.028037383177570093}}}}}}}},"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}}},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"h":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253}}}},"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.002263906856403622},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0035575679172056922},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.03333333333333333},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03571428571428571},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.034482758620689655},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.034482758620689655},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025316455696203}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0035575679172056922},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.015047879616963064},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}}}},"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.0016170763260025874},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.031578947368421},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728}},"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.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":5.000646830530401},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":5.0093023255813955},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"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.0003234152652005175},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.022988505747127}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}},"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.0009702457956015524}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.022222222222222},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"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.000646830530401035}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05555555555555555},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.059523809523809},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05747126436781609},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.05747126436781609}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.022988505747127},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00258732212160414}},"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.0003234152652005175}}}}}}}}}}}}}}}}},"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.00258732212160414},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047058823529411764},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.044444444444444446},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.023809523809523808},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.022988505747126436},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.022988505747126436},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.03508771929824561},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.04310344827586207}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.010861132660977503},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004527813712807244},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}},"/":{"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.0003234152652005175}}}}}}}},"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.008595988538681949},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}},"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.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}},"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.0029107373868046574},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}},"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.005821474773609315},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}},"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.0003234152652005175}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}},"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.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}},"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.00129366106080207}}}}}}}}},"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.0016170763260025874},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},"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.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}},"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.000646830530401035}}}}},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}},"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.00517464424320828},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.022222222222222223},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0035575679172056922},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}},"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.0028653295128939827}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}}},"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.000646830530401035},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"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.00129366106080207},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.008771929824562}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.023529411764705882}},"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.023529411764705882}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622}},"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.0003234152652005175}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"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.0003234152652005175}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}},"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.009379042690815007},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}}}},"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":{},"(":{"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.0003234152652005175}}}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03529411764705882}}}}},"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.00129366106080207}}}}}},"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.0057306590257879654}}}}}}},"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.0028653295128939827}}}}},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"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.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00129366106080207}}}}},"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.0071151358344113845},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0273972602739726},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02304147465437788},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}},"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.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.000646830530401035}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006791720569210867},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},"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.0019404915912031048}}}}}}}}}},".":{"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.0003234152652005175}}}}}},"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.0028653295128939827}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.003234152652005175}},"o":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0038809831824062097},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.013583441138421734},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}},"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.03557567917205692},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.07058823529411765},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.02843601895734597},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}},"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.0003234152652005175}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"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.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}},"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.011764705882352941}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"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.023529411764705882}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"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.05555555555555555},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05952380952380952},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05747126436781609},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.05747126436781609}}}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.022222222222222223},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}},"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.004527813712807244},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017123287671232876},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.023255813953488372},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.027649769585254},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508}}}}}}},"_":{"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}},"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.0016170763260025874},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041}},")":{"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.0003234152652005175}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"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.0029107373868046574},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},".":{"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.0016170763260025874}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622}}}}}}}}}}}},"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.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}}}}}},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"l":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}},"y":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}}}},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"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.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}},"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.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333}},"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.002263906856403622},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}},"(":{"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.0028653295128939827}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"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.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.022222222222222223},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.023809523809523808},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.022988505747126436},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.022988505747126436},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.18181818181818182},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333},"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.0003234152652005175}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}},"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.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.03783958602846054},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.058823529411764705},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.03724928366762178},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.05063291139240506},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}},"r":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02005730659025788}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}},"(":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622}}}}}}}}}},"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.00129366106080207},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.004103967168262654}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}}},"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.02531645569620253}}}}},"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.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}}}}}}}}}},"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.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}},"o":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}}}},"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.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}},".":{"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.0016170763260025874}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333}},".":{"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.0028653295128939827}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"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.0016170763260025874}}}}}}}}}},"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.0019404915912031048},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}},".":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}},"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.0003234152652005175},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}},"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.0019404915912031048},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},".":{"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.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"s":{"docs":{},":":{"1":{"1":{"0":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"5":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"2":{"5":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"6":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"7":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"3":{"8":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"9":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"4":{"1":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"2":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"3":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"5":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"7":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"8":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"5":{"1":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"2":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"8":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"2":{"4":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"3":{"0":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"4":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"5":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"4":{"9":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"5":{"1":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"6":{"5":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"7":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"7":{"2":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"7":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"8":{"5":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}},"9":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}},"docs":{}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0029107373868046574},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00258732212160414}},"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.0009702457956015524},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.000646830530401035}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.010861132660977503},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0038809831824062097},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}},"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.000646830530401035}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"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":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}},"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.000646830530401035}},".":{"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.000646830530401035}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}},"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.011764705882352941}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"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.000646830530401035},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"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.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}},"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.0019404915912031048},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0019404915912031048}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}},"_":{"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.0003234152652005175},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}}},"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}}},"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.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}},"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.02531645569620253}}}}},"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.000646830530401035}}}}},"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.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}},"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.000646830530401035}},"i":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216}},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"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.00129366106080207},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0023273855702094647},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.007438551099611902},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03225806451612903},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"[":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"docs":{}}}}}}}},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}}},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}},"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.00258732212160414},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}},"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.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}},"n":{"docs":{},"g":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.014230271668822769},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047058823529411764},"classes/A.html":{"ref":"classes/A.html","tf":0.0392156862745098},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.04044117647058824},"classes/B.html":{"ref":"classes/B.html","tf":0.037383177570093455},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04011461318051576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.04794520547945205},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.07906976744186046},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.08294930875576037},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0560875512995896},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.07894736842105263},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.04741379310344827}}}}}},"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.000646830530401035}},"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.00129366106080207}}}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}},"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.0016170763260025874}}}}}},"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.00129366106080207}},"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.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}},"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.00129366106080207},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.03333333333333333},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03571428571428571},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.034482758620689655},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.034482758620689655}}}}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}},"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.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}},"s":{"docs":{},":":{"2":{"7":{"docs":{"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745}}},"docs":{}},"3":{"1":{"docs":{"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364}}},"docs":{}},"docs":{}}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01034928848641656}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03529411764705882}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.017191977077363897},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.03017241379310345},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.041666666666666664}},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.041666666666666664}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"s":{"docs":{},":":{"1":{"2":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"8":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"2":{"6":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"3":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"4":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"5":{"3":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674}}},"4":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674}}},"5":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674}}},"docs":{}},"6":{"3":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"4":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"5":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"6":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"docs":{}},"7":{"3":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"4":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"5":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"6":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"7":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"8":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}},"s":{"docs":{},":":{"2":{"1":{"docs":{"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904}}},"7":{"docs":{"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}},"docs":{}},"3":{"6":{"docs":{"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218}}},"docs":{}},"4":{"5":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112}}},"docs":{}},"docs":{}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"t":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}},"s":{"docs":{},":":{"1":{"0":{"0":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"8":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"1":{"4":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"2":{"1":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"7":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"9":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"3":{"6":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"4":{"4":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"5":{"1":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"8":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"2":{"4":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"9":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"3":{"5":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"4":{"1":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"6":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"5":{"1":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"6":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"6":{"1":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"6":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"7":{"2":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"7":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"9":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"8":{"5":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"9":{"0":{"docs":{"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0013679890560875513}}},"docs":{}},"docs":{}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}},"docs":{}},"docs":{}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},".":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},".":{"docs":{},"t":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.041666666666666664}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}},"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.00129366106080207}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}},"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.0009702457956015524}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}},"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.0003234152652005175}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"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.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}}},"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.00258732212160414}}}}}},"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.0009702457956015524}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003234152652005175}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}},"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.0009702457956015524}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"_":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"_":{"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.000646830530401035}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0009702457956015524}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"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.0009702457956015524}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"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.0003234152652005175}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.000646830530401035}},"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.0003234152652005175}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.00129366106080207}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0009702457956015524}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00517464424320828}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}},"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":{},"(":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},".":{"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}},"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.011764705882352941}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.00129366106080207}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524}}}}}}}}}}}}}}},"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":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}},"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.0016170763260025874}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}},"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.000646830530401035}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}},"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.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}},"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.000646830530401035}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0031031807602792862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0019404915912031048},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}},"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.0057306590257879654}}}}}}}}}},"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.042105263157894736},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006791720569210867},"classes/A.html":{"ref":"classes/A.html","tf":0.0392156862745098},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/B.html":{"ref":"classes/B.html","tf":0.037383177570093455},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.023972602739726026},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.027906976744186046},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03225806451612903},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}},"(":{"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.0009702457956015524},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}}}},"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}},"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.0029107373868046574},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874}},"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.000646830530401035}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}},"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.0057306590257879654}},"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.0057306590257879654}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.003878975950349108},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}}}}},"u":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005821474773609315},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.01094391244870041},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}},"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.00129366106080207},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.010273972602739725},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}}}}}}}},"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},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00517464424320828},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017123287671232876},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05555555555555555},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05952380952380952},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.05747126436781609},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.05747126436781609},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.03967168262653899},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.02631578947368421},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02586206896551724},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.08333333333333333},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0016170763260025874}}}},"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.000646830530401035},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.01008533747090768},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010996119016817595},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.015047879616963064}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}},"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.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0009702457956015524},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.023529411764706},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728}}}}}}}}}}}}}},".":{"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.0003234152652005175}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}}}},"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.0009702457956015524}}}}}}}}}}}}}}},"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.025226390685640362},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.03767123287671233},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.03255813953488372},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.02631578947368421},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},"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.007761966364812419},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.008207934336525308}},"'":{"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.0009702457956015524},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"_":{"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.0003234152652005175}}}}}}}}}}},"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.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.003234152652005175}},"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.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.011111111111111112},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011904761904761904},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011494252873563218},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011494252873563218}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00129366106080207},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},"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.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006144890038809832},"classes/A.html":{"ref":"classes/A.html","tf":0.0196078431372549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.025735294117647058},"classes/B.html":{"ref":"classes/B.html","tf":0.018691588785046728},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02865329512893983},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017123287671232876},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.12658227848101267},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.037914691943127965},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.021551724137931036},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.041666666666666664}},"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.00258732212160414},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":5.018957345971564},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}}}}}}},"/":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.017191977077363897},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.041666666666666664}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/A.html":{"ref":"classes/A.html","tf":0.00980392156862745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/B.html":{"ref":"classes/B.html","tf":0.009345794392523364},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.03017241379310345}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.025735294117647058},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.06329113924050633},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.025862068965517}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}},"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.003676470588235294},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}},"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.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991}},"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.011029411764705883},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0015515903801396431},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.005471956224350205},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0007757951900698216},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":6.708333333333333}}}}}}}},"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.0003234152652005175}}}},"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.008732212160413972},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.027906976744186046},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}},"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.000646830530401035},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}},"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.0003234152652005175}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175}},".":{"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.011764705882352941}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}}}}}}}}}}}}}}}}}}}},"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.000646830530401035}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003234152652005175}}}}}}}},"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.0038809831824062097},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.019151846785225718}}}}}}}},"/":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003234152652005175},"interfaces/AuthConfig.html":{"ref":"interfaces/AuthConfig.html","tf":0.0027359781121751026}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002263906856403622}}}}}},"w":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.000646830530401035}}}}},"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.0003234152652005175}}}}}}}},"'":{"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}},"length":2947},"corpusTokens":["0","0.33","0.5","0.75","1","10","1000","13","1970","1_0.html#changenotif","2","20","20.000","2017","3","4","4202","4202]/index.html","4202]/silent","4711","4th","60","600","75","8089|4200","9]{3","_').replace(/=/g","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","abov","abstract","abstractvalidationhandl","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","action","activ","actual","add","addit","additionalst","adjust","against","alg","alg.charat(0","alg.match(/^.s[0","alg.substr(2","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","attack","audienc","auth","auth.config","auth_config","authconfig","author","authorization_endpoint","authorizationhead","automat","avoid","b","b/c","b64decodeunicod","b64decodeunicode(claimsbase64","b64decodeunicode(headerbase64","b64decodeunicode(str","back","backend","base","base64","base64data","base64data.length","basi","bearer","befor","below","best","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","canperformsessioncheck","case","catch(err","catch(error","catch(reason","chang","charg","check","check_session_ifram","checksess","checksessioniframenam","checksessioniframeurl","checksessioninterval","checksessionperiod","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","clearinterval(this.sessionchecktim","cli","cli.json","client","client'","client_id","clientid","code","commonj","commonmodul","commun","compat","compens","compon","condit","config","configu","configur","configure(config","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('refresh","console.error(err","console.error(error","console.error(reason","console.warn","console.warn('checksess","console.warn('checksessionperiod","console.warn('no","console.warn(err","constructor","constructor(http","constructor(priv","constructor(typ","contain","context","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","decodeuricomponent(hash","decodeuricomponent(parts['st","default","default.auth.conf","defaultconfig","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","demand","demo","demonstr","depend","depreact","deprec","describ","descript","design","detect","dicoveri","differ","directli","directori","disabl","disableoauth2statecheck","discoveri","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","discoverydocu","discoverydocumentload","discoverydocumentloadedsubject","disoveri","display","distribut","do","do(e","doc","doc.authorization_endpoint","doc.check_session_ifram","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['check_session_ifram","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.checksessioniframenam","document.getelementbyid(this.silentrefreshiframenam","domain","don't","dosn't","dummi","dummyclientsecret","dure","e","e.data","e.origin.tolowercas","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('algorithm","error('array","error('can","error('cannot","error('createnonc","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","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","getsessionst","give","good","graceperiod","graceperiodinsec","grant","granttypessupport","half","hallo","handleloginerror(opt","handler","handler.t","handler.ts:11","handler.ts:111","handler.ts:118","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:69","handler.ts:7","handler.ts:8","handler.ts:86","happen","hash","hash.indexof","hash.substr(1","hash.substr(questionmarkposit","hashalg","hashalg.digeststring(valuetohash","hashlocationstrategi","hashstrategi","hasvalidaccesstoken","hasvalididtoken","header","header.kid","headerbase64","headerjson","headers.set('author","headers.set('cont","helper","helper.servic","helper.service.t","helper.service.ts:29","helper.service.ts:6","helper.t","here","herebi","hidden","his/her","holder","home","homecompon","hook","hs256","hs384","hs512","http","http://localhost:8080","http://localhost:8080/#/homeev","http://openid.net/specs/openid","httpmodul","https://github.com/manfredsteyer/angular","https://manfredsteyer.github.io/angular","https://steyer","https://tools.ietf.org/html/rfc7517","httpscheck","iat","id","id_token","id_token'","id_token_hint","idclaim","ident","identityserv","idtoken","idtoken.idtoken","idtoken.idtokenclaimsjson","idtoken.idtokenexpiresat","idtoken.split","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhandl","idtokenhead","idtokenheaderjson","idtokentimeoutsubscript","ifram","iframe.contentwindow.postmessage(messag","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","infram","initi","initialnavig","initimplicitflow","initimplicitflow(additionalst","initsessioncheck","inject","inject(auth_config","instanc","instanceof","instead","interact","interfac","intern","interval","invalid","invalid_nonce_in_st","isn't","issu","issuedatmsec","issuer","issuer'","issuer.startswith(origin","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","legaci","legend","leverag","liabil","liabl","lib","librari","licens","life","limit","line","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loaddiscoverydocumentandtrylogin","loadedkey","loadjwk","loadkey","loaduserprofil","local","localhost:[8080","localstorag","locat","location.hash","location.href","location.origin","locationstrategi","log","logged_out","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","notif","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.assign(thi","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","origin","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['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['expires_in","parts['id_token","parts['session_st","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","receivedtoken","redhad","redhat'","redirect","redirect_uri","redirecturi","redirecturi).then(url","refresh","refresh.html","refresh.html\";pleas","refresh_token","refreshtoken","regard","regist","registerd","regular","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","relax","relay","relogin","remoteonli","remov","removeitem","removeitem(key","removesessioncheckeventlisten","removesilentrefresheventlisten","replace(/\\//g","repres","request","requestaccesstoken","requir","require('jsrsasign","requirehttp","reset","resolve(doc","resolve(ev","resolve(jwk","resolve(nul","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:1101","service.ts:1152","service.ts:1254","service.ts:1260","service.ts:1264","service.ts:1277","service.ts:1388","service.ts:1397","service.ts:1411","service.ts:1419","service.ts:1427","service.ts:1434","service.ts:1452","service.ts:1471","service.ts:1481","service.ts:1515","service.ts:1523","service.ts:188","service.ts:243","service.ts:305","service.ts:342","service.ts:355","service.ts:364","service.ts:497","service.ts:510","service.ts:657","service.ts:673","service.ts:723","service.ts:770","service.ts:856","service.ts:94","session","session_chang","session_check_error","session_st","sessioncheckeventlisten","sessionchecktim","sessionst","sessionstorag","set","setinterval(this.checksession.bind(thi","setitem","setitem(key","setstorag","setstorage(storag","setup","setupaccesstokentim","setupautomaticsilentrefresh","setupidtokentim","setupsessioncheck","setupsessioncheckeventlisten","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/auth.config.t","src/auth.config.ts:100","src/auth.config.ts:108","src/auth.config.ts:114","src/auth.config.ts:12","src/auth.config.ts:121","src/auth.config.ts:127","src/auth.config.ts:129","src/auth.config.ts:136","src/auth.config.ts:144","src/auth.config.ts:151","src/auth.config.ts:18","src/auth.config.ts:24","src/auth.config.ts:29","src/auth.config.ts:35","src/auth.config.ts:41","src/auth.config.ts:46","src/auth.config.ts:51","src/auth.config.ts:56","src/auth.config.ts:61","src/auth.config.ts:66","src/auth.config.ts:7","src/auth.config.ts:72","src/auth.config.ts:77","src/auth.config.ts:79","src/auth.config.ts:85","src/auth.config.ts:90","src/base64","src/default.auth.conf.t","src/events.t","src/events.ts:21","src/events.ts:27","src/events.ts:36","src/events.ts:45","src/index.t","src/index.ts:27","src/index.ts:31","src/oauth","src/token","src/tokens.t","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","startsessionchecktim","startup","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","static","statu","steyer","still","stopsessionchecktim","stoptim","storag","store","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","storesessionst","storesessionstate(sessionst","strictdiscoverydocumentvalid","stricter","string","sub","subject","sublicens","subscribe(","subscript","substanti","succeed","success","successfulli","such","super(typ","support","sure","svg","switch","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(loadedkey","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.getitem('session_st","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('session_st","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.alg2kty(alg","this.allowedalgorithm","this.calchash(params.accesstoken","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.canperformsessioncheck","this.checkathash(validationparam","this.checksessioniframenam","this.checksessioniframeurl","this.checksessioninterval","this.checksessionperiod","this.checksignature(validationparams).then(_","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.configure(config","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug","this.debug('error","this.debug('got","this.debug('pars","this.debug('refresh","this.debug('sessioncheckeventlisten","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.getsessionst","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.initsessioncheck","this.issu","this.issuer.tolowercas","this.jwk","this.jwks['key","this.jwks['keys'].length","this.jwksuri","this.loaddiscoverydocument().then((doc","this.loadjwk","this.loadjwks().then(jwk","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.removesessioncheckeventlisten","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.rngurl","this.router.navig","this.scop","this.sessioncheckeventlisten","this.sessionchecktim","this.setstorage(sessionstorag","this.setstorage(storag","this.setupaccesstokentim","this.setupidtokentim","this.setupsessioncheck","this.setupsessioncheckeventlisten","this.setupsilentrefresheventlisten","this.setuptim","this.showdebuginform","this.silentrefresh","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.silentrefreshshowifram","this.startsessionchecktim","this.stat","this.stopsessionchecktim","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.storesessionstate(sessionst","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","unchang","undefin","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","validationopt","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 13 classes\n \n \n \n \n \n \n \n 3 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';\nimport { UrlHelperService } from './url-helper.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';\nexport * from './auth.config';\nexport * from './types';\nexport * from './tokens';\n\nexport class A {\n a: string;\n}\n\nexport class B extends A {\n b: string;\n}\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class OAuthModule {\n\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 events\n \n \n Public state\n \n \n Public tokenValidationHandler\n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n Public authorizationHeader\n \n \n Public configure\n \n \n Public createAndSaveNonce\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 Protected getSessionState\n \n \n Public hasValidAccessToken\n \n \n Public hasValidIdToken\n \n \n Public initImplicitFlow\n \n \n Public loadDiscoveryDocument\n \n \n Public loadDiscoveryDocumentAndTryLogin\n \n \n Public loadUserProfile\n \n \n Public logOut\n \n \n Public processIdToken\n \n \n Public refreshToken\n \n \n Public setStorage\n \n \n Public setupAutomaticSilentRefresh\n \n \n Public silentRefresh\n \n \n Protected storeIdToken\n \n \n Protected storeSessionState\n \n \n Public tryLogin\n \n \n \n \n \n \n \n\n \n Constructor\n \n \n \n \n constructor(http: Http, storage: OAuthStorage, tokenValidationHandler: ValidationHandler, config: AuthConfig, urlHelper: UrlHelperService)\n \n \n \n \n Defined in src/oauth-service.ts:305\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:1471\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 Public configure\n \n \n \n \n \n configure(config: AuthConfig)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:342\n \n \n \n \n \n Use this method to configure the service\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n config\n \n \n the configuration\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 createAndSaveNonce\n \n \n \n \n \n createAndSaveNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1515\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 Protected createNonce\n \n \n \n \n \n createNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1523\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:723\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:657\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:1411\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:1419\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:1388\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:1397\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:1427\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 Protected getSessionState\n \n \n \n \n \n getSessionState()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1264\n \n \n \n \n \n \n \n Returns : string\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:1434\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:1452\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:1101\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.\n 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:510\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 loadDiscoveryDocumentAndTryLogin\n \n \n \n \n \n loadDiscoveryDocumentAndTryLogin()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:364\n \n \n \n \n \n \n \n Returns : void\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:673\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: )\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1481\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 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:1277\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:770\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:497\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 setupAutomaticSilentRefresh\n \n \n \n \n \n setupAutomaticSilentRefresh()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:355\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:856\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:1254\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Protected storeSessionState\n \n \n \n \n \n storeSessionState(sessionState: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1260\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:1152\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 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:243\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 state\n \n \n \n \n state: \n \n \n \n \n \n Defined in src/oauth-service.ts:94\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 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:188\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 import { Http, URLSearchParams, Headers } from '@angular/http';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\nimport { ValidationHandler, ValidationParams } from './token-validation/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';\nimport { b64DecodeUnicode } from './base64-helper';\nimport { AUTH_CONFIG } from './tokens';\nimport { AuthConfig } from './auth.config';\nimport { defaultConfig } from './default.auth.conf';\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public clientId = '';\n\n /**\n * The client's redirectUri as registered with the auth server\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public redirectUri = '';\n\n /**\n * An optional second redirectUri where the auth server\n * redirects the user to after logging out.\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n *\n */\n public loginUrl = '';\n\n /**\n * The requested scopes\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n *\n */\n public scope = 'openid profile';\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public resource = '';\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public rngUrl = '';\n\n /**\n * Defines whether to use OpenId Connect during\n * implicit flow.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public oidc = true;\n\n /**\n * Defines whether to request a access token during\n * implicit flow.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public requestAccessToken = true;\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public issuer = '';\n\n /**\n * The logout url.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public logoutUrl = '';\n\n /**\n * Defines whether to clear the hash fragment after logging in.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public clearHashAfterLogin = true;\n\n /**\n * Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public tokenEndpoint: string;\n\n /**\n * Url of the userinfo endpoint as defined by OpenId Connect.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n *\n */\n public userinfoEndpoint: string;\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public responseType = 'token';\n\n /**\n * Defines whether additional debug information should\n * be shown at the console.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public showDebugInformation = false;\n\n /**\n * The redirect uri used when doing silent refresh.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshRedirectUri = '';\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshMessagePrefix = '';\n\n /**\n * Set this to true to display the iframe used for\n * silent refresh for debugging.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshShowIFrame = false;\n\n /**\n * Timeout for silent refresh.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public strictDiscoveryDocumentValidation = 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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public customQueryParams: object;\n\n /**\n * @internal\n * Deprecated: use property events instead\n */\n public discoveryDocumentLoaded = 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 /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshIFrameName = 'angular-oauth-oidc-silent-refresh-iframe';\n\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public timeoutFactor = 0.75;\n\n /**\n * If true, the lib will try to check whether the user\n * is still logged in on a regular basis as described\n * in http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n * @type {boolean}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionChecksEnabled = false;\n\n /**\n * Intervall in msec for checking the session\n * according to http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n * @type {number}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionCheckIntervall = 3 * 1000;\n\n /**\n * Url for the iframe used for session checks\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionCheckIFrameUrl: string;\n\n /**\n * Name of the iframe to use for session checks\n * @type {number}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionCheckIFrameName = 'angular-oauth-oidc-check-session-iframe';\n\n private accessTokenTimeoutSubscription: Subscription;\n private idTokenTimeoutSubscription: Subscription;\n\n private sessionCheckEventListener: EventListener;\n\n private jwksUri: string;\n\n private sessionCheckTimer: any;\n\n constructor(\n private http: Http,\n @Optional() storage: OAuthStorage,\n @Optional() tokenValidationHandler: ValidationHandler,\n @Optional() @Inject(AUTH_CONFIG) private config: AuthConfig,\n private urlHelper: UrlHelperService) {\n\n this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();\n this.events = this.eventsSubject.asObservable();\n\n if (tokenValidationHandler) {\n this.tokenValidationHandler = tokenValidationHandler;\n }\n\n if (config) {\n this.configure(config);\n }\n\n if (storage) {\n this.setStorage(storage);\n } else if (typeof sessionStorage !== 'undefined') {\n this.setStorage(sessionStorage);\n }\n\n this.setupRefreshTimer();\n\n if (this.sessionChecksEnabled) {\n this.setupSessionCheck();\n }\n }\n\n /**\n * Use this method to configure the service\n * @param config the configuration\n */\n public configure(config: AuthConfig) {\n Object.assign(this, defaultConfig, config);\n }\n\n private setupSessionCheck() {\n this\n .events\n .filter(e => e.type === 'token_received')\n .subscribe(e => {\n this.initSessionCheck();\n });\n }\n\n public setupAutomaticSilentRefresh() {\n this\n .events\n .filter(e => e.type === 'token_expires')\n .subscribe(e => {\n this.silentRefresh();\n });\n }\n\n public loadDiscoveryDocumentAndTryLogin() {\n this.loadDiscoveryDocument().then((doc) => {\n return this.tryLogin();\n });\n }\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.'\n + '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 setupRefreshTimer(): void {\n\n if (typeof window === 'undefined') {\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 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.sessionCheckIFrameName = doc.check_session_iframe;\n\n this.discoveryDocumentLoaded = true;\n this.discoveryDocumentLoadedSubject.next(doc);\n\n this.loadJwks().then(jwks => {\n let result: object = {\n discoveryDocument: doc,\n jwks: jwks\n };\n\n let event = new OAuthSuccessEvent('discovery_document_loaded', result);\n this.eventsSubject.next(event);\n resolve(event);\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 if (this.sessionChecksEnabled && !doc['check_session_iframe']) {\n console.warn(\n 'sessionChecksEnabled is activated but discovery document'\n + ' does not contain a check_session_iframe field');\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(\n userName: string,\n password: string,\n 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()) {\n throw new Error('Can not load User Profile without access_token');\n }\n if (!this.validateUrlForHttps(this.userinfoEndpoint)) {\n throw new Error('userinfoEndpoint must use Http. Also check property requireHttps.');\n }\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 '\n + '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)) {\n throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n }\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)) {\n throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n }\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 (typeof document === 'undefined') {\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 canPerformSessionCheck(): boolean {\n if (!this.sessionChecksEnabled) return false;\n if (!this.sessionCheckIFrameUrl) {\n console.warn('sessionChecksEnabled is activated but there '\n + 'is no sessionCheckIFrameUrl');\n return false;\n }\n let sessionState = this.getSessionState();\n if (!sessionState) {\n console.warn('sessionChecksEnabled is activated but there '\n + 'is no session_state claim');\n return false;\n }\n if (typeof document === 'undefined') {\n return false;\n }\n\n return true;\n }\n\n private setupSessionCheckEventListener(): void {\n this.removeSessionCheckEventListener();\n\n this.sessionCheckEventListener = (e: MessageEvent) => {\n\n let origin = e.origin.toLowerCase();\n let issuer = this.issuer.toLowerCase();\n\n this.debug('sessionCheckEventListener');\n\n if (!issuer.startsWith(origin)) {\n this.debug(\n 'sessionCheckEventListener',\n 'wrong origin',\n origin,\n 'expected',\n issuer);\n }\n\n switch (e.data) {\n case 'unchanged': break;\n case 'changed': /* events: session_changed, relogin, stopTimer, logged_out*/ break;\n case 'error': /* events: session_check_error, stopTimer, logged_out */ break;\n }\n\n this.debug('got info from session check inframe', e);\n };\n }\n\n private removeSessionCheckEventListener(): void {\n if (this.sessionCheckEventListener) {\n window.removeEventListener('message', this.sessionCheckEventListener);\n this.sessionCheckEventListener = null;\n }\n }\n\n private initSessionCheck(): void {\n if (!this.canPerformSessionCheck()) return;\n\n let existingIframe = document.getElementById(this.sessionCheckIFrameName);\n if (existingIframe) {\n document.body.removeChild(existingIframe);\n }\n\n let iframe = document.createElement('iframe');\n iframe.id = this.sessionCheckIFrameName;\n\n this.setupSessionCheckEventListener();\n\n let url = this.sessionCheckIFrameUrl;\n iframe.setAttribute('src', url);\n iframe.style.visibility = 'hidden';\n document.body.appendChild(iframe);\n\n this.startSessionCheckTimer();\n\n }\n\n private startSessionCheckTimer(): void {\n this.stopSessionCheckTimer();\n this.sessionCheckTimer = setInterval(this.checkSession.bind(this), this.sessionCheckIntervall);\n }\n\n private stopSessionCheckTimer(): void {\n if (this.sessionCheckTimer) {\n clearInterval(this.sessionCheckTimer);\n this.sessionCheckTimer = null;\n }\n }\n\n private checkSession(): void {\n let iframe: any = document.getElementById(this.sessionCheckIFrameName);\n\n if (!iframe) {\n console.warn('checkSession did not find iframe', this.sessionCheckIFrameName);\n }\n\n let sessionState = this.getSessionState();\n\n if (!sessionState) {\n this.stopSessionCheckTimer();\n }\n\n let message = this.clientId + ' ' + sessionState;\n iframe.contentWindow.postMessage(message, this.issuer);\n }\n\n private createLoginUrl(\n state = '',\n loginHint = '',\n customRedirectUri = ''\n ) {\n let 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 let 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.\n * 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 let that = this;\n if (options.onTokenReceived) {\n let 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 let expiresInMilliSeconds = expiresIn * 1000;\n let now = new Date();\n let 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 /**\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 this.debug('parsed url', parts);\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 let accessToken = parts['access_token'];\n let idToken = parts['id_token'];\n let state = decodeURIComponent(parts['state']);\n let sessionState = parts['session_state'];\n\n if (this.sessionChecksEnabled && !sessionState) {\n console.warn(\n 'session checks (Session Status Change Notification) '\n + 'is activated in the configuration but the id_token '\n + 'does not contain a session_state claim');\n }\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 let stateParts = state.split(';');\n if (stateParts.length > 1) {\n this.state = stateParts[1];\n }\n let nonceInState = stateParts[0];\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.storeSessionState(sessionState);\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 let 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 protected storeSessionState(sessionState: string) {\n this._storage.setItem('session_state', sessionState);\n }\n\n protected getSessionState(): string {\n return this._storage.getItem('session_state');\n }\n\n private handleLoginError(options: LoginOptions, parts: object): void {\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 = b64DecodeUnicode(headerBase64);\n let header = JSON.parse(headerJson);\n let claimsBase64 = this.padBase64(tokenParts[1]);\n let claimsJson = b64DecodeUnicode(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 let 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'), 10);\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'), 10);\n }\n\n /**\n * Checkes, whether there is a valid access_token.\n */\n public hasValidAccessToken(): boolean {\n if (this.getAccessToken()) {\n\n let expiresAt = this._storage.getItem('expires_at');\n let now = new Date();\n if (expiresAt && parseInt(expiresAt, 10) -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 let 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 let text = '';\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n for (let 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 let 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 (let 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/A.html":{"url":"classes/A.html","title":"class - A","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n A\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/index.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n a\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n a\n \n \n \n \n a: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/index.ts:27\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';\nimport { UrlHelperService } from './url-helper.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';\nexport * from './auth.config';\nexport * from './types';\nexport * from './tokens';\n\nexport class A {\n a: string;\n}\n\nexport class B extends A {\n b: string;\n}\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class OAuthModule {\n\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 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: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 abstract class ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n public abstract validateSignature(validationParams: ValidationParams): Promise;\n\n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n public abstract 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 let tokenHash = this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n\n let tokenHashBase64 = btoa(leftMostHalf);\n\n let atHash = tokenHashBase64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n let claimsAtHash = params.idTokenClaims['at_hash'].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"},"classes/B.html":{"url":"classes/B.html","title":"class - B","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n B\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/index.ts\n \n\n\n \n Extends\n \n \n A\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n b\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n b\n \n \n \n \n b: string\n \n \n \n \n \n Type : string\n \n \n \n \n \n Defined in src/index.ts:31\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';\nimport { UrlHelperService } from './url-helper.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';\nexport * from './auth.config';\nexport * from './types';\nexport * from './tokens';\n\nexport class A {\n a: string;\n}\n\nexport class B extends A {\n b: string;\n}\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class OAuthModule {\n\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 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:111\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:118\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: )\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: \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 { 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 = 600;\n\n validateSignature(params: ValidationParams, retry = 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(loadedKeys => params.jwks = loadedKeys)\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 validationOptions = {\n alg: this.allowedAlgorithms,\n gracePeriod: this.gracePeriodInSec\n };\n let isValid = rs.KJUR.jws.JWS.verifyJWT(params.idToken, keyObj, validationOptions);\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 = '';\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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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, 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 \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:45\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| 'logged_out';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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| 'logged_out';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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:36\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| 'logged_out';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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/OAuthStorage.html":{"url":"classes/OAuthStorage.html","title":"class - OAuthStorage","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\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\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 \n Methods\n \n \n \n \n \n \n getItem\n \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 \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 \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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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/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 Constructor\n \n \n \n \n constructor(type: EventType, info: any)\n \n \n \n \n Defined in src/events.ts:27\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| 'logged_out';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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/ValidationHandler.html":{"url":"classes/ValidationHandler.html","title":"class - ValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\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\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n Public validateAtHash\n \n \n Public validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Public validateAtHash\n \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 Public 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: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 abstract class ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n public abstract validateSignature(validationParams: ValidationParams): Promise;\n\n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n public abstract 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 let tokenHash = this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n\n let tokenHashBase64 = btoa(leftMostHalf);\n\n let atHash = tokenHashBase64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n let claimsAtHash = params.idTokenClaims['at_hash'].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/AuthConfig.html":{"url":"interfaces/AuthConfig.html","title":"interface - AuthConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n Interfaces\n AuthConfig\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/auth.config.ts\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n sessionCheckIntervall\n \n \n sessionChecksEnabled\n \n \n clearHashAfterLogin\n \n \n clientId\n \n \n customQueryParams\n \n \n dummyClientSecret\n \n \n issuer\n \n \n jwks\n \n \n loginUrl\n \n \n logoutUrl\n \n \n oidc\n \n \n postLogoutRedirectUri\n \n \n redirectUri\n \n \n requestAccessToken\n \n \n requireHttps\n \n \n scope\n \n \n showDebugInformation\n \n \n silentRefreshIFrameName\n \n \n silentRefreshMessagePrefix\n \n \n silentRefreshRedirectUri\n \n \n silentRefreshShowIFrame\n \n \n siletRefreshTimeout\n \n \n strictDiscoveryDocumentValidation\n \n \n timeoutFactor\n \n \n tokenEndpoint\n \n \n userinfoEndpoint\n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n sessionCheckIntervall\n \n \n \n \n sessionCheckIntervall: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:151\n \n \n\n \n \n Intervall in msec for checking the session\naccording to http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n\n \n \n \n \n \n \n \n \n \n sessionChecksEnabled\n \n \n \n \n sessionChecksEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:144\n \n \n\n \n \n If true, the lib will try to check whether the user\nis still logged in on a regular basis as described\nin http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n\n \n \n \n \n \n \n \n \n \n clearHashAfterLogin\n \n \n \n \n clearHashAfterLogin: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:56\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 clientId\n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:7\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 customQueryParams\n \n \n \n \n customQueryParams: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:127\n \n \n\n \n \n Map with additional query parameter that are appended to\nthe request when initializing implicit flow.\n\n \n \n \n \n \n \n \n \n \n dummyClientSecret\n \n \n \n \n dummyClientSecret: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:100\n \n \n\n \n \n Some auth servers don't allow using password flow\nw/o a client secreat while the standards do not\ndemand for it. In this case, you can set a password\nhere. As this passwort is exposed to the public\nit does not bring additional security and is therefore\nas good as using no password.\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n issuer: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:46\n \n \n\n \n \n The issuer's uri.\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/auth.config.ts:121\n \n \n\n \n \n JSON Web Key Set (https://tools.ietf.org/html/rfc7517)\nwith keys used to validate received id_tokens.\nThis is taken out of the disovery document. Can be set manually too.\n\n \n \n \n \n \n \n \n \n \n loginUrl\n \n \n \n \n loginUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:24\n \n \n\n \n \n The auth server's endpoint that allows to log\nthe user in when using implicit flow.\n\n \n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n logoutUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:51\n \n \n\n \n \n The logout url.\n\n \n \n \n \n \n \n \n \n \n oidc\n \n \n \n \n oidc: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:35\n \n \n\n \n \n Defines whether to use OpenId Connect during\nimplicit flow. Defaults to true.\n\n \n \n \n \n \n \n \n \n \n postLogoutRedirectUri\n \n \n \n \n postLogoutRedirectUri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:18\n \n \n\n \n \n An optional second redirectUri where the auth server\nredirects the user to after logging out.\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n redirectUri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:12\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 requestAccessToken\n \n \n \n \n requestAccessToken: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:41\n \n \n\n \n \n Defines whether to request a access token during\nimplicit flow. Defaults to true;\n\n \n \n \n \n \n \n \n \n \n requireHttps\n \n \n \n \n requireHttps: boolean|\n\n \n \n\n\n \n \n Type : boolean|\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:108\n \n \n\n \n \n Defines whether https is required.\nThe default value is remoteOnly which only allows\nhttp for location, while every other domains need\nto be used with https.\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n scope: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:29\n \n \n\n \n \n The requested scopes\n\n \n \n \n \n \n \n \n \n \n showDebugInformation\n \n \n \n \n showDebugInformation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:72\n \n \n\n \n \n Defines whether additional debug information should\nbe shown at the console.\n\n \n \n \n \n \n \n \n \n \n silentRefreshIFrameName\n \n \n \n \n silentRefreshIFrameName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:129\n \n \n\n \n \n \n \n \n \n \n silentRefreshMessagePrefix\n \n \n \n \n silentRefreshMessagePrefix: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:79\n \n \n\n \n \n \n \n \n \n \n silentRefreshRedirectUri\n \n \n \n \n silentRefreshRedirectUri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:77\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 silentRefreshShowIFrame\n \n \n \n \n silentRefreshShowIFrame: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:85\n \n \n\n \n \n Set this to true to display the iframe used for\nsilent refresh for debugging.\n\n \n \n \n \n \n \n \n \n \n siletRefreshTimeout\n \n \n \n \n siletRefreshTimeout: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:90\n \n \n\n \n \n Timeout for silent refresh.\n\n \n \n \n \n \n \n \n \n \n strictDiscoveryDocumentValidation\n \n \n \n \n strictDiscoveryDocumentValidation: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:114\n \n \n\n \n \n Defines whether every url provided by the discovery\ndocument has to start with the issuer's url.\n\n \n \n \n \n \n \n \n \n \n timeoutFactor\n \n \n \n \n timeoutFactor: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:136\n \n \n\n \n \n Defines when the token_timeout event should be raised.\nIf you set this to the default value 0.75, the event\nis triggered after 75% of the token's life time.\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n tokenEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:61\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 userinfoEndpoint\n \n \n \n \n userinfoEndpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n \n \n Defined in src/auth.config.ts:66\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 export interface AuthConfig {\n\n /**\n * The client's id as registered with the auth server\n */\n clientId?: string;\n\n /**\n * The client's redirectUri as registered with the auth server\n */\n redirectUri?: string;\n\n /**\n * An optional second redirectUri where the auth server\n * redirects the user to after logging out.\n */\n postLogoutRedirectUri?: string;\n\n /**\n * The auth server's endpoint that allows to log\n * the user in when using implicit flow.\n */\n loginUrl?: string;\n\n /**\n * The requested scopes\n */\n scope?: string;\n\n /**\n * Defines whether to use OpenId Connect during\n * implicit flow. Defaults to true.\n */\n oidc?: boolean;\n\n /**\n * Defines whether to request a access token during\n * implicit flow. Defaults to true;\n */\n requestAccessToken?: boolean;\n\n /**\n * The issuer's uri.\n */\n issuer?: string;\n\n /**\n * The logout url.\n */\n logoutUrl?: string;\n\n /**\n * Defines whether to clear the hash fragment after logging in.\n */\n clearHashAfterLogin?: boolean;\n\n /**\n * Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n */\n tokenEndpoint?: string;\n\n /**\n * Url of the userinfo endpoint as defined by OpenId Connect.\n */\n userinfoEndpoint?: string;\n\n /**\n * Defines whether additional debug information should\n * be shown at the console.\n */\n showDebugInformation?: boolean;\n\n /**\n * The redirect uri used when doing silent refresh.\n */\n silentRefreshRedirectUri?: string;\n\n silentRefreshMessagePrefix?: string;\n\n /**\n * Set this to true to display the iframe used for\n * silent refresh for debugging.\n */\n silentRefreshShowIFrame?: boolean;\n\n /**\n * Timeout for silent refresh.\n */\n siletRefreshTimeout?: number;\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 dummyClientSecret?: string;\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 requireHttps?: boolean | 'remoteOnly';\n\n /**\n * Defines whether every url provided by the discovery\n * document has to start with the issuer's url.\n */\n strictDiscoveryDocumentValidation?: boolean;\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 jwks?: object;\n\n /**\n * Map with additional query parameter that are appended to\n * the request when initializing implicit flow.\n */\n customQueryParams?: object;\n\n silentRefreshIFrameName?: string;\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 timeoutFactor?: number;\n\n /**\n * If true, the lib will try to check whether the user\n * is still logged in on a regular basis as described\n * in http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n * @type {boolean}\n */\n sessionChecksEnabled?: boolean;\n\n /**\n * Intervall in msec for checking the session\n * according to http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n * @type {number}\n */\n sessionCheckIntervall?: number;\n\n /**\n * Url for the iframe used for session checks\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n sessionCheckIFrameUrl?: string;\n\n /**\n * Name of the iframe to use for session checks\n * @type {number}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n sessionCheckIFrameName?: string;\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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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/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 abstract class ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n public abstract validateSignature(validationParams: ValidationParams): Promise;\n\n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n public abstract 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 let tokenHash = this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n\n let tokenHashBase64 = btoa(leftMostHalf);\n\n let atHash = tokenHashBase64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n let claimsAtHash = params.idTokenClaims['at_hash'].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 results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous - Functions\n\n\n src/base64-helper.ts\n \n \n \n \n \n \n b64DecodeUnicode\n \n \n \n \n b64DecodeUnicode(str: undefined)\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/default.auth.conf.ts\n \n \n \n \n \n \n defaultConfig\n \n \n \n \n defaultConfig: AuthConfig\n \n \n \n \n \n Type : AuthConfig\n \n \n \n \n \n \n \n \n src/tokens.ts\n \n \n \n \n \n \n AUTH_CONFIG\n \n \n \n \n AUTH_CONFIG: \n \n \n \n \n \n \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":["2","2.1","4","4202","4202]/index.html","4202]/silent","4th","8089|4200","accord","addit","allow","angular","angular/cor","angular2","api","app","app.component.html","app/home.html","appcompon","applic","appmodul","assum","auth","auth.config","authconfig","author","automat","backend","bearer","befor","best","better","bootstrap","break","bundl","call","chang","claim","claims.given_nam","class","client","clientid","code","commonj","compon","config","configur","configurewithnewconfigapi","connect","const","constructor(priv","contain","conveni","core","credit","custom","declar","default","defin","demand","demo","di","discoveri","document","e","eas","email","endpoint","enter","environ","event","expir","export","fail","fals","featur","first","flight","flow","follow","form","further","g","gener","get","hallo","hash","hashlocationstrategi","header","henc","his/her","homecompon","hook","http","http://localhost:8080","httpclient","httpheader","httpmodul","https://github.com/manfredsteyer/angular","https://manfredsteyer.github.io/angular","https://steyer","id","id_token","ident","identityserv","implement","implicit","import","index","index.html","inform","initimplicitflow","instal","instanc","instead","introduc","issuer","issuer'","java","jsrasign","jwksvalidationhandl","keycloak","leverag","librari","loaddiscoverydocumentandtrylogin","local","localhost:[8080","localstorag","log","login","logoff","logout","manag","match","max/geheim","mean","mention","method","more","name","net","net/.net","new","ngmodul","notif","notifi","npm","null","oauth","oauth2","oauth2/oidc","oauthmodul","oauthmodule.forroot","oauthservic","oauthstorag","object","observ","oidc","oidc/angular","oidc/doc","on","openid","origin","otherwis","out","owner","page","pass","password","pathlocationstrategi","permiss","possibl","privat","profil","properti","provid","provider'","public","queri","receiv","redhad","redhat'","redirect","redirecturi","refresh","refresh.html","regard","registerd","relax","relay","request","requirehttp","resourc","result","return","router","rule","runn","sampl","saveimport","scaffold","scope","section","see","selector","send","server","server'","server.azurewebsites.net/ident","servic","session","sessionstorag","set","setstorag","setupautomaticsilentrefresh","show","side","sign","signatur","silent","singl","snippet","sourc","spa","spa'","spec","specif","start","statu","still","streamlin","strictdiscoverydocumentvalid","structur","successfulli","suitabl","support","task","templat","templateurl","test","testen","this.configurewithnewconfigapi","this.oauthservice.configure(authconfig","this.oauthservice.getaccesstoken","this.oauthservice.getidentityclaim","this.oauthservice.initimplicitflow","this.oauthservice.loaddiscoverydocumentandtrylogin","this.oauthservice.logout","this.oauthservice.tokenvalidationhandl","three","through","time","timeoutfactor","togeht","token","token_expir","true","up","url","us","usecas","user","userinfo","username/password","username/passwort","valid","validationhandl","var","version","via","voucher","we'v","web","webpack","well","window.location.origin","within","you'v","zum"],"overview.html":["1","12","2","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","auth.config","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","type","url","urlhelperservic","valid","validation/jwk","validation/nul","validation/valid"],"injectables/OAuthService.html":["0","1","10","1000","1970","4","60","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","activ","addit","additionalst","against","angular/cor","angular/http","anoth","api","application/x","arg","around","array","array.isarray(claims.aud","at_hash","audienc","auth","auth.config","authconfig","authorization_endpoint","authorizationhead","b/c","b64decodeunicod","b64decodeunicode(claimsbase64","b64decodeunicode(headerbase64","base64","base64data","base64data.length","bearer","befor","boolean","both","break","browser'","calctimeout(expir","callontokenreceivedifexists(opt","canperformsessioncheck","case","catch(_","catch(err","catch(error","catch(reason","chang","check","check_session_ifram","checksess","claim","claims.aud","claims.aud.every(v","claims.aud.join","claims.exp","claims.iat","claims.iss","claims.nonc","claims.sub","claims['at_hash","claims['sub","claimsbase64","claimsjson","class","clearaccesstokentim","clearidtokentim","clearinterval(this.sessionchecktim","client","client_id","code","compat","config","configur","configure(config","connect","console.debug.apply(consol","console.error","console.error('error","console.error(err","console.error(error","console.error(reason","console.warn","console.warn('checksess","console.warn('no","console.warn('sessionchecksen","console.warn(err","constructor","constructor(http","contain","createandsavenonc","createloginurl","createnonc","current","custom","customhashfrag","customredirecturi","date","date.now","debug(...arg","decodeuricomponent(parts['st","default","defin","delay(this.siletrefreshtimeout","delay(timeout","delta","deprec","descript","dicoveri","discoveri","discoverydocu","discoverydocumentload","discoverydocumentloadedsubject","do(e","doc","doc.authorization_endpoint","doc.check_session_ifram","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['check_session_ifram","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.sessioncheckiframenam","document.getelementbyid(this.silentrefreshiframenam","downward","dure","e","e.data","e.origin.tolowercas","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('cannot","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","extend","fail","fals","far","fetchtokenusingpasswordflow","fetchtokenusingpasswordflow(usernam","fetchtokenusingpasswordflowandloaduserprofil","fetchtokenusingpasswordflowandloaduserprofile(usernam","field","file","filter(","filter((","find","first","flow","form","fragment","full","fullurl","getaccesstoken","getaccesstokenexpir","getidentityclaim","getidtoken","getidtokenexpir","getsessionst","granttypessupport","handleloginerror(opt","handler","handlesessionchang","handlesessionerror","handlesessionunchang","happen","hash","hasvalidaccesstoken","hasvalididtoken","header","header.kid","headerbase64","headerjson","headers.set('author","headers.set('cont","helper","helper.servic","hidden","http","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.contentwindow.postmessage(messag","iframe.id","iframe.setattribute('src","iframe.style.vis","ignor","implement","implicit","import","index","infer","info","inform","infram","initimplicitflow","initimplicitflow(additionalst","initsessioncheck","inject","instanceof","instead","intern","invalid","issuedatmsec","issuer","issuer'","issuer.startswith(origin","issuercheck","ist","json.parse(claim","json.parse(claimsjson","json.parse(headerjson","json.stringify(doc","jwk","jwks_uri","jwksuri","key","kid","known/openid","later","lcurl","lcurl.match(/^http:\\/\\/localhost","lcurl.startswith('http","legaci","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loaddiscoverydocumentandtrylogin","loadjwk","loaduserprofil","location.hash","location.href","log","logged_out","login","login_hint","loginhint","loginhint).then(funct","loginopt","logout","logout(noredirecttologouturl","logouturl","make","map(","map(r","match","messag","messageev","method","millisecond","multipl","name","need","new","nonc","nonceinst","noprompt","noredirecttologouturl","notif","now","now.gettim","null","number","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('session_chang","oauthinfoevent('session_error","oauthinfoevent('session_termin","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.assign(thi","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","origin","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['expires_in","parts['id_token","parts['session_st","pass","password","perform","platform","plattform","possibl","post_logout_redirect_uri","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","prompt=non","properti","protect","provid","public","queri","question","r.json()).subscrib","race([error","reason","receiv","reconsid","redirect","redirect_uri","redirecturi","refresh","refresh_token","refreshtoken","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","relogin","remoteonli","remov","removesessioncheckeventlisten","removesilentrefresheventlisten","requestaccesstoken","requir","requirehttp","resolve(doc","resolve(ev","resolve(jwk","resolve(nul","resolve(tokenrespons","resourc","response_typ","restartrefreshtimerifstillloggedin","restartsessionchecksifstillloggedin","result","result.idtoken","result.idtokenclaim","return","rng","rxjs/observ","rxjs/subject","rxjs/subscript","sake","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","see","seperationchar","server","servic","service.t","service.ts:106","service.ts:1091","service.ts:1097","service.ts:1101","service.ts:1114","service.ts:1241","service.ts:1250","service.ts:1264","service.ts:1272","service.ts:1280","service.ts:1287","service.ts:1305","service.ts:1324","service.ts:1334","service.ts:1370","service.ts:1378","service.ts:143","service.ts:152","service.ts:277","service.ts:29","service.ts:290","service.ts:439","service.ts:455","service.ts:47","service.ts:503","service.ts:53","service.ts:550","service.ts:637","service.ts:65","service.ts:938","service.ts:989","session","session_chang","session_st","sessioncheckeventlisten","sessioncheckiframeurl","sessionchecksen","sessionchecktim","sessionst","sessionstorag","set","setinterval(this.checksession.bind(thi","setstorag","setstorage(storag","setupaccesstokentim","setupautomaticsilentrefresh","setupidtokentim","setuprefreshtim","setupsessioncheck","setupsessioncheckeventlisten","setupsilentrefresheventlisten","side","sign","signatur","silent","silent_refresh_error","silent_refresh_timeout","silently_refresh","silently_refreshed').first","silentrefresh","silentrefreshpostmessageeventlisten","silentrefreshsubject","solut","sourc","spec","src/oauth","start","startsessionchecktim","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","statu","stopsessionchecktim","stoptim","storag","store","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","storesessionst","storesessionstate(sessionst","strictdiscoverydocumentvalid","stricter","string","sub","subject","subscribe(","subscript","success","super","support","sure","switch","take","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","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.getitem('session_st","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('session_st","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.canperformsessioncheck","this.checkathash(validationparam","this.checksignature(validationparams).then(_","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.config","this.configure(config","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug","this.debug('error","this.debug('got","this.debug('pars","this.debug('refresh","this.debug('sess","this.debug('sessioncheckeventlisten","this.debug('sil","this.debug('tim","this.debug('tokenrespons","this.debug('trylogin","this.debug('userinfo","this.disableathashcheck","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.getidtokenexpir","this.getkeycount","this.getsessionst","this.granttypessupport","this.handleloginerror(opt","this.handlesessionchang","this.handlesessionerror","this.handlesessionunchang","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.initsessioncheck","this.issu","this.issuer.tolowercas","this.jwk","this.jwksuri","this.loaddiscoverydocument().then((doc","this.loadjwk","this.loadjwks().then(jwk","this.loaduserprofil","this.loginurl","this.logout(tru","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oidc","this.padbase64(tokenparts[0","this.padbase64(tokenparts[1","this.redirecturi","this.removesessioncheckeventlisten","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.restartrefreshtimerifstillloggedin","this.restartsessionchecksifstillloggedin","this.rngurl","this.scop","this.sessioncheckeventlisten","this.sessioncheckiframenam","this.sessioncheckiframeurl","this.sessioncheckinterval","this.sessionchecksen","this.sessionchecktim","this.setstorage(sessionstorag","this.setstorage(storag","this.setupaccesstokentim","this.setupidtokentim","this.setuprefreshtim","this.setupsessioncheck","this.setupsessioncheckeventlisten","this.setupsilentrefresheventlisten","this.showdebuginform","this.silentrefresh","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.silentrefreshshowifram","this.silentrefreshsubject","this.startsessionchecktim","this.stat","this.stopsessionchecktim","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.storesessionstate(sessionst","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","this.waitforsilentrefreshaftersessionchang","throw","timeout","token","token_endpoint","token_expir","token_receiv","token_received').subscribe(_","tokenparam","tokenpart","tokenrespons","tokenresponse.expires_in","tokenresponse.refresh_token","tokenvalidationhandl","topromis","transmit","tri","true","true).then(url","trylogin","trylogin(opt","type","typeof","unchang","undefin","url","url.tolowercas","url.tolowercase().startswith(this.issuer.tolowercas","urlencod","urlhelp","urlhelperservic","urlsearchparam","us","user","userinfo","userinfo_endpoint","usernam","v","valid","validatediscoverydocument(doc","validatenonceforaccesstoken(accesstoken","validateurlagainstissuer(url","validateurlforhttps(url","validateurlfromdiscoverydocument(url","validation/valid","validationhandl","validationparam","version","via","void","waitforsilentrefreshaftersessionchang","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(questionmarkposit","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","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: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","loadkey","make","match","method","name","new","object","overrid","param","paramet","params.idtokenclaims['at_hash'].replace(/=/g","pars","pass","promis","protect","public","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"],"classes/AuthConfig.html":["0.75","1000","1_0.html#changenotif","2","20","3","75","access","accord","addit","allow","angular","append","at_hash","auth","authconfig","basi","boolean","bring","bypass","case","check","class","clear","clearhashafterlogin","client","client'","clientid","configur","connect","consol","cours","customqueryparam","debug","default","defin","deliv","demand","depreact","describ","disabl","disableathashcheck","discoveri","disoveri","display","do","document","domain","don't","dummyclientsecret","dure","endpoint","even","event","export","expos","fals","file","flow","fragment","good","hash","here","http","http://openid.net/specs/openid","https://tools.ietf.org/html/rfc7517","id","id_token","ident","ifram","implicit","indent","index","info","inform","initi","instead","intern","interval","introduc","issuer","issuer'","json","jwk","key","legaci","lib","life","locat","log","loginurl","logout","logouturl","manual","map","match","mean","method","more","msec","name","need","number","oauth","object","oidc","openid","option","out","paramet","password","passwort","postlogoutredirecturi","profil","properti","provid","public","queri","rais","receiv","recommend","redirect","redirecturi","refresh","regist","regular","remoteonli","request","requestaccesstoken","requir","requirehttp","resourc","responsetyp","result","rngurl","scope","second","secreat","secur","server","server'","session","sessioncheckiframenam","sessioncheckiframeurl","sessioncheckinterval","sessionchecksen","set","showdebuginform","shown","silent","silentrefreshiframenam","silentrefreshmessageprefix","silentrefreshredirecturi","silentrefreshshowifram","siletrefreshtimeout","sourc","spec","src/auth.config.t","src/auth.config.ts:248","standard","start","still","strictdiscoverydocumentvalid","string","taken","therefor","though","time","timeout","timeoutfactor","token","token'","token_timeout","tokenendpoint","tri","trigger","true","type","uri","url","us","user","userinfo","userinfoendpoint","valid","valu","vulner","w/o","web","whether"],"classes/JwksValidationHandler.html":["0","1","600","abstractvalidationhandl","against","alg","alg.charat(0","alg2kty(alg","algorithm","allow","allowedalgorithm","array.isarray(params.jwks['key","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","found","graceperiod","graceperiodinsec","handler","handler.t","handler.ts:111","handler.ts:118","handler.ts:17","handler.ts:23","handler.ts:25","hashalg","hashalg.digeststring(valuetohash","header","hs256","hs384","hs512","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","loadedkey","loadkey","match","matchingkey","matchingkeys.length","matchingkeys[0","method","miss","more","new","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","then(_","then(loadedkey","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","validationopt","validationparam","valu","var","web"],"classes/LoginOptions.html":["abstract","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":["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","session_chang","session_error","session_termin","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:47","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","session_chang","session_error","session_termin","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:23","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","session_chang","session_error","session_termin","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:38","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/OAuthStorage.html":["abstract","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"],"classes/OAuthSuccessEvent.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","session_chang","session_error","session_termin","silent_refresh_error","silent_refresh_timeout","silently_refresh","sourc","src/events.t","src/events.ts:29","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":["abstract","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"],"classes/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","public","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"],"interfaces/ParsedIdToken.html":["abstract","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/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","public","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"],"miscellaneous/functions.html":["b64decodeunicod","b64decodeunicode(str","function","helper.t","match","miscellan","result","src/base64","undefin"],"miscellaneous/variables.html":["auth_config","handler.t","match","miscellan","requir","result","rs","src/token","src/tokens.t","type","valid","validation/jwk","variabl"],"miscellaneous/typealiases.html":["alias","eventtyp","match","miscellan","result","src/events.t","type","typealias"],"additional-documentation/getting-started.html":["abov","addit","find","get","guid","match","page","pleas","readm","result","start"],"additional-documentation/preserving-state-(like-the-requested-url).html":["addit","call","console.debug('st","info","info.st","initimplicitflow","login","match","ontokenreceiv","option","page","pass","preserv","read","request","result","state","succeed","this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');aft","this.oauthservice.trylogin","url"],"additional-documentation/refreshing-a-token-(silent-refresh).html":["0","0.33","0.5","1","20","20.000","4th","75","add","addit","adjust","allow","altern","angular","anoth","api","applic","approach","asset","auth","authconfig","automat","befor","between","build","call","catch(err","cli","cli.json","client","clientid","come","commun","compens","config","configur","console.debug('refresh","console.error('refresh","const","cooki","copi","default","defin","demo","directli","directori","email","err));when","error","event","expir","export","fact","factor","file","fire","first","flow","follow","get","give","half","hidden","https://steyer","id","ident","ifram","implicit","import","index.html","info","instanc","interact","issu","issuer","keep","known","life","line","load","location.origin","log","login","main","make","match","mean","method","mind","msec","new","next","oauth2","oauthservic","object","oidc","ok","on","openid","output","over","page","parent.postmessage(location.hash","perform","permiss","pleas","prevent","profil","properti","provid","receiv","redirect","redirecturi","refresh","refresh.html","refresh.html\";pleas","registerd","request","respond","result","same","scope","second","send","server","server.azurewebsites.net/ident","set","setup","silent","silentrefresh","silentrefreshredirecturi","siletrefreshtimeout","solut","spa","spa'","specif","still","sure","task","then(info","third","this.oauthservice.setupautomaticsilentrefresh();bi","this.oauthservice.silentrefreshredirecturi","three","time","timeout","timeoutfactor","timespan","token","token'","trigger","uri","url","us","usecas","user","valu","version","voucher","well","window.location.origin","without"],"additional-documentation/callback-after-login.html":["access_token","addit","call","callback","case","console.debug(\"log","console.debug(context","context","demonstr","don't","home","id_token","lib","login","match","ontokenreceiv","output","page","purpos","receiv","request","result","success","this.oauthservice.trylogin","tri","valid","well"],"additional-documentation/custom-query-parameters.html":["4711","addit","custom","customqueryparam","flow","hash","implicit","match","otherparam","page","paramet","properti","queri","result","set","somevalu","start","tenant","this.oauthservice.customqueryparam","transmit"],"additional-documentation/events.html":["addit","avail","base","console.debug('oauth/oidc","e","enum","event","events.t","file","full","inform","librari","list","match","page","result","see","state","string","task","this.oauthservice.events.subscribe(","us"],"additional-documentation/routing-with-the-hashstrategy.html":["addit","alreadi","anoth","approutermodul","avoid","case","contain","default","disabl","exampl","export","fals","fragment","hash","hashstrategi","http://localhost:8080/#/hom","initi","initialnavig","job","leverag","librari","locationstrategi","manual","match","modul","navig","overrid","page","perform","prevent","read","receiv","redirect","result","root","rout","router","routermodule.forroot(app_rout","section","set","skip","solut","such","this.oauthservice.trylogin().then(_","this.router.navig","token","true","trylogin","up","uri","us","usehash"],"additional-documentation/configure/-adapt-id_token-validation.html":["adapt","addit","alreadi","anoth","approutermodul","avoid","case","configur","contain","default","disabl","exampl","export","fals","fragment","hash","hashstrategi","http://localhost:8080/#/hom","id_token","initi","initialnavig","job","leverag","librari","locationstrategi","manual","match","modul","navig","overrid","page","perform","prevent","read","receiv","redirect","result","root","rout","router","routermodule.forroot(app_rout","section","set","skip","solut","such","this.oauthservice.trylogin().then(_","this.router.navig","token","true","trylogin","up","uri","us","usehash","valid"],"additional-documentation/session-checks.html":["1.0","2.1","action","activ","addit","angular","authconfig","automat","begin","call","check","clientid","configur","connect","console.debug('your","const","current","custom","defin","delet","demo","e.typ","email","end","event","export","hook","https://steyer","ident","implement","import","index.html","issuer","lead","librari","local","logout","manag","match","mean","mention","note","notif","notifi","oauth2","oidc","openid","option","out","page","perform","pleas","profil","properti","provid","question","receiv","redirecturi","refresh.html","regist","result","scope","send","server.azurewebsites.net/ident","session","session_termin","session_terminated').subscribe(","sessionchecksen","set","sign","silent","silentrefreshredirecturi","spa","spec","support","termin","this.oauthservice.events.filter(","token","true","up","us","user","version","voucher","window.location.origin"],"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":["abov","addit","anoth","api","app","appcompon","auth","back","class","client","compon","config","configur","constructor(priv","demo","discoveri","document","doesn't","don't","email","enabl","endpoint","export","flow","follow","here","https://steyer","id","ident","implement","implicit","index.html","inform","instead","librari","localstorag","login","logout","look","manual","match","method","more","new","note","oauthservic","openid","origin","out","page","pars","permiss","pleas","profil","project'","properti","provid","readm","redirect","regist","request","result","sampl","scope","send","server","server'","server.azurewebsites.net/identity/connect/author","server.azurewebsites.net/identity/connect/endsess","sessionstorag","set","setstorag","sign","singl","spa","spa'","storag","this.oauthservice.clientid","this.oauthservice.loginurl","this.oauthservice.logouturl","this.oauthservice.redirecturi","this.oauthservice.scop","this.oauthservice.setstorage(sessionstorag","this.oauthservice.trylogin","token(","tri","ts","type","url","us","user","voucher","web","window.location.origin","within","without"],"additional-documentation/using-systemjs.html":["ad","addit","angular","beaugrand","dep","inform","jsrsasign","kevin","match","meta","oauth2","oidc","page","regard","result","system.config","systemj","thank","us"],"additional-documentation/original-config-api.html":["4th","abov","addit","api","app","appcompon","auth","back","befor","call","class","client","compon","config","configur","constructor","constructor(priv","defin","demo","discoveri","document","dosn't","email","export","first","follow","https://steyer","id","ident","index.html","inform","kick","librari","load","login","look","match","mention","method","name","new","note","oauthservic","oidc","on","openid","origin","page","pars","permiss","pleas","profil","project'","properti","readm","redirect","registerd","request","result","rout","sampl","scope","send","server","server.azurewebsites.net/ident","set","spa","spa'","specif","startup","this.oauthservice.clientid","this.oauthservice.issu","this.oauthservice.loaddiscoverydocument().then","this.oauthservice.redirecturi","this.oauthservice.scop","this.oauthservice.trylogin","three","token","token(","tri","url","us","usecas","user","voucher","web","window.location.origin","within"],"additional-documentation/using-password-flow.html":["access","addit","although","anoth","appcompon","auth","b","base","befor","below","better","between","browser","call","case","cite","claim","claims.given_nam","class","client","compon","configur","console.debug('given_nam","console.debug('ok","constructor","constructor(priv","credenti","current","data","demand","demo","describ","design","directli","discoveri","document","don't","dummi","dummyclientsecret","e","email","endpoint","endpont","enter","expir","explicitli","export","fetch","flow","follow","form","g","geheim","geheim').then","geheim').then((resp","here","https://steyer","id","id_token","ident","implcit","implement","implicit","info","instead","isn't","kick","known/openid","later","lib","librari","line","load","localstorag","log","loggin","login","make","manual","match","more","name","new","note","oauth2/oidc","oauthservic","offline_access","oidc","on","openid","owner","page","password","permiss","perspect","pleas","possibl","profil","properti","provid","quit","refresh","regist","relat","request","resourc","result","return","rout","run","safe","sampl","scope","secret","section","see","sens","server","server.azurewebsites.net/identity/.wel","server.azurewebsites.net/identity/connect/token","server.azurewebsites.net/identity/connect/userinfo","sessionstorag","set","setstorag","ship","short","show","similar","skip","spa","spa'","standard","startup","storag","strong","such","suit","that'","this.oauthservice.clientid","this.oauthservice.dummyclientsecret","this.oauthservice.fetchtokenusingpasswordflow('max","this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max","this.oauthservice.getidentityclaim","this.oauthservice.loaddiscoverydocument(url).then","this.oauthservice.loaduserprofil","this.oauthservice.refreshtoken().then","this.oauthservice.scop","this.oauthservice.setstorage(sessionstorag","this.oauthservice.tokenendpoint","this.oauthservice.userinfoendpoint","token","transmit","tri","trust","ts","type","url","us","user","user'","voucher","want","without"]},"length":37},"tokenStore":{"root":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},".":{"3":{"3":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}},"docs":{}},"5":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}},"7":{"5":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}},"docs":{}},"docs":{}}},"1":{"0":{"0":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}},"docs":{}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}},"2":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}},"9":{"7":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}},"docs":{}},"docs":{}},"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"_":{"0":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{},"#":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}}}}}}}}}}}}}}}},"docs":{}},".":{"0":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}},"docs":{}}},"2":{"0":{"1":{"7":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}},"docs":{}},"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},".":{"0":{"0":{"0":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}},"docs":{}},"docs":{}},"docs":{}}},"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"overview.html":{"ref":"overview.html","tf":0.08333333333333333},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"1":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}},"docs":{}}},"3":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}},"4":{"2":{"0":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}},"]":{"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.0017006802721088435}}}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}},"docs":{}},"docs":{}},"7":{"1":{"1":{"docs":{"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}}},"docs":{}},"docs":{}},"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}},"6":{"0":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"7":{"5":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}},"docs":{}},"8":{"0":{"8":{"9":{"docs":{},"|":{"4":{"2":{"0":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}},"docs":{}},"docs":{}},"docs":{}},"9":{"docs":{},"]":{"docs":{},"{":{"3":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}},"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00597460791635549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0033607169529499626},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.02727272727272727}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"d":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}},"d":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":2.5},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":1.6666666666666665},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":1.6666666666666665},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":2.5},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":2},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":3.333333333333333},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":2.5},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":1.6666666666666665},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":2.5090909090909093},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.1111111111111112},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":2.5},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":2},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":2}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"a":{"docs":{},"l":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}},"j":{"docs":{},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}},"a":{"docs":{},"p":{"docs":{},"t":{"docs":{"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":1.6666666666666665}}}}}},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"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.011461318051575931}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},".":{"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"(":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.029411764705882353},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"i":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"h":{"docs":{},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}},"docs":{"index.html":{"ref":"index.html","tf":0.017006802721088437},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}},"/":{"docs":{},"c":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"d":{"docs":{},"/":{"docs":{},"o":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"o":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":2.0258620689655173}}},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}}}}}},"/":{"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.0017006802721088435}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"/":{"docs":{},"x":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"r":{"docs":{},"o":{"docs":{},"a":{"docs":{},"c":{"docs":{},"h":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}},"e":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}}}}}},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.024390243902439025},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.02586206896551724},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.016042780748663103}},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":5.003205128205129},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.02727272727272727}}}}}}}},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"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.0003734129947722181}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}}}}}}},"_":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.1111111111111111}}}}}}}}}},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}},"d":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"b":{"docs":{},"o":{"docs":{},"v":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.07692307692307693},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}},"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.0003734129947722181}}},"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.029411764705882353},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.03017241379310345}},"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.007352941176471},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}},"o":{"docs":{},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},".":{"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.0003734129947722181}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.023696682464454975},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}},"t":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"v":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}}}}},"b":{"6":{"4":{"docs":{},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{},"u":{"docs":{},"n":{"docs":{},"i":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}},"e":{"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.0003734129947722181}}},"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.0003734129947722181}}},"docs":{}},"docs":{}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}}}}}}}}}}}}}}}}}}},"docs":{}},"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}},"docs":{}},"docs":{"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}},"i":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"u":{"docs":{},"g":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"t":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"w":{"docs":{},"e":{"docs":{},"e":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"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.0026138909634055266},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.010273972602739725},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}},"o":{"docs":{},"w":{"docs":{},"s":{"docs":{"modules.html":{"ref":"modules.html","tf":0.1}},"e":{"docs":{},"r":{"docs":{"modules.html":{"ref":"modules.html","tf":0.1},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"'":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}},"i":{"docs":{},"l":{"docs":{},"d":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}},"/":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}},"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.0057306590257879654}}}}}}}}}}}}}}}},"c":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":2.5625}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"(":{"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.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{},"(":{"docs":{},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}},"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.00597460791635549},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.017628205128205128},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":2.5272727272727273}},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}},"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.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},".":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"(":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"j":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"i":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"t":{"docs":{},"_":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":5.011029411764706},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":5.003205128205129},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.005730659025788},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.013698630136986},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025316455696203},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.054347826086956},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.058139534883721},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.056179775280899},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":5.018604651162791},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.056179775280899},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.018433179723503},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":5.014218009478673},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}},"i":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.026737967914438502}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}},"_":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"'":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}},".":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}},"e":{"docs":{},"a":{"docs":{},"r":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"d":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"m":{"docs":{},"m":{"docs":{},"o":{"docs":{},"n":{"docs":{},"j":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372}}}}}}}}},"u":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}},"e":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":2.0258620689655173}},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.01020408163265306},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0048543689320388345},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.05128205128205128},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":1.6666666666666665},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.1273712737127373},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.016042780748663103}},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"r":{"docs":{},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05434782608695652},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05813953488372093},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.056179775280898875},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.056179775280898875},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"(":{"docs":{},"p":{"docs":{},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}},"o":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}},"e":{"docs":{},".":{"docs":{},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},".":{"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.0003734129947722181}}}}}}}}}}}}}}},"(":{"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":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"/":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}}}}}}}}},"k":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}},"g":{"docs":{},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"_":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}}}},"\"":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004480955937266617}}}}}},"x":{"docs":{},"p":{"docs":{},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037341299477221808}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}},"p":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.042105263157894736},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}},"y":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.031578947368421054}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"s":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}},"o":{"docs":{},"k":{"docs":{},"i":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"a":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0014936519790888724}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":2.090909090909091},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"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.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}},"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.0011202389843166542}}}}}}}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"y":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}}}}}}}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}},"d":{"docs":{},"e":{"docs":{},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"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.0003734129947722181}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"a":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.012696041822255415},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.016025641025641024},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0273972602739726},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.027906976744186046},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.03508771929824561},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02586206896551724},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}}}},"p":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}},"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.0007468259895444362},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.05128205128205128}}}}}}}},"a":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}},"(":{"docs":{},".":{"docs":{},".":{"docs":{},".":{"docs":{},"a":{"docs":{},"r":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}},"i":{"docs":{},"v":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}},"e":{"docs":{},"t":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0033607169529499626},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"b":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0048543689320388345},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.1273712737127373},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}}},"y":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"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.0007468259895444362}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}},"_":{"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}},"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"u":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641}}}}}}}}}}}}},"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.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}},"docs":{}}}}}}}}}},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"y":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}},"c":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"f":{"docs":{},"f":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}},"o":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}},"u":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.01020408163265306},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005601194921583271},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.1273712737127373},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}},".":{"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.0007468259895444362}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}},"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":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},".":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"_":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}},"(":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"w":{"docs":{},"n":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}},"e":{"docs":{},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}}}},"s":{"docs":{},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}},"a":{"docs":{},"m":{"docs":{},"a":{"docs":{},"g":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"t":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}},".":{"docs":{},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}},"a":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}}}}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}},"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":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}}}}}}},"i":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}}}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"m":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}}},"n":{"docs":{},"d":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"n":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"_":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"v":{"docs":{},"i":{"docs":{},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"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.0003734129947722181}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"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.0003734129947722181}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"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.0003734129947722181}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006348020911127707},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":3.493333333333333},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.02727272727272727}},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"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.0003734129947722181}}}}}}}}},".":{"docs":{},"t":{"docs":{"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.06521739130434782},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.06976744186046512},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.06741573033707865},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.06741573033707865},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2}}}}}}}}},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0033607169529499626},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"e":{"docs":{},"s":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.11627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05434782608695652},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05813953488372093},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.056179775280898875},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.056179775280898875},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"s":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}},"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.0011202389843166542},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915}},"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.0007468259895444362}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{},"l":{"docs":{},"i":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}},"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.0007468259895444362}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.043478260869565216},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03488372093023256},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.0449438202247191},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0449438202247191}}}}}},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}},".":{"docs":{},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"a":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0033607169529499626},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01194921583271098}},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005601194921583271},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}},"(":{"docs":{},"'":{"docs":{},"c":{"docs":{},"a":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"n":{"docs":{},"o":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"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.0003734129947722181}}}}}}}}}}}},"e":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"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.0003734129947722181}}}}}}}}}},"s":{"docs":{},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"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.0011202389843166542}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}}}}}}}}}}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}}}}}},"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.0003734129947722181}}}}}}},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}},")":{"docs":{},")":{"docs":{},";":{"docs":{},"w":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"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.011764705882352941}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}},"f":{"docs":{},"a":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}}}},"l":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006721433905899925},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"c":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"o":{"docs":{},"r":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},"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.0007468259895444362}},"(":{"docs":{},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}},"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.0011202389843166542}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}},"e":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}}}},"l":{"docs":{},"e":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}},"e":{"docs":{},"l":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}},"n":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.07692307692307693}}}}},"l":{"docs":{},"i":{"docs":{},"g":{"docs":{},"h":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.015306122448979591},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009335324869305451},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.119241192411924},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":2.03475935828877}}}}},"o":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"license.html":{"ref":"license.html","tf":0.010526315789473684},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"r":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}}}}},"u":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}},"u":{"docs":{},"r":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},"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.0007468259895444362},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}}}}}}},"n":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":6.757575757575757}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"a":{"docs":{},"g":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":3.335034013605442},"license.html":{"ref":"license.html","tf":3.333333333333333},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":2.6538461538461537},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"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.0014936519790888724}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}}}}}}},"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.0014936519790888724}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}},"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.023529411764705882}},"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.023529411764705882}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"'":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"(":{"docs":{},"(":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0028653295128939827}},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}}}}}}}}}}}}},"o":{"docs":{},"o":{"docs":{},"d":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"u":{"docs":{},"i":{"docs":{},"d":{"docs":{"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.07692307692307693}}}}},"i":{"docs":{},"v":{"docs":{},"e":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}},"h":{"docs":{},"a":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}},"f":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047058823529411764},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}},"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.0017006802721088435}}}}}}}}}}}}}}}}}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"1":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"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":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}},".":{"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":2.528985507246377},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812}}}}}}}}}}},"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.0014936519790888724}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{},"e":{"docs":{},"r":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.03488372093023256},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"t":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.05555555555555555}},"s":{"docs":{},":":{"1":{"1":{"1":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"8":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}},"7":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"9":{"docs":{"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996}}},"docs":{}},"2":{"3":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"4":{"docs":{"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996}}},"5":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"3":{"7":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"4":{"2":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"5":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"6":{"9":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"7":{"docs":{"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"8":{"6":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294}}},"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01157580283793876},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}}}}},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"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.0003734129947722181}}}}}}}},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}},"n":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"r":{"docs":{},"e":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.013368983957219251}},"b":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"l":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},".":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}},"s":{"docs":{},":":{"2":{"9":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"docs":{}},"6":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}},"docs":{}}}}}}}}}}}},"t":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"/":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"d":{"docs":{},"d":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}}}}}}},"o":{"docs":{},"m":{"docs":{},"e":{"docs":{"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}},"c":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}}}}}}}},"o":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}},"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.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005227781926811053},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308}},":":{"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.0017006802721088435}},"/":{"docs":{},"#":{"docs":{},"/":{"docs":{},"h":{"docs":{},"o":{"docs":{},"m":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{},"/":{"docs":{},"s":{"docs":{},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"s":{"docs":{},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}}}}}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"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.0017006802721088435}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0017006802721088435}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}}}}},"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":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}}},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.024390243902439025},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.013368983957219251}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00597460791635549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.029411764705882353},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.021551724137931036},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.0625},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":1.6666666666666665},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"'":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.02727272727272727},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02304147465437788},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}}}}}}},"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.0003734129947722181},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"e":{"docs":{},"r":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"l":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004480955937266617},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.119241192411924},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}},"c":{"docs":{},"i":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.015306122448979591},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.16279069767441862},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}},"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.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}}},"n":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}},"f":{"docs":{},"o":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.03260869565217391},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03488372093023256},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.0449438202247191},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.0449438202247191},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"r":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04}}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"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.007352941176470588}},"(":{"docs":{},"j":{"docs":{},"w":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"i":{"docs":{},"t":{"docs":{},"i":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.057971014492753624},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.057971014492753624}},"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.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04}},"(":{"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"l":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}},"n":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"e":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.05128205128205128},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0273972602739726},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"t":{"docs":{},"r":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}}},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.008771929824562},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.012931034482759}}}}},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.05128205128205128}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}},"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.001120238984317},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.035294117647059}}}}}},"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.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403}}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"_":{"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}},".":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"(":{"docs":{},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"d":{"docs":{},"a":{"docs":{},"t":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}},"n":{"docs":{},"'":{"docs":{},"t":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879}},"e":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"w":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"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":{},"m":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}},"t":{"docs":{},"y":{"docs":{},"l":{"docs":{},"e":{"docs":{},".":{"docs":{},"v":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}},"g":{"docs":{},"n":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}},"j":{"docs":{},"a":{"docs":{},"v":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}}},"s":{"docs":{},"r":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"s":{"docs":{},"a":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}}}}}}},"o":{"docs":{},"n":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},".":{"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.0003734129947722181}},"s":{"docs":{},"j":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02005730659025788},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}},"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.003401360544217687},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":5.005730659025788}}}}}}}}}}}}}}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04871060171919771}},"c":{"docs":{},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}}}}},"o":{"docs":{},"b":{"docs":{},"j":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}},"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.0028653295128939827}}}}}}}},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}},"e":{"docs":{},"p":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}},"v":{"docs":{},"i":{"docs":{},"n":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.022922636103151862}}},"c":{"docs":{},"k":{"docs":{"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"n":{"docs":{},"o":{"docs":{},"w":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"/":{"docs":{},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}},"t":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}}}}},"l":{"docs":{},"e":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}},"g":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"overview.html":{"ref":"overview.html","tf":0.041666666666666664}}}}},"a":{"docs":{},"c":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.05128205128205128}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}},"a":{"docs":{},"d":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}},"i":{"docs":{},"b":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.0625},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"r":{"docs":{},"a":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.119241192411924},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}}}},"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.0007468259895444362},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}},"f":{"docs":{},"e":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}}}},"n":{"docs":{},"e":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}},"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.0007468259895444362}},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}},"(":{"docs":{},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"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.0014936519790888724}}}}}}}}}}}},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.017241379310344827}}}}},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}},"c":{"docs":{},"a":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"h":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},":":{"docs":{},"[":{"8":{"0":{"8":{"0":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653}}},"docs":{}},"docs":{}},"docs":{}},"docs":{}}}}}}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"o":{"docs":{},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"g":{"docs":{},"i":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}}}}}}}},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.015306122448979591},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":2.5625},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.024390243902439025},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.02586206896551724},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"_":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}},")":{"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.0003734129947722181}}}}}}}}}}}}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":5.006849315068493},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}},"o":{"docs":{},"f":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}},"(":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"_":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"i":{"docs":{},"n":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"o":{"docs":{},"k":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"c":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},".":{"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"a":{"docs":{},"n":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}},"f":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"u":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"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.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.021739130434782608},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.023255813953488372},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02247191011235955},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.02247191011235955},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.18181818181818182},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.1111111111111111},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.15384615384615385},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.08},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.0625},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.09090909090909091},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.08},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.028985507246376812},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.1},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"i":{"docs":{},"n":{"docs":{},"g":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949}}}}}}}}},"[":{"0":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}}}}}}}}}}}},"x":{"docs":{},"/":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}}}}}}}},"k":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"p":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}},"i":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}}}}},"e":{"docs":{},"a":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}},"t":{"docs":{},"h":{"docs":{},"o":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037341299477221808},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.05128205128205128},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}},"a":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}},"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.0011202389843166542},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"e":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"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.011627906976744},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}},"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.023255813953488372}}}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"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.0014936519790888724}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"c":{"docs":{},"e":{"docs":{},"l":{"docs":{},"l":{"docs":{},"a":{"docs":{},"n":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":3.424242424242424},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":3.3888888888888884},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":3.433333333333333}}}}}}}}},"n":{"docs":{},"d":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{},"i":{"docs":{},"p":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.043478260869565216},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.043478260869565216}}}}}},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}},"/":{"docs":{},".":{"docs":{},"n":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.015306122448979591},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01194921583271098},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.017191977077363897},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}},"e":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}},"x":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"g":{"docs":{},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.03488372093023256}}}}}}}},"o":{"docs":{},"t":{"docs":{},"i":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818}},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}},"c":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"h":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253}}},"e":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}},"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.0026138909634055266},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"e":{"docs":{},"i":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}}}}}}},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"m":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745}},".":{"docs":{},"g":{"docs":{},"e":{"docs":{},"t":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}},"p":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.03260869565217391},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03488372093023256},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.033707865168539325},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.033707865168539325},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":5.025316455696203}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"b":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"2":{"docs":{"index.html":{"ref":"index.html","tf":0.023809523809523808},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}},"/":{"docs":{},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}},"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308}},"m":{"docs":{},"o":{"docs":{},"d":{"docs":{},"u":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"modules.html":{"ref":"modules.html","tf":0.1},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":5.034883720930233}},"e":{"docs":{},".":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"o":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.013605442176870748},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":5.000746825989545},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":5.0093023255813955},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}},"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.0003734129947722181},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":5.022471910112359}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}},"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.0011202389843166542}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":5.021739130434782},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"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.0007468259895444362}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}},")":{"docs":{},".":{"docs":{},"f":{"docs":{},"i":{"docs":{},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05434782608695652},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":5.058139534883721},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.056179775280898875},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.056179775280898875}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":5.022471910112359},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"(":{"docs":{},"'":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047058823529411764},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.043478260869565216},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.023255813953488372},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02247191011235955},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.02247191011235955},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.03508771929824561},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.04310344827586207},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},".":{"docs":{},"a":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"g":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745}},"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.0003734129947722181}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"i":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.027210884353741496},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"/":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},".":{"docs":{},"\\":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"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.0003734129947722181},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}},"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.0003734129947722181},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.0625}}}}}}}}}}}}}},"p":{"docs":{},"e":{"docs":{},"n":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}},"t":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00597460791635549},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}},"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.0003734129947722181}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}},"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.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"i":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":2.0172413793103448}}}}}},"d":{"docs":{},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{},"w":{"docs":{},"i":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"license.html":{"ref":"license.html","tf":0.010526315789473684},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}}}}}}}}}}},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"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.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}},"p":{"docs":{},"u":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}}},"w":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}},"v":{"docs":{},"i":{"docs":{},"e":{"docs":{},"w":{"docs":{"overview.html":{"ref":"overview.html","tf":10.041666666666666}}}}}},"r":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.028985507246376812},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812}}}}}}}},"f":{"docs":{},"(":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"f":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{},"e":{"docs":{},"_":{"docs":{},"a":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}}}}}}}}}}}},"k":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}},"p":{"docs":{},"a":{"docs":{},"g":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":2.5},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":1.6666666666666665},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":1.6666666666666665},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":2.5},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":2},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":3.333333333333333},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":2.5},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":1.6666666666666665},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":2.5},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.119241192411924},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":2.5},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":2.0086206896551726},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":2}}}},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04}},"w":{"docs":{},"o":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.009708737864077669},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":2.0240641711229945}}},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}}}},"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.0017006802721088435}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}},"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.0003734129947722181}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"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.0003734129947722181}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00597460791635549},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.021739130434782608},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037341299477221808},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":2.090909090909091}}}},"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.0028653295128939827}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"h":{"docs":{},"e":{"docs":{},"a":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"e":{"docs":{},"r":{"docs":{},"[":{"docs":{},"'":{"docs":{},"a":{"docs":{},"l":{"docs":{},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"k":{"docs":{},"i":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"s":{"docs":{},"[":{"docs":{},"'":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}}}},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},"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.0014936519790888724},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":5.008771929824562}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.023529411764705882}},"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.023529411764705882}}}}}}}}}}}}}}}}}}}}}}}},"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":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}},"docs":{}},"docs":{}}}}}}},"docs":{}},"docs":{}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03529411764705882}}}}},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"license.html":{"ref":"license.html","tf":0.021052631578947368},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}},"p":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.028985507246376812},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}},"i":{"docs":{},"o":{"docs":{},"d":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}},"o":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"b":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}},"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":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"r":{"docs":{},"i":{"docs":{},"v":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.017923823749066467},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"t":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008215085884988798},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0273972602739726},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.02304147465437788},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.015209125475285171},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}}}}}}},"v":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"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.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"e":{"docs":{},"r":{"docs":{},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"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.0007468259895444362}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}}}}}}}}}}}}},"m":{"docs":{},"i":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.00784167289021658},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}},"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.0022404779686333084}}}}}}}}}},".":{"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.0003734129947722181}}}}}},"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.0028653295128939827}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399}},"o":{"docs":{},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"l":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"e":{"docs":{},"(":{"docs":{},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266}}}}}}}}}}}}}}}}},"p":{"docs":{},"t":{"docs":{},"=":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004480955937266617},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"'":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}}},"e":{"docs":{},"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.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":1.7066666666666666}}}}}},"v":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.02875280059746079},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.07058823529411765},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.057692307692307696},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.02843601895734597},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}},"s":{"docs":{},"h":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"r":{"docs":{},"p":{"docs":{},"o":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}}}},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.07692307692307693},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0106951871657754}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":2.0454545454545454}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}},"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.011764705882352941}}}}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"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.023529411764705882}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"r":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.005227781926811053},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.02054794520547945},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.018604651162790697},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"e":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017123287671232876},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.023255813953488372},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":5.027649769585254},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508}}}}}}},"_":{"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"m":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}}}}},"d":{"docs":{},"h":{"docs":{},"a":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}},"t":{"docs":{},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.028985507246376812},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827}},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.011904761904761904},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037341299477221808},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":3.371356147021546},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},".":{"docs":{},"h":{"docs":{},"t":{"docs":{},"m":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"\"":{"docs":{},";":{"docs":{},"p":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"s":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}}}}},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}}}}}}}}}}}},"g":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}}},"i":{"docs":{},"s":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"e":{"docs":{},"r":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}}},"u":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}},"l":{"docs":{},"a":{"docs":{},"x":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}},"y":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"q":{"docs":{},"u":{"docs":{},"e":{"docs":{},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":1.7466666666666666},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},"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.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.1111111111111111}},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}},"(":{"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.0028653295128939827}}}}}}}}}}}}}}}}}},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}},"l":{"docs":{},"v":{"docs":{},"e":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"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.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037341299477221808},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.023529411764705882},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.021739130434782608},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.023255813953488372},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.02247191011235955},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.02247191011235955},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.18181818181818182},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.1111111111111111},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.2},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.15384615384615385},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.08},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.0625},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.09090909090909091},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.08},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.028985507246376812},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.1},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},".":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"c":{"docs":{},"l":{"docs":{},"a":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}},"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}}}}}},"a":{"docs":{},"r":{"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":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"e":{"docs":{},"_":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}},"d":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.04294249439880508},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.058823529411764705},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.03724928366762178},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.05063291139240506},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.018957345971563982},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}},"r":{"docs":{},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02005730659025788}}}}},"a":{"docs":{},"s":{"docs":{},"o":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.021739130434782608},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}},"d":{"docs":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}},"o":{"docs":{},"n":{"docs":{},"l":{"docs":{},"i":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05434782608695652},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05813953488372093},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.056179775280898875},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.056179775280898875}}}}}},"m":{"docs":{"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":0.07692307692307693},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}},"(":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}}}}}}}}}},"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.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":2.5579710144927534},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.057971014492753624},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.043478260869565216},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.043478260869565216}},"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":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"t":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}},"u":{"docs":{},"l":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"n":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}},"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.02531645569620253}}}}},"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.011627906976744186}}}},"r":{"docs":{},"a":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}}}}}}}}}}}}},"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.011627906976744186}}}}}},"o":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}},"r":{"docs":{},"s":{"docs":{},"t":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}}}}},"m":{"docs":{},"a":{"docs":{},"p":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}}},"p":{"docs":{},"u":{"docs":{},"b":{"docs":{},"l":{"docs":{},"i":{"docs":{},"s":{"docs":{},"h":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}}}}}}},"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.011627906976744186}}}}}}}}}}}}}}}}}}}}}}},"o":{"docs":{},"b":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"s":{"docs":{},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}},".":{"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.0018670649738610904}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}},"s":{"2":{"5":{"6":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"3":{"8":{"4":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"5":{"1":{"2":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"docs":{}},"docs":{}},"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.1111111111111111}},".":{"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.0028653295128939827}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}},"s":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"e":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}},"v":{"docs":{},"e":{"docs":{},"i":{"docs":{},"m":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"d":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}}}}}}},"k":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"f":{"docs":{},"e":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}},"c":{"docs":{},"a":{"docs":{},"f":{"docs":{},"f":{"docs":{},"o":{"docs":{},"l":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"o":{"docs":{},"p":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},".":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"o":{"docs":{},"n":{"docs":{},"d":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.026737967914438502}}}}},"u":{"docs":{},"r":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}},"l":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}},"n":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}},"s":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"r":{"docs":{},"v":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.02586206896551724},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.016042780748663103}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}},".":{"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.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},"i":{"docs":{},"t":{"docs":{},"y":{"docs":{},"/":{"docs":{},"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":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}},".":{"docs":{},"w":{"docs":{},"e":{"docs":{},"l":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}},"e":{"docs":{},".":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"s":{"docs":{},":":{"1":{"0":{"6":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"9":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"1":{"0":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"1":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"2":{"4":{"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"5":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"6":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"7":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"8":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"3":{"0":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"2":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"3":{"4":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"7":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"4":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"5":{"2":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"2":{"7":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"9":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"4":{"3":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"5":{"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"5":{"0":{"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"3":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"5":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"6":{"3":{"7":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"5":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"9":{"3":{"8":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"8":{"9":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}},"docs":{}},"docs":{}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.009615384615384616},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":2.5545454545454547}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745}},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}},"_":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818}},"a":{"docs":{},"t":{"docs":{},"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":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0007468259895444362}}}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.008012820512820512},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.019011406844106463},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.016260162601626018},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.013368983957219251}},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"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":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},".":{"docs":{},"b":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"(":{"docs":{},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349}},"(":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}},"a":{"docs":{},"r":{"docs":{},"c":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},".":{"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.0007468259895444362}}}},"s":{"docs":{},"e":{"docs":{},"c":{"docs":{},"r":{"docs":{},"e":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}},"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.011764705882352941}}}}}}}}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}},"n":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}},"r":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}},"docs":{}},"docs":{}},"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"l":{"docs":{},"l":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}},"i":{"docs":{},"p":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"i":{"docs":{},"d":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"g":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}},"a":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.011029411764705883},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":1.697084917617237},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"_":{"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.0003734129947722181},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}},"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.0007468259895444362},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"h":{"docs":{},"o":{"docs":{},"w":{"docs":{},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}},"i":{"docs":{},"f":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{},"e":{"docs":{},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}},"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":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}}}}}}}}}}}}}}}}},"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":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}},"i":{"docs":{},"l":{"docs":{},"a":{"docs":{},"r":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}},"n":{"docs":{},"i":{"docs":{},"p":{"docs":{},"p":{"docs":{},"e":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}},"f":{"docs":{},"t":{"docs":{},"w":{"docs":{},"a":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.09473684210526316}}}}}}},"l":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}},"m":{"docs":{},"e":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"u":{"docs":{"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}}}}}}}}},"p":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.015209125475285171},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.024390243902439025},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.02586206896551724},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.013368983957219251}},"'":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"e":{"docs":{},"c":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},"i":{"docs":{},"f":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},"i":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":3.336734693877551},"license.html":{"ref":"license.html","tf":3.333333333333333},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/getting-started.html":{"ref":"additional-documentation/getting-started.html","tf":2.6538461538461537},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}},"u":{"docs":{},"p":{"docs":{"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"t":{"docs":{},"u":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"i":{"docs":{},"c":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186}}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008588498879761016},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03225806451612903},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.013157894736842105},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":1.7866666666666666},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}},".":{"docs":{},"s":{"docs":{},"p":{"docs":{},"l":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}},"/":{"docs":{},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"s":{"docs":{},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"[":{"0":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"docs":{}}}}}}}}},"n":{"docs":{},"d":{"docs":{},"a":{"docs":{},"r":{"docs":{},"d":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"r":{"docs":{},"e":{"docs":{},"a":{"docs":{},"m":{"docs":{},"l":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}},"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.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.015309932785660941},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.047058823529411764},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.04044117647058824},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.00641025641025641},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.04011461318051576},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.04794520547945205},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.07906976744186046},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.08294930875576037},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.07894736842105263},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.04741379310344827},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}}},"u":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}},"e":{"docs":{},"y":{"docs":{},"e":{"docs":{},"r":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},"(":{"docs":{},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"c":{"docs":{},"c":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}},"f":{"docs":{},"u":{"docs":{},"l":{"docs":{},"l":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}},"e":{"docs":{},"d":{"docs":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04}}}}}},"h":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"i":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"p":{"docs":{},"p":{"docs":{},"o":{"docs":{},"r":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"modules.html":{"ref":"modules.html","tf":0.1},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}},"e":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"(":{"docs":{},"t":{"docs":{},"y":{"docs":{},"p":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.03260869565217391},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.03488372093023256},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.033707865168539325},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.033707865168539325}}}}}}}}},"b":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}},"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.0018670649738610904}}}}}},"l":{"docs":{},"i":{"docs":{},"c":{"docs":{},"e":{"docs":{},"n":{"docs":{},"s":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.010526315789473684}}}}}}},"c":{"docs":{},"r":{"docs":{},"i":{"docs":{},"b":{"docs":{},"e":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}}},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}},"r":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"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.011627906976744186}}}}}}}}},"o":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01194921583271098}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.03529411764705882}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.017191977077363897},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.03017241379310345},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.05555555555555555}},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.05555555555555555}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{},"s":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}},"s":{"docs":{},":":{"1":{"2":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"8":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"2":{"6":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"3":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"4":{"3":{"docs":{"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.003424657534246575}}},"docs":{}},"5":{"3":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674}}},"4":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674}}},"5":{"docs":{"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674}}},"docs":{}},"6":{"3":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"4":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"5":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"6":{"docs":{"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576}}},"docs":{}},"7":{"3":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"4":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"5":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"6":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"7":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"8":{"docs":{"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}},"docs":{}},"docs":{}}}}}}}}}},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},".":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}},"s":{"docs":{},":":{"2":{"4":{"8":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}},"docs":{}},"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1}},"s":{"docs":{},":":{"2":{"3":{"docs":{"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186}}},"9":{"docs":{"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}},"docs":{}},"3":{"8":{"docs":{"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775}}},"docs":{}},"4":{"7":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304}}},"docs":{}},"docs":{}}}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}},"docs":{}},"docs":{}}}}}}}},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"c":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}},"k":{"docs":{},"i":{"docs":{},"p":{"docs":{"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"y":{"docs":{},"s":{"docs":{},"t":{"docs":{},"e":{"docs":{},"m":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}}}}}}},"j":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":2.6}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"s":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}},"k":{"docs":{},"e":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}},"n":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}},"e":{"docs":{},"m":{"docs":{},"p":{"docs":{},"l":{"docs":{},"a":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}},"e":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.01020408163265306}},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},"n":{"docs":{},"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.0011202389843166542}}}}}}}}}}}}}}},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}}}}}},"x":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"r":{"docs":{},"m":{"docs":{},"i":{"docs":{},"n":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}},"h":{"docs":{},"i":{"docs":{},"s":{"docs":{},".":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"w":{"docs":{},"i":{"docs":{},"t":{"docs":{},"h":{"docs":{},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"a":{"docs":{},"p":{"docs":{},"i":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}}}}}}},"(":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"p":{"docs":{},"e":{"docs":{},"r":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{},"m":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}},"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":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"e":{"docs":{},"(":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"h":{"docs":{},"c":{"docs":{},"o":{"docs":{},"n":{"docs":{},"f":{"docs":{},"i":{"docs":{},"g":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}}}}}}}}}},"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":{"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456}}}}}}}}}}}}}}}}},"l":{"docs":{},"i":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{},"d":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}},"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.003401360544217687}}}}}}}}}}}}},"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.0017006802721088435},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}},"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.0017006802721088435}},"(":{"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":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}},"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":{},"a":{"docs":{},"n":{"docs":{},"d":{"docs":{},"t":{"docs":{},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"s":{"docs":{},"e":{"docs":{},"r":{"docs":{},"p":{"docs":{},"r":{"docs":{},"o":{"docs":{},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}},"g":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}}}}},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"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.0017006802721088435}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":0.04},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"t":{"docs":{},"u":{"docs":{},"p":{"docs":{},"a":{"docs":{},"u":{"docs":{},"t":{"docs":{},"o":{"docs":{},"m":{"docs":{},"a":{"docs":{},"t":{"docs":{},"i":{"docs":{},"c":{"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":{},"(":{"docs":{},")":{"docs":{},";":{"docs":{},"b":{"docs":{},"i":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}}}}}}}}}}}}}}}},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}},"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":{"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04}}}}}}}}}}}},"f":{"docs":{},"i":{"docs":{},"l":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"(":{"docs":{"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}}}}}},"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":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}}},"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":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}}}}}}}}}}}}},"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":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}},"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":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745}}}}}},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"_":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"_":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"_":{"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.0007468259895444362}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"_":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}},"d":{"docs":{},"e":{"docs":{},"b":{"docs":{},"u":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"(":{"docs":{},"'":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"g":{"docs":{},"o":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"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.0003734129947722181}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"i":{"docs":{},"s":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{},"e":{"docs":{},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}}},"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.0007468259895444362}},"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.0003734129947722181}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0014936519790888724}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"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.0011202389843166542}}}}}}}}}},"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.0003734129947722181}}}}}}}}}},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"t":{"docs":{},"(":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}},"n":{"docs":{},"e":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0074682598954443615}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"u":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}},"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.0011202389843166542}}}}}}}}}}}}},"i":{"docs":{},"d":{"docs":{},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"i":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}}}}},"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"s":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0022404779686333084}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"s":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}},"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":{},"(":{"docs":{},"(":{"docs":{},"d":{"docs":{},"o":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"s":{"docs":{},"(":{"docs":{},")":{"docs":{},".":{"docs":{},"t":{"docs":{},"h":{"docs":{},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"(":{"docs":{},"t":{"docs":{},"r":{"docs":{},"u":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},".":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}},"1":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}},"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.011764705882352941}}}}}}}}}}}}}}}}}}}}}}},"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.0011202389843166542}}}}}}}}}}},"m":{"docs":{},"o":{"docs":{},"v":{"docs":{},"e":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0037341299477221808}}}}}}}}}}}}}}}},"i":{"docs":{},"r":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{},"t":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}},"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.0011202389843166542}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"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":{},"r":{"docs":{},"i":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"s":{"docs":{},"i":{"docs":{},"f":{"docs":{},"s":{"docs":{},"t":{"docs":{},"i":{"docs":{},"l":{"docs":{},"l":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"d":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"g":{"docs":{},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},".":{"docs":{},"n":{"docs":{},"a":{"docs":{},"v":{"docs":{},"i":{"docs":{},"g":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"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.0018670649738610904}}}}}}}}}}}}},"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.0007468259895444362}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}},"n":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}}}}}}}}}}}},"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":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{},"a":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"i":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"t":{"docs":{},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},"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.0003734129947722181}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}},"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.0018670649738610904}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}},"u":{"docs":{},"b":{"docs":{},"j":{"docs":{},"e":{"docs":{},"c":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"a":{"docs":{},"r":{"docs":{},"t":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"o":{"docs":{},"p":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"c":{"docs":{},"k":{"docs":{},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{},"e":{"docs":{},"(":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}},"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.0007468259895444362}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}},"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.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}},"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.0007468259895444362}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{},"r":{"docs":{},"l":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{},"s":{"docs":{},"_":{"docs":{},"u":{"docs":{},"r":{"docs":{},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0028653295128939827}}}}}}}}}}}}}}}}}}}}}}}}},"w":{"docs":{},"a":{"docs":{},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"d":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}},"r":{"docs":{},"e":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004107542942494399},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.014326647564469915},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}},"a":{"docs":{},"t":{"docs":{},".":{"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}},"t":{"docs":{},"o":{"docs":{},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}},"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.0003734129947722181}},".":{"docs":{},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"e":{"docs":{},"x":{"docs":{},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}},"o":{"docs":{},"i":{"docs":{},"d":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"o":{"docs":{},"u":{"docs":{},"r":{"docs":{},"c":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"s":{"docs":{},"c":{"docs":{},"o":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}},"t":{"docs":{},"a":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}},"'":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}},"n":{"docs":{},"k":{"docs":{"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":0.05}}}}},"e":{"docs":{},"n":{"docs":{},"(":{"docs":{},"_":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"u":{"docs":{},"l":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}},"l":{"docs":{},"o":{"docs":{},"a":{"docs":{},"d":{"docs":{},"e":{"docs":{},"d":{"docs":{},"k":{"docs":{},"e":{"docs":{},"y":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}}}}}}}}}}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}},"r":{"docs":{},"e":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}},"o":{"docs":{},"u":{"docs":{},"g":{"docs":{},"h":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}}},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.011461318051575931},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}},"f":{"docs":{},"a":{"docs":{},"c":{"docs":{},"t":{"docs":{},"o":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{},"a":{"docs":{},"m":{"docs":{},"p":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}},"p":{"docs":{},"a":{"docs":{},"n":{"docs":{"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}}}},"o":{"docs":{},"g":{"docs":{},"e":{"docs":{},"h":{"docs":{},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}},"k":{"docs":{},"e":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.013605442176870748},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.046511627906976744},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006348020911127707},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.023972602739726026},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.027906976744186046},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.03225806451612903},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.021929824561403508},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":1.7008871989860581},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.01871657754010695}},"_":{"docs":{},"e":{"docs":{},"x":{"docs":{},"p":{"docs":{},"i":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}},"r":{"docs":{},"e":{"docs":{},"c":{"docs":{},"e":{"docs":{},"i":{"docs":{},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}},"f":{"docs":{},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}},"t":{"docs":{},"i":{"docs":{},"m":{"docs":{},"e":{"docs":{},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}},"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}},"r":{"docs":{},"e":{"docs":{},"s":{"docs":{},"p":{"docs":{},"o":{"docs":{},"n":{"docs":{},"s":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}},"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.0007468259895444362}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}},"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.0033607169529499626},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.00684931506849315},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015}}}}}}}}}}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"docs":{},"l":{"docs":{},"e":{"docs":{},"n":{"docs":{},"g":{"docs":{},"t":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}},"s":{"docs":{},"u":{"docs":{},"b":{"docs":{},"s":{"docs":{},"t":{"docs":{},"r":{"docs":{},"(":{"0":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}},"docs":{}}}}}}}}},"b":{"docs":{},"a":{"docs":{},"s":{"docs":{},"e":{"6":{"4":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},".":{"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}},"docs":{}},"docs":{}}}}}}}}},"'":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}},"(":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}},"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.0003734129947722181}}}}}}}},"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.0057306590257879654}},"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.0057306590257879654}}}}}}}}}}}}}}}}}}}}}}}}}}},"r":{"docs":{},"u":{"docs":{},"e":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.004480955937266617},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.003676470588235294},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.009615384615384616},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.012658227848101266},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.009302325581395349},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.009216589861751152},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.008771929824561403},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}},")":{"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.0003734129947722181}}}}}}}}}}}}},"s":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}}},"a":{"docs":{},"n":{"docs":{},"s":{"docs":{},"m":{"docs":{},"i":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/custom-query-parameters.html":{"ref":"additional-documentation/custom-query-parameters.html","tf":0.045454545454545456},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}}},"i":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"g":{"docs":{},"g":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928}}}}}}},"y":{"docs":{},"l":{"docs":{},"o":{"docs":{},"g":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.010273972602739725},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}},"(":{"docs":{},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}}}}}}}},"y":{"docs":{},"p":{"docs":{},"e":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0048543689320388345},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017123287671232876},"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.05434782608695652},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.05813953488372093},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.056179775280898875},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.056179775280898875},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.02631578947368421},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.02586206896551724},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.05555555555555555},"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":0.1},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}},"o":{"docs":{},"f":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0018670649738610904}}}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"a":{"docs":{},"s":{"docs":{"miscellaneous/typealiases.html":{"ref":"miscellaneous/typealiases.html","tf":6.666666666666666}}}}}}}}}},"s":{"docs":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"u":{"docs":{},"p":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}},"r":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.010828976848394324},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.009615384615384616},"additional-documentation/preserving-state-(like-the-requested-url).html":{"ref":"additional-documentation/preserving-state-(like-the-requested-url).html","tf":1.7466666666666666},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.032520325203252036},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}},"h":{"docs":{},"e":{"docs":{},"l":{"docs":{},"p":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}},"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.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542},"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":5.023529411764706}}}}}}}}}}}}}},".":{"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.0003734129947722181}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"c":{"docs":{},"o":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}},"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.0011202389843166542}}}}}}}}}}}}}},"i":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.028985507246376812},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.028985507246376812}}}},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.02891156462585034},"license.html":{"ref":"license.html","tf":0.021052631578947368},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01344286781179985},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.022058823529411766},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0673076923076923},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.03767123287671233},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.03255813953488372},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.027649769585253458},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.02631578947368421},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.026615969581749048},"additional-documentation/events.html":{"ref":"additional-documentation/events.html","tf":0.04},"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.043478260869565216},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.043478260869565216},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.024390243902439025},"additional-documentation/using-systemjs.html":{"ref":"additional-documentation/using-systemjs.html","tf":2.55},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":2.0614973262032086}},"e":{"docs":{},"c":{"docs":{},"a":{"docs":{},"s":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.01020408163265306},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.008588498879761016},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.015209125475285171},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.024390243902439025},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.034482758620689655},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0213903743315508}},"i":{"docs":{},"n":{"docs":{},"f":{"docs":{},"o":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}},"_":{"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.0003734129947722181}}}}}}}}}}},"e":{"docs":{},"n":{"docs":{},"d":{"docs":{},"p":{"docs":{},"o":{"docs":{},"i":{"docs":{},"n":{"docs":{},"t":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}}}}}}}}}}},"n":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0037341299477221808}},"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.0017006802721088435}}},"t":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}}}}}}}}}},"_":{"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.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}},"_":{"docs":{},"e":{"docs":{},"r":{"docs":{},"r":{"docs":{},"o":{"docs":{},"r":{"docs":{"classes/OAuthErrorEvent.html":{"ref":"classes/OAuthErrorEvent.html","tf":0.010869565217391304},"classes/OAuthEvent.html":{"ref":"classes/OAuthEvent.html","tf":0.011627906976744186},"classes/OAuthInfoEvent.html":{"ref":"classes/OAuthInfoEvent.html","tf":0.011235955056179775},"classes/OAuthSuccessEvent.html":{"ref":"classes/OAuthSuccessEvent.html","tf":0.011235955056179775}}}}}}}}}}}}}}}}}}}}},"'":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.00267379679144385}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"additional-documentation/routing-with-the-hashstrategy.html":{"ref":"additional-documentation/routing-with-the-hashstrategy.html","tf":0.014492753623188406},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":0.014492753623188406}}}}}}}},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}}}}},"d":{"docs":{},"e":{"docs":{},"f":{"docs":{},"i":{"docs":{},"n":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0014936519790888724},"miscellaneous/functions.html":{"ref":"miscellaneous/functions.html","tf":0.09090909090909091}}}}}}}}},"v":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.023255813953488372},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.006721433905899925},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.025735294117647058},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.02865329512893983},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.017123287671232876},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.12658227848101267},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.013953488372093023},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.013824884792626729},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.037914691943127965},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.021551724137931036},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.05555555555555555},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125},"additional-documentation/configure/-adapt-id_token-validation.html":{"ref":"additional-documentation/configure/-adapt-id_token-validation.html","tf":1.6666666666666665}},"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.0017006802721088435},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.002987303958177745},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.004651162790697674},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.004608294930875576},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":5.018957345971564},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.0043859649122807015},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.01293103448275862}}}}}}},"/":{"docs":{},"j":{"docs":{},"w":{"docs":{},"k":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.017191977077363897},"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":0.05555555555555555}}}}},"n":{"docs":{},"u":{"docs":{},"l":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.0379746835443038}}}}},"v":{"docs":{},"a":{"docs":{},"l":{"docs":{},"i":{"docs":{},"d":{"docs":{"modules/OAuthModule.html":{"ref":"modules/OAuthModule.html","tf":0.011627906976744186},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.01838235294117647},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.03017241379310345}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.025735294117647058},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.008595988538681949},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.06329113924050633},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.03317535545023697},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":5.025862068965517}}}}}}},"o":{"docs":{},"p":{"docs":{},"t":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}},"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.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"a":{"docs":{},"t":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.014705882352941176},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}},"(":{"docs":{},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}},"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.003676470588235294},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}}}}}}},"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.007352941176470588},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.009478672985781991}},"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.011029411764705883},"classes/NullValidationHandler.html":{"ref":"classes/NullValidationHandler.html","tf":0.02531645569620253},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.014218009478672985},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.008620689655172414}}}}}}}}}}}}}}}}},"p":{"docs":{},"a":{"docs":{},"r":{"docs":{},"a":{"docs":{},"m":{"docs":{"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654}}}}}}}}}}}}}}}}}}}}}},"u":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941},"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.004807692307692308},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0076045627376425855}},"e":{"docs":{},"t":{"docs":{},"o":{"docs":{},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"classes/AbstractValidationHandler.html":{"ref":"classes/AbstractValidationHandler.html","tf":0.007352941176470588},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0028653295128939827}},"i":{"docs":{},"a":{"docs":{},"b":{"docs":{},"l":{"docs":{"miscellaneous/variables.html":{"ref":"miscellaneous/variables.html","tf":6.722222222222221}}}}}}}},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.006802721088435374},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909}}}}}}}},"i":{"docs":{},"a":{"docs":{"index.html":{"ref":"index.html","tf":0.008503401360544218},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}},"o":{"docs":{},"u":{"docs":{},"c":{"docs":{},"h":{"docs":{},"e":{"docs":{},"r":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.00909090909090909},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}}}},"i":{"docs":{},"d":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.01194921583271098},"classes/LoginOptions.html":{"ref":"classes/LoginOptions.html","tf":0.0136986301369863},"classes/OAuthStorage.html":{"ref":"classes/OAuthStorage.html","tf":0.027906976744186046},"classes/ReceivedTokens.html":{"ref":"classes/ReceivedTokens.html","tf":0.018433179723502304},"interfaces/ParsedIdToken.html":{"ref":"interfaces/ParsedIdToken.html","tf":0.017543859649122806}}}}},"u":{"docs":{},"l":{"docs":{},"n":{"docs":{},"e":{"docs":{},"r":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.003205128205128205}}}}}}}},"w":{"docs":{},"e":{"docs":{},"'":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"b":{"docs":{"index.html":{"ref":"index.html","tf":0.003401360544217687},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025},"classes/JwksValidationHandler.html":{"ref":"classes/JwksValidationHandler.html","tf":0.0057306590257879654},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}},"p":{"docs":{},"a":{"docs":{},"c":{"docs":{},"k":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"l":{"docs":{},"l":{"docs":{"index.html":{"ref":"index.html","tf":0.00510204081632653},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/callback-after-login.html":{"ref":"additional-documentation/callback-after-login.html","tf":0.03125}}}}},"i":{"docs":{},"n":{"docs":{},"d":{"docs":{},"o":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}},".":{"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.0017006802721088435},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.011406844106463879},"additional-documentation/session-checks.html":{"ref":"additional-documentation/session-checks.html","tf":0.01818181818181818},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.008620689655172414}}}}}}}},"h":{"docs":{},"a":{"docs":{},"s":{"docs":{},"h":{"docs":{"injectables/UrlHelperService.html":{"ref":"injectables/UrlHelperService.html","tf":0.011764705882352941}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}},"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.0007468259895444362}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"t":{"docs":{},"h":{"docs":{},"i":{"docs":{},"n":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":0.008130081300813009},"additional-documentation/original-config-api.html":{"ref":"additional-documentation/original-config-api.html","tf":0.017241379310344827}}}},"o":{"docs":{},"u":{"docs":{},"t":{"docs":{"license.html":{"ref":"license.html","tf":0.031578947368421054},"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"ref":"additional-documentation/refreshing-a-token-(silent-refresh).html","tf":0.0038022813688212928},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"ref":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","tf":1.119241192411924},"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.008021390374331552}}}}}}}},"a":{"docs":{},"r":{"docs":{},"r":{"docs":{},"a":{"docs":{},"n":{"docs":{},"t":{"docs":{},"i":{"docs":{"license.html":{"ref":"license.html","tf":0.021052631578947368}}}}}}}},"i":{"docs":{},"t":{"docs":{},"f":{"docs":{},"o":{"docs":{},"r":{"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":{},"a":{"docs":{},"f":{"docs":{},"t":{"docs":{},"e":{"docs":{},"r":{"docs":{},"s":{"docs":{},"e":{"docs":{},"s":{"docs":{},"s":{"docs":{},"i":{"docs":{},"o":{"docs":{},"n":{"docs":{},"c":{"docs":{},"h":{"docs":{},"a":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0003734129947722181}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}},"n":{"docs":{},"t":{"docs":{"additional-documentation/using-password-flow.html":{"ref":"additional-documentation/using-password-flow.html","tf":0.0053475935828877}}}}},"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.0022404779686333084},"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.011217948717948718}}}}}}}},"o":{"docs":{},"r":{"docs":{},"k":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0011202389843166542}}}}},"r":{"docs":{},"o":{"docs":{},"n":{"docs":{},"g":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0026138909634055266}}}}}},"w":{"docs":{},"w":{"docs":{"injectables/OAuthService.html":{"ref":"injectables/OAuthService.html","tf":0.0007468259895444362}}}},"/":{"docs":{},"o":{"docs":{"classes/AuthConfig.html":{"ref":"classes/AuthConfig.html","tf":0.0016025641025641025}}}}},"y":{"docs":{},"o":{"docs":{},"u":{"docs":{},"'":{"docs":{},"v":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}}}}},"z":{"docs":{},"u":{"docs":{},"m":{"docs":{"index.html":{"ref":"index.html","tf":0.0017006802721088435}}}},"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.0003734129947722181}}}}}}}},"'":{"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.003676470588235294},"classes/ValidationHandler.html":{"ref":"classes/ValidationHandler.html","tf":0.004739336492890996},"interfaces/ValidationParams.html":{"ref":"interfaces/ValidationParams.html","tf":0.004310344827586207}}}}}}}}}}}}}}}}}}},"length":3451},"corpusTokens":["0","0.33","0.5","0.75","1","1.0","10","1000","12","1970","1_0.html#changenotif","2","2.1","20","20.000","2017","3","4","4202","4202]/index.html","4202]/silent","4711","4th","60","600","75","8089|4200","9]{3","_').replace(/=/g","_storag","abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789","abov","abstract","abstractvalidationhandl","access","access_token","accesstoken","accesstokentimeoutsubscript","accord","action","activ","actual","ad","adapt","add","addit","additionalst","adjust","against","alg","alg.charat(0","alg.match(/^.s[0","alg.substr(2","alg2kty(alg","algorithm","alias","allow","allowedalgorithm","alreadi","altern","although","and/or","angular","angular/common","angular/cor","angular/http","angular2","anoth","api","app","app.component.html","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","attack","audienc","auth","auth.config","auth_config","authconfig","author","authorization_endpoint","authorizationhead","automat","avail","avoid","b","b/c","b64decodeunicod","b64decodeunicode(claimsbase64","b64decodeunicode(headerbase64","b64decodeunicode(str","back","backend","base","base64","base64data","base64data.length","basi","bearer","beaugrand","befor","begin","below","best","better","between","boolean","bootstrap","both","break","bring","brows","browser","browser'","btoa(leftmosthalf","build","bundl","bypass","bytearrayasstr","c","calchash","calchash(valuetohash","calctimeout(expir","calcul","call","callback","callontokenreceivedifexists(opt","canperformsessioncheck","case","catch(_","catch(err","catch(error","catch(reason","chang","charg","check","check_session_ifram","checksess","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","claims['sub","claimsathash","claimsbase64","claimsjson","class","clear","clearaccesstokentim","clearhashafterlogin","clearidtokentim","clearinterval(this.sessionchecktim","cli","cli.json","client","client'","client_id","clientid","code","come","commonj","commonmodul","commun","compat","compens","compon","condit","config","configur","configure(config","configurewithnewconfigapi","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('your","console.debug(context","console.debug.apply(consol","console.error","console.error('actu","console.error('error","console.error('exptect","console.error('refresh","console.error(err","console.error(error","console.error(reason","console.warn","console.warn('checksess","console.warn('no","console.warn('sessionchecksen","console.warn(err","const","constructor","constructor(http","constructor(priv","constructor(typ","contain","context","contract","conveni","cooki","copi","copyright","core","cours","creat","createandsavenonc","createloginurl","createnonc","credenti","credit","current","custom","customhashfrag","customqueryparam","customredirecturi","damag","data","date","date.now","deal","debug","debug(...arg","declar","decodeuricomponent(hash","decodeuricomponent(parts['st","default","defin","delay(this.siletrefreshtimeout","delay(timeout","delet","deliv","delta","demand","demo","demonstr","dep","depend","depreact","deprec","describ","descript","design","detect","di","dicoveri","differ","directli","directori","disabl","disableathashcheck","disableoauth2statecheck","discoveri","discovery_document_load","discovery_document_load_error","discovery_document_validation_error","discoverydocu","discoverydocumentload","discoverydocumentloadedsubject","disoveri","display","distribut","do","do(e","doc","doc.authorization_endpoint","doc.check_session_ifram","doc.end_session_endpoint","doc.grant_types_support","doc.issu","doc.jwks_uri","doc.sub","doc.token_endpoint","doc.userinfo_endpoint","doc['check_session_ifram","doc['issu","document","document.body.appendchild(ifram","document.body.removechild(existingifram","document.createelement('ifram","document.getelementbyid(this.sessioncheckiframenam","document.getelementbyid(this.silentrefreshiframenam","doesn't","domain","don't","dosn't","downward","dummi","dummyclientsecret","dure","e","e.data","e.origin.tolowercas","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","end_session_endpoint","endpoint","endpont","enter","enum","environ","err","err));when","error","error('algorithm","error('array","error('can","error('cannot","error('createnonc","error('eith","error('loginurl","error('paramet","error('sil","error('tokenendpoint","error('userinfoendpoint","errors.length","errors.push('everi","errors.push('http","es256","es384","escapedkey","escapedvalu","even","event","eventlisten","events.t","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(","filter((","find","fire","first","fit","flight","flow","follow","form","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","getsessionst","give","good","graceperiod","graceperiodinsec","grant","granttypessupport","guid","half","hallo","handleloginerror(opt","handler","handler.t","handler.ts:11","handler.ts:111","handler.ts:118","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:69","handler.ts:7","handler.ts:8","handler.ts:86","handlesessionchang","handlesessionerror","handlesessionunchang","happen","hash","hash.indexof","hash.substr(1","hash.substr(questionmarkposit","hashalg","hashalg.digeststring(valuetohash","hashlocationstrategi","hashstrategi","hasvalidaccesstoken","hasvalididtoken","header","header.kid","headerbase64","headerjson","headers.set('author","headers.set('cont","helper","helper.servic","helper.service.t","helper.service.ts:29","helper.service.ts:6","helper.t","henc","here","herebi","hidden","his/her","holder","home","homecompon","hook","hs256","hs384","hs512","http","http://localhost:8080","http://localhost:8080/#/hom","http://openid.net/specs/openid","httpclient","httpheader","httpmodul","https://github.com/manfredsteyer/angular","https://manfredsteyer.github.io/angular","https://steyer","https://tools.ietf.org/html/rfc7517","httpscheck","iat","id","id_token","id_token'","id_token_hint","idclaim","ident","identityserv","idtoken","idtoken.idtoken","idtoken.idtokenclaimsjson","idtoken.idtokenexpiresat","idtoken.split","idtokenclaim","idtokenclaimsjson","idtokenexpiresat","idtokenhandl","idtokenhead","idtokenheaderjson","idtokentimeoutsubscript","ifram","iframe.contentwindow.postmessage(messag","iframe.id","iframe.setattribute('src","iframe.style.vis","ignor","implcit","implement","impli","implicit","import","includ","indent","index","index.html","infer","inferhashalgorithm","inferhashalgorithm(jwthead","info","info.st","inform","infram","initi","initialnavig","initimplicitflow","initimplicitflow(additionalst","initsessioncheck","inject","instal","instanc","instanceof","instead","interact","interfac","intern","interval","introduc","invalid","invalid_nonce_in_st","isn't","issu","issuedatmsec","issuer","issuer'","issuer.startswith(origin","issuercheck","ist","isvalid","java","job","json","json.parse(claim","json.parse(claimsjson","json.parse(headerjson","json.stringify(doc","jsrasign","jsrsasign","jwk","jwks_load_error","jwks_uri","jwksuri","jwksvalidationhandl","jwtheader","jwtheader['alg","k['kid","k['kti","k['use","keep","kevin","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","lead","leftmosthalf","legaci","legend","leverag","liabil","liabl","lib","librari","licens","life","limit","line","list","load","loaddiscoverydocu","loaddiscoverydocument(fullurl","loaddiscoverydocumentandtrylogin","loadedkey","loadjwk","loadkey","loaduserprofil","local","localhost:[8080","localstorag","locat","location.hash","location.href","location.origin","locationstrategi","log","logged_out","loggin","login","login_hint","loginhint","loginhint).then(funct","loginopt","loginurl","logoff","logout","logout(noredirecttologouturl","logouturl","look","main","make","manag","manfr","manual","map","map(","map(r","match","matchingkey","matchingkeys.length","matchingkeys[0","max/geheim","mean","mention","merchant","merg","messag","messageev","meta","method","millisecond","mind","miscellan","miss","modifi","modul","modulewithprovid","more","msec","multipl","name","navig","need","net","net/.net","new","next","ngmodul","nonc","nonceinst","noninfring","noprompt","noredirecttologouturl","note","noth","notic","notif","notifi","now","now.gettim","npm","null","nullvalidationhandl","number","oauth","oauth2","oauth2/oidc","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('session_chang","oauthinfoevent('session_error","oauthinfoevent('session_termin","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.assign(thi","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","origin","otherparam","otherwis","out","output","over","overrid","overview","owner","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['expires_in","parts['id_token","parts['session_st","pass","passt","password","passwort","pathlocationstrategi","perform","period","permiss","permit","person","perspect","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","project'","promis","promise((resolv","promise.reject('eith","promise.reject('signatur","promise.reject(err","promise.reject(error","promise.reject(ev","promise.resolv","promise.resolve(nul","prompt=non","properti","protect","provid","provider'","ps256","ps384","ps512","public","publish","purpos","queri","querystr","querystring.split","question","questionmarkposit","quit","r","r.json()).subscrib","race([error","rais","read","readm","readonli","reason","receiv","received_first_token","receivedtoken","recommend","reconsid","redhad","redhat'","redirect","redirect_uri","redirecturi","refresh","refresh.html","refresh.html\";pleas","refresh_token","refreshtoken","regard","regist","registerd","regular","reject","reject('discovery_document_validation_error","reject('loginurl","reject(err","relat","relax","relay","relogin","remoteonli","remov","removeitem","removeitem(key","removesessioncheckeventlisten","removesilentrefresheventlisten","replace(/\\//g","repres","request","requestaccesstoken","requir","require('jsrsasign","requirehttp","reset","resolve(doc","resolve(ev","resolve(jwk","resolve(nul","resolve(tokenrespons","resourc","respond","response_typ","responsetyp","restartrefreshtimerifstillloggedin","restartsessionchecksifstillloggedin","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","sake","same","sampl","savednonc","saveimport","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","selector","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:106","service.ts:1091","service.ts:1097","service.ts:1101","service.ts:1114","service.ts:1241","service.ts:1250","service.ts:1264","service.ts:1272","service.ts:1280","service.ts:1287","service.ts:1305","service.ts:1324","service.ts:1334","service.ts:1370","service.ts:1378","service.ts:143","service.ts:152","service.ts:277","service.ts:29","service.ts:290","service.ts:439","service.ts:455","service.ts:47","service.ts:503","service.ts:53","service.ts:550","service.ts:637","service.ts:65","service.ts:938","service.ts:989","session","session_chang","session_error","session_st","session_termin","session_terminated').subscribe(","sessioncheckeventlisten","sessioncheckiframenam","sessioncheckiframeurl","sessioncheckinterval","sessionchecksen","sessionchecktim","sessionst","sessionstorag","set","setinterval(this.checksession.bind(thi","setitem","setitem(key","setstorag","setstorage(storag","setup","setupaccesstokentim","setupautomaticsilentrefresh","setupidtokentim","setuprefreshtim","setupsessioncheck","setupsessioncheckeventlisten","setupsilentrefresheventlisten","sha","sha256(accesstoken","shall","ship","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","silentrefreshsubject","siletrefreshtimeout","similar","simpl","singl","skip","snippet","softwar","solut","somevalu","sourc","spa","spa'","spec","specif","specifi","src/auth.config.t","src/auth.config.ts:248","src/base64","src/events.t","src/events.ts:23","src/events.ts:29","src/events.ts:38","src/events.ts:47","src/index.t","src/oauth","src/token","src/tokens.t","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","startsessionchecktim","startup","state","state.split","state/nonc","statepart","stateparts.length","stateparts[0","stateparts[1","static","statu","steyer","still","stopsessionchecktim","stoptim","storag","store","storeaccesstokenresponse(accesstoken","storeidtoken","storeidtoken(idtoken","storesessionst","storesessionstate(sessionst","streamlin","strictdiscoverydocumentvalid","stricter","string","strong","structur","sub","subject","sublicens","subscribe(","subscript","substanti","succeed","success","successfulli","such","suit","suitabl","super","super(typ","support","sure","svg","switch","system.config","systemj","take","taken","task","templat","templateurl","tenant","tenminutesinmsec","termin","test","testen","text","thank","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(loadedkey","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.getitem('session_st","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('session_st","this.accesstokentimeoutsubscript","this.accesstokentimeoutsubscription.unsubscrib","this.alg2kty(alg","this.allowedalgorithm","this.calchash(params.accesstoken","this.calctimeout(expir","this.callontokenreceivedifexists(opt","this.canperformsessioncheck","this.checkathash(validationparam","this.checksignature(validationparams).then(_","this.clearaccesstokentim","this.clearhashafterlogin","this.clearidtokentim","this.clientid","this.config","this.configure(config","this.configurewithnewconfigapi","this.createandsavenonce().then((nonc","this.createloginurl(additionalst","this.createloginurl(nul","this.createnonce().then(funct","this.customqueryparam","this.debug","this.debug('error","this.debug('got","this.debug('pars","this.debug('refresh","this.debug('sess","this.debug('sessioncheckeventlisten","this.debug('sil","this.debug('tim","this.debug('tokenrespons","this.debug('trylogin","this.debug('userinfo","this.disableathashcheck","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.getidtokenexpir","this.getkeycount","this.getsessionst","this.graceperiodinsec","this.granttypessupport","this.handleloginerror(opt","this.handlesessionchang","this.handlesessionerror","this.handlesessionunchang","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.initsessioncheck","this.issu","this.issuer.tolowercas","this.jwk","this.jwksuri","this.loaddiscoverydocument().then((doc","this.loadjwk","this.loadjwks().then(jwk","this.loaduserprofil","this.loginurl","this.logout(tru","this.logouturl","this.logouturl.replace(/\\{\\{id_token","this.oauthservice.clientid","this.oauthservice.configure(authconfig","this.oauthservice.customqueryparam","this.oauthservice.dummyclientsecret","this.oauthservice.events.filter(","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.loaddiscoverydocumentandtrylogin","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.setupautomaticsilentrefresh();bi","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.removesessioncheckeventlisten","this.removesilentrefresheventlisten","this.requestaccesstoken","this.requirehttp","this.responsetyp","this.restartrefreshtimerifstillloggedin","this.restartsessionchecksifstillloggedin","this.rngurl","this.router.navig","this.scop","this.sessioncheckeventlisten","this.sessioncheckiframenam","this.sessioncheckiframeurl","this.sessioncheckinterval","this.sessionchecksen","this.sessionchecktim","this.setstorage(sessionstorag","this.setstorage(storag","this.setupaccesstokentim","this.setupidtokentim","this.setuprefreshtim","this.setupsessioncheck","this.setupsessioncheckeventlisten","this.setupsilentrefresheventlisten","this.showdebuginform","this.silentrefresh","this.silentrefreshiframenam","this.silentrefreshmessageprefix","this.silentrefreshpostmessageeventlisten","this.silentrefreshredirecturi","this.silentrefreshshowifram","this.silentrefreshsubject","this.startsessionchecktim","this.stat","this.stopsessionchecktim","this.storeaccesstokenresponse(accesstoken","this.storeaccesstokenresponse(tokenresponse.access_token","this.storeidtoken(result","this.storesessionstate(sessionst","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","this.waitforsilentrefreshaftersessionchang","though","three","through","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","tokenvalidationhandl","topromis","tort","transmit","tri","trigger","true","true).then(url","trust","trylogin","trylogin(opt","ts","type","typealias","typeof","unchang","undefin","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","validationopt","validationparam","valu","valuetohash","var","variabl","version","via","void","voucher","vulner","w/o","waitforsilentrefreshaftersessionchang","want","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","you'v","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.1\n\nNew Config API (the original one is still supported)\nNew convenience methods in OAuthService to streamline default tasks:\nsetupAutomaticSilentRefresh()\nloadDiscoveryDocumentAndTryLogin()\n\n\nSingle Sign out through Session Status Change Notification according to the OpenID Connect Session Management specs. This means, you can be notified when the user logs out using at the login provider.\nPossibility to define the ValidationHandler, the Config as well as the OAuthStorage via DI\nBetter structured documentation\n\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\nInstalling\nnpm i angular-oauth2-oidc --saveImporting the NgModule\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}Configuring for Implicit Flow\nThis section shows how to implement login leveraging implicit flow. This is the OAuth2/OIDC flow best suitable for\nSingle Page Application. It sends the user to the Identity Provider's login page. After logging in, the SPA gets tokens.\nThis also allows for single sign on as well as single sign off.\nTo configure the library the following sample uses the new configuration API introduced with Version 2.1.\nHence, The original API is still supported.\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\n\n // Url of the Identity Provider\n issuer: 'https://steyer-identity-server.azurewebsites.net/identity',\n\n // URL of the SPA to redirect the user to after login\n redirectUri: window.location.origin + '/index.html',\n\n // The SPA's id. The SPA is registerd with this id at the auth-server\n 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 scope: 'openid profile email voucher',\n}Configure the OAuthService with this config object when the application starts up:\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { JwksValidationHandler } from 'angular-oauth2-oidc';\nimport { authConfig } from './auth.config';\nimport { Component } from '@angular/core';\n\n@Component({\n selector: 'flight-app',\n templateUrl: './app.component.html'\n})\nexport class AppComponent {\n\n constructor(private oauthService: OAuthService) {\n this.configureWithNewConfigApi();\n }\n\n private configureWithNewConfigApi() {\n this.oauthService.configure(authConfig);\n this.oauthService.tokenValidationHandler = new JwksValidationHandler();\n this.oauthService.loadDiscoveryDocumentAndTryLogin();\n }\n}Implementing a Login Form\nAfter you've configured the library, you just have to call initImplicitFlow to login using OAuth2/ OIDC.\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}The following snippet contains the template for the login page:\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\nCalling a Web API with an 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});If you are using the new HttpClient, use the class HttpHeaders instead:\nvar headers = new HttpHeaders({\n \"Authorization\": \"Bearer \" + this.oauthService.getAccessToken()\n});More Documentation\nSee the documentation for more information about this library.\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 12 classes\n \n \n \n \n \n \n \n 2 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';\nimport { UrlHelperService } from './url-helper.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';\nexport * from './auth.config';\nexport * from './types';\nexport * from './tokens';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n ],\n exports: [\n ]\n})\nexport class OAuthModule {\n\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 events\n \n \n Public state\n \n \n Public tokenValidationHandler\n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n Public authorizationHeader\n \n \n Public configure\n \n \n Public createAndSaveNonce\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 Protected getSessionState\n \n \n Public hasValidAccessToken\n \n \n Public hasValidIdToken\n \n \n Public initImplicitFlow\n \n \n Public loadDiscoveryDocument\n \n \n Public loadDiscoveryDocumentAndTryLogin\n \n \n Public loadUserProfile\n \n \n Public logOut\n \n \n Public processIdToken\n \n \n Public refreshToken\n \n \n Public setStorage\n \n \n Public setupAutomaticSilentRefresh\n \n \n Public silentRefresh\n \n \n Protected storeIdToken\n \n \n Protected storeSessionState\n \n \n Public tryLogin\n \n \n \n \n \n \n \n\n \n Constructor\n \n \n \n \n constructor(http: Http, storage: OAuthStorage, tokenValidationHandler: ValidationHandler, config: AuthConfig, urlHelper: UrlHelperService)\n \n \n \n \n Defined in src/oauth-service.ts:65\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:1324\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 Public configure\n \n \n \n \n \n configure(config: AuthConfig)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:106\n \n \n \n \n \n Use this method to configure the service\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Description\n \n \n \n \n config\n \n \n the configuration\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 createAndSaveNonce\n \n \n \n \n \n createAndSaveNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1370\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 Protected createNonce\n \n \n \n \n \n createNonce()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1378\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:503\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:439\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:1264\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:1272\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:1241\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:1250\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:1280\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 Protected getSessionState\n \n \n \n \n \n getSessionState()\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 hasValidAccessToken\n \n \n \n \n \n hasValidAccessToken()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1287\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:1305\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:938\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.\n 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:290\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 loadDiscoveryDocumentAndTryLogin\n \n \n \n \n \n loadDiscoveryDocumentAndTryLogin()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:152\n \n \n \n \n \n \n \n Returns : void\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:455\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: )\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1334\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 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:1114\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:550\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:277\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 setupAutomaticSilentRefresh\n \n \n \n \n \n setupAutomaticSilentRefresh()\n \n \n \n \n \n \n Defined in src/oauth-service.ts:143\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:637\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:1091\n \n \n \n \n \n \n \n Returns : void\n \n \n \n \n \n \n \n \n \n \n \n Protected storeSessionState\n \n \n \n \n \n storeSessionState(sessionState: string)\n \n \n \n \n \n \n Defined in src/oauth-service.ts:1097\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:989\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 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:47\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 state\n \n \n \n \n state: \n \n \n \n \n \n Defined in src/oauth-service.ts:53\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 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:29\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 import { Http, URLSearchParams, Headers } from '@angular/http';\nimport { Injectable, Optional } from '@angular/core';\nimport { Observable } from 'rxjs/Observable';\nimport { Subject } from 'rxjs/Subject';\nimport { ValidationHandler, ValidationParams } from './token-validation/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';\nimport { b64DecodeUnicode } from './base64-helper';\nimport { AuthConfig } from './auth.config';\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 extends AuthConfig {\n\n // extending AuthConfig ist just for LEGACY reasons\n // to not break existing code\n\n /**\n * The ValidationHandler used to validate received\n * id_tokens.\n */\n public tokenValidationHandler: ValidationHandler;\n\n /**\n * @internal\n * Deprecated: use property events instead\n */\n public discoveryDocumentLoaded = false;\n\n /**\n * @internal\n * Deprecated: use property events instead\n */\n public discoveryDocumentLoaded$: Observable;\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\n /**\n * The received (passed around) state, when logging\n * in with implicit flow.\n */\n public state? = '';\n\n private eventsSubject: Subject = new Subject();\n private discoveryDocumentLoadedSubject: Subject = new Subject();\n private silentRefreshPostMessageEventListener: EventListener;\n private grantTypesSupported: Array = [];\n private _storage: OAuthStorage;\n private accessTokenTimeoutSubscription: Subscription;\n private idTokenTimeoutSubscription: Subscription;\n private sessionCheckEventListener: EventListener;\n private jwksUri: string;\n private sessionCheckTimer: any;\n private silentRefreshSubject: string;\n\n constructor(\n private http: Http,\n @Optional() storage: OAuthStorage,\n @Optional() tokenValidationHandler: ValidationHandler,\n @Optional() private config: AuthConfig,\n private urlHelper: UrlHelperService) {\n\n super();\n\n this.discoveryDocumentLoaded$ = this.discoveryDocumentLoadedSubject.asObservable();\n this.events = this.eventsSubject.asObservable();\n\n if (tokenValidationHandler) {\n this.tokenValidationHandler = tokenValidationHandler;\n }\n\n if (config) {\n this.configure(config);\n }\n\n if (storage) {\n this.setStorage(storage);\n } else if (typeof sessionStorage !== 'undefined') {\n this.setStorage(sessionStorage);\n }\n\n this.setupRefreshTimer();\n\n if (this.sessionChecksEnabled) {\n this.restartSessionChecksIfStillLoggedIn();\n }\n\n this.restartRefreshTimerIfStillLoggedIn();\n }\n\n /**\n * Use this method to configure the service\n * @param config the configuration\n */\n public configure(config: AuthConfig) {\n // For the sake of downward compatibility with\n // original configuration API\n Object.assign(this, new AuthConfig(), config);\n\n this.config = config;\n\n if (this.sessionChecksEnabled) {\n this.setupSessionCheck();\n }\n }\n\n private restartSessionChecksIfStillLoggedIn(): void {\n if (this.hasValidIdToken()) {\n this.initSessionCheck();\n }\n }\n\n private restartRefreshTimerIfStillLoggedIn(): void {\n if (this.hasValidAccessToken()) {\n this.setupAccessTokenTimer();\n }\n\n if (this.hasValidIdToken()) {\n this.setupIdTokenTimer();\n }\n }\n\n private setupSessionCheck() {\n this\n .events\n .filter(e => e.type === 'token_received')\n .subscribe(e => {\n this.initSessionCheck();\n });\n }\n\n public setupAutomaticSilentRefresh() {\n this\n .events\n .filter(e => e.type === 'token_expires')\n .subscribe(e => {\n this.silentRefresh();\n });\n }\n\n public loadDiscoveryDocumentAndTryLogin() {\n this.loadDiscoveryDocument().then((doc) => {\n return this.tryLogin();\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.'\n + '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 setupRefreshTimer(): void {\n\n if (typeof window === 'undefined') {\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 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.getIdTokenExpiration();\n let timeout = this.calcTimeout(expiration);\n\n this.idTokenTimeoutSubscription =\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.sessionCheckIFrameUrl = doc.check_session_iframe;\n\n this.discoveryDocumentLoaded = true;\n this.discoveryDocumentLoadedSubject.next(doc);\n\n this.loadJwks().then(jwks => {\n let result: object = {\n discoveryDocument: doc,\n jwks: jwks\n };\n\n let event = new OAuthSuccessEvent('discovery_document_loaded', result);\n this.eventsSubject.next(event);\n resolve(event);\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 if (this.sessionChecksEnabled && !doc['check_session_iframe']) {\n console.warn(\n 'sessionChecksEnabled is activated but discovery document'\n + ' does not contain a check_session_iframe field');\n }\n\n this.sessionChecksEnabled = doc['check_session_iframe'];\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(\n userName: string,\n password: string,\n 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()) {\n throw new Error('Can not load User Profile without access_token');\n }\n if (!this.validateUrlForHttps(this.userinfoEndpoint)) {\n throw new Error('userinfoEndpoint must use Http. Also check property requireHttps.');\n }\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 '\n + '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 * 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)) {\n throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n }\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)) {\n throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n }\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 .catch(err => this.debug('tryLogin during silent refresh failed', err));\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 let claims = this.getIdentityClaims();\n\n if (!claims) {\n throw new Error('cannot perform a silent refresh as the user is not logged in');\n }\n\n if (!this.validateUrlForHttps(this.loginUrl)) throw new Error('tokenEndpoint must use Http. Also check property requireHttps.');\n\n if (typeof document === 'undefined') {\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 this.silentRefreshSubject = claims['sub'];\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, true).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 canPerformSessionCheck(): boolean {\n if (!this.sessionChecksEnabled) return false;\n if (!this.sessionCheckIFrameUrl) {\n console.warn('sessionChecksEnabled is activated but there '\n + 'is no sessionCheckIFrameUrl');\n return false;\n }\n let sessionState = this.getSessionState();\n if (!sessionState) {\n console.warn('sessionChecksEnabled is activated but there '\n + 'is no session_state');\n return false;\n }\n if (typeof document === 'undefined') {\n return false;\n }\n\n return true;\n }\n\n private setupSessionCheckEventListener(): void {\n this.removeSessionCheckEventListener();\n\n this.sessionCheckEventListener = (e: MessageEvent) => {\n\n let origin = e.origin.toLowerCase();\n let issuer = this.issuer.toLowerCase();\n\n this.debug('sessionCheckEventListener');\n\n if (!issuer.startsWith(origin)) {\n this.debug(\n 'sessionCheckEventListener',\n 'wrong origin',\n origin,\n 'expected',\n issuer);\n }\n\n switch (e.data) {\n case 'unchanged': this.handleSessionUnchanged(); break;\n case 'changed': this.handleSessionChange(); break;\n case 'error': this.handleSessionError(); break;\n }\n\n this.debug('got info from session check inframe', e);\n };\n\n window.addEventListener('message', this.sessionCheckEventListener);\n }\n\n private handleSessionUnchanged(): void {\n this.debug('session check', 'session unchanged');\n }\n\n private handleSessionChange(): void {\n /* events: session_changed, relogin, stopTimer, logged_out*/\n this.eventsSubject.next(new OAuthInfoEvent('session_changed'));\n this.stopSessionCheckTimer();\n if (this.silentRefreshRedirectUri) {\n this.silentRefresh()\n .catch(_ => this.debug('silent refresh failed after session changed'));\n this.waitForSilentRefreshAfterSessionChange();\n }\n else {\n this.eventsSubject.next(new OAuthInfoEvent('session_terminated'));\n this.logOut(true);\n }\n }\n\n private waitForSilentRefreshAfterSessionChange() {\n this\n .events\n .filter((e: OAuthEvent) =>\n e.type === 'silently_refreshed'\n || e.type === 'silent_refresh_timeout'\n || e.type === 'silent_refresh_error')\n .first()\n .subscribe(e => {\n if (e.type !== 'silently_refreshed') {\n this.debug('silent refresh did not work after session changed');\n this.eventsSubject.next(new OAuthInfoEvent('session_terminated'));\n this.logOut(true);\n }\n });\n }\n\n private handleSessionError(): void {\n this.stopSessionCheckTimer();\n this.eventsSubject.next(new OAuthInfoEvent('session_error'));\n }\n\n private removeSessionCheckEventListener(): void {\n if (this.sessionCheckEventListener) {\n window.removeEventListener('message', this.sessionCheckEventListener);\n this.sessionCheckEventListener = null;\n }\n }\n\n private initSessionCheck(): void {\n if (!this.canPerformSessionCheck()) return;\n\n let existingIframe = document.getElementById(this.sessionCheckIFrameName);\n if (existingIframe) {\n document.body.removeChild(existingIframe);\n }\n\n let iframe = document.createElement('iframe');\n iframe.id = this.sessionCheckIFrameName;\n\n this.setupSessionCheckEventListener();\n\n let url = this.sessionCheckIFrameUrl;\n iframe.setAttribute('src', url);\n iframe.style.visibility = 'hidden';\n document.body.appendChild(iframe);\n\n this.startSessionCheckTimer();\n\n }\n\n private startSessionCheckTimer(): void {\n this.stopSessionCheckTimer();\n this.sessionCheckTimer = setInterval(this.checkSession.bind(this), this.sessionCheckIntervall);\n }\n\n private stopSessionCheckTimer(): void {\n if (this.sessionCheckTimer) {\n clearInterval(this.sessionCheckTimer);\n this.sessionCheckTimer = null;\n }\n }\n\n private checkSession(): void {\n let iframe: any = document.getElementById(this.sessionCheckIFrameName);\n\n if (!iframe) {\n console.warn('checkSession did not find iframe', this.sessionCheckIFrameName);\n }\n\n let sessionState = this.getSessionState();\n\n if (!sessionState) {\n this.stopSessionCheckTimer();\n }\n\n let message = this.clientId + ' ' + sessionState;\n iframe.contentWindow.postMessage(message, this.issuer);\n }\n\n private createLoginUrl(\n state = '',\n loginHint = '',\n customRedirectUri = '',\n noPrompt = false\n ) {\n let 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 let 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 (noPrompt) {\n url += '&prompt=none';\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.\n * 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 let that = this;\n if (options.onTokenReceived) {\n let 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 let expiresInMilliSeconds = expiresIn * 1000;\n let now = new Date();\n let 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 /**\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 this.debug('parsed url', parts);\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 let accessToken = parts['access_token'];\n let idToken = parts['id_token'];\n let state = decodeURIComponent(parts['state']);\n let sessionState = parts['session_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 if (this.sessionChecksEnabled && !sessionState) {\n console.warn(\n 'session checks (Session Status Change Notification) '\n + 'is activated in the configuration but the id_token '\n + 'does not contain a session_state claim');\n }\n\n let stateParts = state.split(';');\n if (stateParts.length > 1) {\n this.state = stateParts[1];\n }\n let nonceInState = stateParts[0];\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.storeSessionState(sessionState);\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 let 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 protected storeSessionState(sessionState: string) {\n this._storage.setItem('session_state', sessionState);\n }\n\n protected getSessionState(): string {\n return this._storage.getItem('session_state');\n }\n\n private handleLoginError(options: LoginOptions, parts: object): void {\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 = b64DecodeUnicode(headerBase64);\n let header = JSON.parse(headerJson);\n let claimsBase64 = this.padBase64(tokenParts[1]);\n let claimsJson = b64DecodeUnicode(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 /* For now, we only check whether the sub against\n * silentRefreshSubject when sessionChecksEnabled is on\n * We will reconsider in a later version to do this\n * in every other case too.\n */\n if (this.sessionChecksEnabled\n && this.silentRefreshSubject\n && this.silentRefreshSubject !== claims['sub']) {\n\n let err = 'After refreshing, we got an id_token for another user (sub). '\n + `Expected sub: ${this.silentRefreshSubject}, received sub: ${claims['sub']}`;\n\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.disableAtHashCheck && 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.disableAtHashCheck && 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 let 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'), 10);\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'), 10);\n }\n\n /**\n * Checkes, whether there is a valid access_token.\n */\n public hasValidAccessToken(): boolean {\n if (this.getAccessToken()) {\n\n let expiresAt = this._storage.getItem('expires_at');\n let now = new Date();\n if (expiresAt && parseInt(expiresAt, 10) -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 let 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 let text = '';\n let possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n\n for (let 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 let 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 (let 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: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 abstract class ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n public abstract validateSignature(validationParams: ValidationParams): Promise;\n\n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n public abstract 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 let tokenHash = this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n\n let tokenHashBase64 = btoa(leftMostHalf);\n\n let atHash = tokenHashBase64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n let claimsAtHash = params.idTokenClaims['at_hash'].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"},"classes/AuthConfig.html":{"url":"classes/AuthConfig.html","title":"class - AuthConfig","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\n AuthConfig\n\n\n\n \n Info\n \n\n\n \n Source\n \n\n\n\n \n \n File\n \n \n src/auth.config.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public disableAtHashCheck\n \n \n \n \n \n \n \n\n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n Public disableAtHashCheck\n \n \n \n \n disableAtHashCheck: \n \n \n \n \n \n Default value : false\n \n \n \n \n Defined in src/auth.config.ts:248\n \n \n \n \n \n This property has been introduced to disable at_hash checks\n and is indented for Identity Provider that does not deliver\n an at_hash EVEN THOUGH its recommended by the OIDC specs.\n Of course, when disabling these checks the we are bypassing\n a security check which means we are more vulnerable.\n \n \n \n \n \n \n \n \n\n\n \n export class AuthConfig {\n /**\n * The client's id as registered with the auth server\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public clientId? = '';\n\n /**\n * The client's redirectUri as registered with the auth server\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public redirectUri? = '';\n\n /**\n * An optional second redirectUri where the auth server\n * redirects the user to after logging out.\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n *\n */\n public loginUrl? = '';\n\n /**\n * The requested scopes\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n *\n */\n public scope? = 'openid profile';\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public resource? = '';\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public rngUrl? = '';\n\n /**\n * Defines whether to use OpenId Connect during\n * implicit flow.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public oidc? = true;\n\n /**\n * Defines whether to request a access token during\n * implicit flow.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public requestAccessToken? = true;\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public options?: any;\n\n /**\n * The issuer's uri.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public issuer? = '';\n\n /**\n * The logout url.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public logoutUrl? = '';\n\n /**\n * Defines whether to clear the hash fragment after logging in.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public clearHashAfterLogin? = true;\n\n /**\n * Url of the token endpoint as defined by OpenId Connect and OAuth 2.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public tokenEndpoint?: string;\n\n /**\n * Url of the userinfo endpoint as defined by OpenId Connect.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n *\n */\n public userinfoEndpoint?: string;\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public responseType? = 'token';\n\n /**\n * Defines whether additional debug information should\n * be shown at the console.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public showDebugInformation? = false;\n\n /**\n * The redirect uri used when doing silent refresh.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshRedirectUri? = '';\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshMessagePrefix? = '';\n\n /**\n * Set this to true to display the iframe used for\n * silent refresh for debugging.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshShowIFrame? = false;\n\n /**\n * Timeout for silent refresh.\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public dummyClientSecret?: string;\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public strictDiscoveryDocumentValidation? = 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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public customQueryParams?: object;\n\n /**\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public silentRefreshIFrameName? = 'angular-oauth-oidc-silent-refresh-iframe';\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 * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public timeoutFactor? = 0.75;\n\n /**\n * If true, the lib will try to check whether the user\n * is still logged in on a regular basis as described\n * in http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n * @type {boolean}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionChecksEnabled? = false;\n\n /**\n * Intervall in msec for checking the session\n * according to http://openid.net/specs/openid-connect-session-1_0.html#ChangeNotification\n * @type {number}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionCheckIntervall? = 3 * 1000;\n\n /**\n * Url for the iframe used for session checks\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionCheckIFrameUrl?: string;\n\n /**\n * Name of the iframe to use for session checks\n * @type {number}\n *\n * @internal DEPREACTED/ LEGACY. Use method configure instead.\n */\n public sessionCheckIFrameName? = 'angular-oauth-oidc-check-session-iframe';\n\n /**\n * This property has been introduced to disable at_hash checks\n * and is indented for Identity Provider that does not deliver\n * an at_hash EVEN THOUGH its recommended by the OIDC specs.\n * Of course, when disabling these checks the we are bypassing\n * a security check which means we are more vulnerable.\n */\n public disableAtHashCheck? = false;\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:111\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:118\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: )\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: \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 { 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 = 600;\n\n validateSignature(params: ValidationParams, retry = 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(loadedKeys => params.jwks = loadedKeys)\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 validationOptions = {\n alg: this.allowedAlgorithms,\n gracePeriod: this.gracePeriodInSec\n };\n let isValid = rs.KJUR.jws.JWS.verifyJWT(params.idToken, keyObj, validationOptions);\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 = '';\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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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, 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 \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:47\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| 'session_changed'\n| 'session_error'\n| 'session_terminated';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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:23\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| 'session_changed'\n| 'session_error'\n| 'session_terminated';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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:38\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| 'session_changed'\n| 'session_error'\n| 'session_terminated';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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/OAuthStorage.html":{"url":"classes/OAuthStorage.html","title":"class - OAuthStorage","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\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\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 \n Methods\n \n \n \n \n \n \n getItem\n \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 \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 \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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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/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 Constructor\n \n \n \n \n constructor(type: EventType, info: any)\n \n \n \n \n Defined in src/events.ts:29\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| 'session_changed'\n| 'session_error'\n| 'session_terminated';\n\nexport abstract class OAuthEvent {\n constructor(\n readonly type: EventType) {\n }\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n constructor(\n type: EventType,\n readonly info: any = null\n ) {\n super(type);\n }\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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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/ValidationHandler.html":{"url":"classes/ValidationHandler.html","title":"class - ValidationHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Classes\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\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n Public validateAtHash\n \n \n Public validateSignature\n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n Public validateAtHash\n \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 Public 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: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 abstract class ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n public abstract validateSignature(validationParams: ValidationParams): Promise;\n\n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n public abstract 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 let tokenHash = this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n\n let tokenHashBase64 = btoa(leftMostHalf);\n\n let atHash = tokenHashBase64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n let claimsAtHash = params.idTokenClaims['at_hash'].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/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 abstract class OAuthStorage {\n abstract getItem(key: string): string | null;\n abstract removeItem(key: string): void;\n abstract 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/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 abstract class ValidationHandler {\n\n /**\n * Validates the signature of an id_token.\n */\n public abstract validateSignature(validationParams: ValidationParams): Promise;\n\n /**\n * Validates the at_hash in an id_token against the received access_token.\n */\n public abstract 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 let tokenHash = this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2 );\n\n let tokenHashBase64 = btoa(leftMostHalf);\n\n let atHash = tokenHashBase64.replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '');\n let claimsAtHash = params.idTokenClaims['at_hash'].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 results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"miscellaneous/functions.html":{"url":"miscellaneous/functions.html","title":"miscellaneous-functions - functions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n Miscellaneous - Functions\n\n\n src/base64-helper.ts\n \n \n \n \n \n \n b64DecodeUnicode\n \n \n \n \n b64DecodeUnicode(str: undefined)\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/tokens.ts\n \n \n \n \n \n \n AUTH_CONFIG\n \n \n \n \n AUTH_CONFIG: \n \n \n \n \n \n \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"},"additional-documentation/getting-started.html":{"url":"additional-documentation/getting-started.html","title":"additional-page - Getting Started","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nGetting Started\nPlease find the Getting Started Guide in the README above.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/preserving-state-(like-the-requested-url).html":{"url":"additional-documentation/preserving-state-(like-the-requested-url).html","title":"additional-page - Preserving State (like the Requested URL)","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nPreserving 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})\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/refreshing-a-token-(silent-refresh).html":{"url":"additional-documentation/refreshing-a-token-(silent-refresh).html","title":"additional-page - Refreshing a Token (Silent Refresh)","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nRefreshing a Token when using Implicit Flow (Silent Refresh)\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.\nFor this, you can set the property silentRefreshRedirectUri in the config object:\n// This api will come in the next version\n\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\n\n // Url of the Identity Provider\n issuer: 'https://steyer-identity-server.azurewebsites.net/identity',\n\n // URL of the SPA to redirect the user to after login\n redirectUri: window.location.origin + '/index.html',\n\n // URL of the SPA to redirect the user after silent refresh\n silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',\n\n // The SPA's id. The SPA is registerd with this id at the auth-server\n 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 scope: 'openid profile email voucher',\n}As an alternative, you can set the same property directly with the OAuthService:\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, just call the following method after configuring the OAuthService:\nthis.oauthService.setupAutomaticSilentRefresh();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.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/callback-after-login.html":{"url":"additional-documentation/callback-after-login.html","title":"additional-page - Callback after login","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nCallback after 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});\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/custom-query-parameters.html":{"url":"additional-documentation/custom-query-parameters.html","title":"additional-page - Custom Query Parameters","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nCustom Query Parameters\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};\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/events.html":{"url":"additional-documentation/events.html","title":"additional-page - Events","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nEvents\nThe library informs you about its tasks and state using events:\nthis.oauthService.events.subscribe(e => {\n console.debug('oauth/oidc event', e);\n})For a full list of available events see the string based enum in the file events.ts.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/routing-with-the-hashstrategy.html":{"url":"additional-documentation/routing-with-the-hashstrategy.html","title":"additional-page - Routing with the HashStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nRouting 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/#/home\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/configure/-adapt-id_token-validation.html":{"url":"additional-documentation/configure/-adapt-id_token-validation.html","title":"additional-page - Configure/ Adapt id_token Validation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nRouting 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/#/home\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/session-checks.html":{"url":"additional-documentation/session-checks.html","title":"additional-page - Session Checks","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nSession Checks\nBeginning with version 2.1, you can receive a notification when the user signs out with the identity provider.\nThis is implemented as defined by the OpenID Connect Session Management 1.0 spec.\nWhen this option is activated, the library also automatically ends your local session. This means, the current tokens\nare deleted by calling logOut. In addition to that, the library sends a session_terminated event, you can register\nfor to perform a custom action.\nPlease note that this option can only be used when also the identity provider in question supports it.\nConfiguration\nTo activate the session checks that leads to the mentioned notifications, set the configuration property\nsessionChecksEnabled:\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\n issuer: 'https://steyer-identity-server.azurewebsites.net/identity',\n redirectUri: window.location.origin + '/index.html',\n silentRefreshRedirectUri: window.location.origin + '/silent-refresh.html',\n clientId: 'spa-demo',\n scope: 'openid profile email voucher',\n\n // Activate Session Checks:\n sessionChecksEnabled: true\n}Events\nTo get notified, you can hook up for the event session_terminated:\nthis.oauthService.events.filter(e => e.type === 'session_terminated').subscribe(e => {\nconsole.debug('Your session has been terminated!');\n})\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{"url":"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html","title":"additional-page - Configure Library for Implicit Flow without discovery document","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nConfigure Library for Implicit Flow (without discovery document)\nWhen you don't have a discovery document, you have to configure more properties manually:\nPlease note that the following sample uses the original config API. For information about the new config API have a look to the project's README above.\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 doesn't send the user the the login page\n this.oauthService.tryLogin();\n\n\n }\n\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/using-systemjs.html":{"url":"additional-documentation/using-systemjs.html","title":"additional-page - Using SystemJS","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nUsing SystemJS\nThanks to Kevin BEAUGRAND for adding this information regarding SystemJS.\nSystem.config({\n...\n meta: {\n 'angular-oauth2-oidc': {\n deps: ['jsrsasign']\n },\n }\n...\n});\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/original-config-api.html":{"url":"additional-documentation/original-config-api.html","title":"additional-page - Original Config API","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nOriginal Config API\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 note that the following sample uses the original config API. For information about the new config API have a look to the project's README above.\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}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/using-password-flow.html":{"url":"additional-documentation/using-password-flow.html","title":"additional-page - Using Password Flow","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\nUsing 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.\nPlease note that from an OAuth2/OIDC perspective, the implicit flow is better suited for logging into a SPA and the flow described here should only be used,\nwhen a) there is a strong trust relations ship between the client and the auth server and when b) other flows are not possible.\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 configuration 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 secret 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 secret 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 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 b6cbc354..85db4c39 100644
--- a/angular-oauth2-oidc/docs/license.html
+++ b/angular-oauth2-oidc/docs/license.html
@@ -56,6 +56,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
diff --git a/angular-oauth2-oidc/docs/miscellaneous/functions.html b/angular-oauth2-oidc/docs/miscellaneous/functions.html
index 3363ddfd..13cbea36 100644
--- a/angular-oauth2-oidc/docs/miscellaneous/functions.html
+++ b/angular-oauth2-oidc/docs/miscellaneous/functions.html
@@ -56,6 +56,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
diff --git a/angular-oauth2-oidc/docs/miscellaneous/typealiases.html b/angular-oauth2-oidc/docs/miscellaneous/typealiases.html
index 8850fe32..25f2465a 100644
--- a/angular-oauth2-oidc/docs/miscellaneous/typealiases.html
+++ b/angular-oauth2-oidc/docs/miscellaneous/typealiases.html
@@ -56,6 +56,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -424,7 +516,7 @@ src/events.ts
- EventType: |||||||||||||||||
+ EventType: |||||||||||||||||||
diff --git a/angular-oauth2-oidc/docs/miscellaneous/variables.html b/angular-oauth2-oidc/docs/miscellaneous/variables.html
index 8b137148..e38b3b33 100644
--- a/angular-oauth2-oidc/docs/miscellaneous/variables.html
+++ b/angular-oauth2-oidc/docs/miscellaneous/variables.html
@@ -56,6 +56,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -89,14 +141,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -162,9 +211,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -247,6 +293,58 @@
+ -
+
+ -
+ Getting Started
+
+ -
+ Preserving State (like the Requested URL)
+
+ -
+ Refreshing a Token (Silent Refresh)
+
+ -
+ Callback after login
+
+ -
+ Custom Query Parameters
+
+ -
+ Events
+
+ -
+ Routing with the HashStrategy
+
+ -
+ Configure/ Adapt id_token Validation
+
+ -
+ Session Checks
+
+ -
+ Configure Library for Implicit Flow without discovery document
+
+ -
+ Using SystemJS
+
+ -
+ Original Config API
+
+ -
+ Using Password Flow
+
+
+
+ -
@@ -280,14 +378,11 @@
- -
- A
-
-
AbstractValidationHandler
-
- B
+ AuthConfig
-
JwksValidationHandler
@@ -353,9 +448,6 @@
- -
- AuthConfig
-
-
ParsedIdToken
@@ -413,33 +505,6 @@
- Miscellaneous - Variables
- src/default.auth.conf.ts
-
-
-
-
-
-
- defaultConfig
-
-
-
-
- defaultConfig: AuthConfig
-
-
-
-
-
- Type : AuthConfig
-
-
-
-
-
-
-
-
src/tokens.ts