From 3ba7303b5a6fdbae5ca214764c9191637cd00126 Mon Sep 17 00:00:00 2001 From: Manfred Steyer Date: Fri, 18 Nov 2022 22:37:23 +0100 Subject: [PATCH] docs: mention that ng14 has no standalone APIs for HttpClient to avoid confusion --- README.md | 22 ++++++++++++++++++- docs/index.html | 17 +++++++++++++- docs/js/search/search_index.js | 4 ++-- .../angular-oauth2-oidc-jwks/package.json | 2 +- projects/lib/package.json | 2 +- 5 files changed, 41 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 00268297..c387eade 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ npm i angular-oauth2-oidc --save If you use Standalone Components introduced with Angular 14, you can use our standalone API (call to ``provideOAuthClient``) in your ``main.ts`` to setup the ``OAuthClient``: ```TypeScript -// main.ts +// main.ts -- Angular 15+ version import { bootstrapApplication } from '@angular/platform-browser'; import { provideHttpClient } from '@angular/common/http'; @@ -133,6 +133,26 @@ bootstrapApplication(AppComponent, { }); ``` +As Angular 14 does have Standalone Components but no Standalone API for its ``HttpClient``, you need to go with the traditional ``HttpClientModule`` in this version: + +```TypeScript +// main.ts -- Angular 14 version +import { bootstrapApplication } from '@angular/platform-browser'; + +import { HttpClientModule } from '@angular/common/http'; + +import { AppComponent } from './app/app.component'; +import { provideOAuthClient } from 'angular-oauth2-oidc'; +import { importProvidersFrom } from '@angular/core'; + +bootstrapApplication(AppComponent, { + providers: [ + importProvidersFrom(HttpClientModule), + provideOAuthClient() + ] +}); +``` + The ``provideOAuthClient`` function takes the same parameters as the forRoot function of the OAuthModule that is still in place for the sake of compatibility with existing code bases. ## Option 2: Using NgModules diff --git a/docs/index.html b/docs/index.html index 4d1c786e..eebca70c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -122,7 +122,7 @@

Sample-Auth-Server

Installing

npm i angular-oauth2-oidc --save

Option 1: Standalone APIs

If you use Standalone Components introduced with Angular 14, you can use our standalone API (call to provideOAuthClient) in your main.ts to setup the OAuthClient:

-
// main.ts
+
// main.ts -- Angular 15+ version
 import { bootstrapApplication } from '@angular/platform-browser';
 
 import { provideHttpClient } from '@angular/common/http';
@@ -135,6 +135,21 @@ 

Installing

provideHttpClient(), provideOAuthClient() ] +});

As Angular 14 does have Standalone Components but no Standalone API for its HttpClient, you need to go with the traditional HttpClientModule in this version:

+
// main.ts -- Angular 14 version
+import { bootstrapApplication } from '@angular/platform-browser';
+
+import { HttpClientModule } from '@angular/common/http';
+
+import { AppComponent } from './app/app.component';
+import { provideOAuthClient } from 'angular-oauth2-oidc';
+import { importProvidersFrom } from '@angular/core';
+
+bootstrapApplication(AppComponent, {
+  providers: [
+    importProvidersFrom(HttpClientModule),
+    provideOAuthClient()
+  ]
 });

The provideOAuthClient function takes the same parameters as the forRoot function of the OAuthModule that is still in place for the sake of compatibility with existing code bases.

Option 2: Using NgModules

import { HttpClientModule } from '@angular/common/http';
diff --git a/docs/js/search/search_index.js b/docs/js/search/search_index.js
index 9c49fac3..b550a24b 100644
--- a/docs/js/search/search_index.js
+++ b/docs/js/search/search_index.js
@@ -1,4 +1,4 @@
 var COMPODOC_SEARCH_INDEX = {
-    "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AbstractValidationHandler.html",[0,0.196,1,3.235]],["body/classes/AbstractValidationHandler.html",[0,0.194,1,3.21,2,0.899,3,0.511,4,0.58,5,0.489,6,2.924,7,4.865,8,1.438,9,1.834,10,1.912,11,1.613,12,2.436,13,2.463,14,2.018,15,1.937,16,4.127,17,2.214,18,1.302,19,3.21,20,4.127,21,0.629,22,1.486,23,5.083,24,4.502,25,3.8,26,3.521,27,2.392,28,2.046,29,4.57,30,1.019,31,3.072,32,3.506,33,1.988,34,2.5,35,1.918,36,0.999,37,1.41,38,0.016,39,1.569,40,1.019,41,1.107,42,3.521,43,1.787,44,2.529,45,3.506,46,2.155,47,3.072,48,3.506,49,4.569,50,3.506,51,2.283,52,3.506,53,3.506,54,2.009,55,2.974,56,3.506,57,4.538,58,3.072,59,4.655,60,4.454,61,3.8,62,1.832,63,1.991,64,1.148,65,2.974,66,3.072,67,3.521,68,0.533,69,2.191,70,2.191,71,2.392,72,0.611,73,1.548,74,1.371,75,1.371,76,1.371,77,1.371,78,1.511,79,2.392,80,2.392,81,2.392,82,1.309,83,1.014,84,2.463,85,3.506,86,2.392,87,2.392,88,2.03,89,2.392,90,2.392,91,2.392,92,0.799,93,2.392,94,2.392,95,2.392,96,1.896,97,4.569,98,2.392,99,4.569,100,2.392,101,2.392,102,2.392,103,0.922,104,4.15,105,2.392,106,2.392,107,2.392,108,2.03,109,0.71,110,2.392,111,2.03,112,1.896,113,2.392,114,0.006,115,0.009,116,0.006]],["title/classes/DateTimeProvider.html",[0,0.196,117,3.235]],["body/classes/DateTimeProvider.html",[0,0.28,2,1.545,3,0.878,4,0.996,5,0.841,10,2.018,21,1.081,22,2.142,30,1.126,38,0.015,43,1.977,68,0.916,72,0.743,103,1.329,109,1.77,114,0.01,115,0.012,116,0.01,117,5.011,118,6.09,119,3.844,120,4.574,121,5.367,122,5.278,123,6.353,124,5.278,125,2.518,126,2.057,127,1.742,128,4.11,129,3.059,130,4.574]],["title/injectables/DefaultHashHandler.html",[126,1.438,131,3.932]],["body/injectables/DefaultHashHandler.html",[0,0.155,3,0.599,4,0.68,5,0.574,6,2.954,8,1.687,10,1.312,20,3.335,21,0.738,22,1.666,25,3.599,27,3.931,28,2.113,29,3.849,30,1.011,37,1.4,38,0.016,39,1.4,40,1.011,41,1.1,42,2.381,43,1.774,44,1.809,68,1.011,72,0.413,88,2.381,103,1.361,108,2.381,109,1.535,114,0.014,115,0.01,116,0.007,125,2.088,126,1.142,127,1.189,131,3.123,132,2.381,133,4.916,134,5.048,135,5.048,136,3.604,137,4.374,138,5.049,139,3.604,140,2.57,141,4.374,142,3.604,143,5.759,144,3.931,145,2.381,146,4.154,147,3.276,148,3.123,149,2.806,150,3.123,151,3.123,152,3.123,153,3.123,154,2.806,155,1.772,156,2.806,157,3.123,158,3.931,159,3.123,160,2.806,161,2.381,162,2.381,163,3.123,164,3.017,165,2.57,166,3.123,167,4.374,168,3.123,169,1.886,170,3.123,171,3.123,172,3.123,173,5.049,174,3.123,175,3.123,176,5.049,177,3.123,178,3.123,179,3.123,180,3.123,181,3.123,182,3.123,183,3.115,184,4.374,185,4.374,186,3.123,187,3.123,188,3.123,189,3.123,190,3.123,191,4.374,192,3.123,193,3.123,194,3.123]],["title/interceptors/DefaultOAuthInterceptor.html",[195,3.932,196,3.533]],["body/interceptors/DefaultOAuthInterceptor.html",[0,0.163,3,0.63,4,0.714,5,0.603,14,1.302,21,0.775,22,1.724,28,1.065,30,0.907,37,1.255,38,0.016,39,1.255,40,0.907,41,1.217,43,1.153,55,3.451,68,1.244,72,0.434,84,3.271,92,0.984,103,1.468,114,0.007,115,0.01,116,0.007,126,1.656,127,1.25,147,2.748,164,1.961,196,4.068,197,3.281,198,5.981,199,3.786,200,5.981,201,2.331,202,3.786,203,2.405,204,5.183,205,4.26,206,5.183,207,3.979,208,3.786,209,3.281,210,5.588,211,5.268,212,5.588,213,3.786,214,5.183,215,3.951,216,3.281,217,4.527,218,2.194,219,4.527,220,2.699,221,3.786,222,3.786,223,1.772,224,2.948,225,3.786,226,4.527,227,3.786,228,2.948,229,0.91,230,1.952,231,2.336,232,2.705,233,2.948,234,2.699,235,2.877,236,3.281,237,1.477,238,3.786,239,3.786,240,3.281,241,3.786,242,3.786,243,1.024,244,3.281,245,3.281,246,3.281,247,3.281,248,3.281,249,3.451,250,3.281,251,5.224,252,5.224,253,4.527,254,3.786,255,1.555,256,3.786,257,3.786,258,2.948,259,2.194,260,3.786,261,3.786,262,3.786,263,3.786,264,3.786,265,3.786,266,3.786,267,3.786,268,3.281,269,4.527,270,3.786,271,3.281]],["title/classes/HMAC.html",[0,0.196,272,3.235]],["body/classes/HMAC.html",[2,0.617,3,0.801,4,0.398,5,0.336,6,2.957,13,1.153,18,0.468,21,0.432,22,1.113,30,1.064,33,1.711,35,1.796,37,1.013,38,0.016,39,1.013,40,0.914,41,0.795,43,1.284,72,0.483,92,0.548,96,2.6,103,0.863,109,1.415,112,1.301,114,0.006,115,0.006,116,0.004,125,2.641,140,3.005,147,2.956,155,2.368,161,2.228,162,2.228,164,3.794,169,1.575,183,3.25,201,0.941,272,4.006,273,4.506,274,1.503,275,1.374,276,3.282,277,3.282,278,4.173,279,4.564,280,2.922,281,3.282,282,2.404,283,2.108,284,5.33,285,2.108,286,2.394,287,1.374,288,2.108,289,2.108,290,2.108,291,2.108,292,2.108,293,0.986,294,2.108,295,2.922,296,2.108,297,2.881,298,2.108,299,1.827,300,2.108,301,2.626,302,4.375,303,1.641,304,1.827,305,1.503,306,2.626,307,1.641,308,1.641,309,1.641,310,1.641,311,1.641,312,1.641,313,1.641,314,1.641,315,1.641,316,1.641,317,1.641,318,1.641,319,1.641,320,1.641,321,1.641,322,1.641,323,1.641,324,1.641,325,1.641,326,1.641,327,1.641,328,1.641,329,1.641,330,1.641,331,1.641,332,1.641,333,1.641,334,1.641,335,1.641,336,1.641,337,1.641,338,1.641,339,1.641,340,1.641,341,1.641,342,1.641,343,1.641,344,1.641,345,1.641,346,1.641,347,1.641,348,1.641,349,1.641,350,1.641,351,1.641,352,1.641,353,1.641,354,1.641,355,1.641,356,1.641,357,1.641,358,1.641,359,1.641,360,1.641,361,1.641,362,1.641,363,1.641,364,1.641,365,1.641,366,1.641,367,1.641,368,1.641,369,1.641,370,1.641,371,1.641,372,1.641,373,2.922,374,1.503,375,1.641,376,1.641,377,2.626,378,4.101,379,2.922,380,2.08,381,2.922,382,5.111,383,3.652,384,2.922,385,3.652,386,1.827,387,1.827,388,1.827,389,1.827,390,1.827,391,1.827,392,1.827,393,1.827,394,1.827,395,1.827,396,1.641,397,4.173,398,1.641,399,3.282,400,1.827,401,3.652,402,4.101,403,2.626,404,1.503,405,1.827,406,1.641,407,1.641,408,4.173,409,2.922,410,2.922,411,4.868,412,3.652,413,3.652,414,2.922,415,2.922,416,1.827,417,0.822,418,2.922,419,1.827,420,0.822,421,2.922,422,3.652,423,1.827,424,1.827,425,4.173,426,1.827,427,4.564,428,4.173,429,6.148,430,5.111,431,3.434,432,1.641,433,3.434,434,2.305,435,1.827,436,3.652,437,3.652,438,1.827,439,1.827,440,1.827,441,1.827,442,1.827,443,1.827,444,1.827,445,1.827,446,1.827,447,1.827,448,1.827,449,3.282,450,1.827,451,1.393,452,1.393,453,1.827,454,1.827,455,1.827,456,1.827,457,1.301,458,1.641,459,1.827,460,1.827,461,2.626,462,1.641,463,1.827,464,1.827,465,2.626,466,2.626,467,1.641,468,1.827,469,1.827,470,0.755,471,1.827,472,1.827,473,1.641,474,1.827,475,1.827,476,1.641,477,1.827,478,1.827,479,1.827,480,1.827,481,1.827,482,1.827,483,1.827,484,1.827,485,1.827,486,1.827,487,1.827,488,1.827,489,1.827,490,1.827,491,1.827]],["title/classes/Hash.html",[0,0.196,33,1.382]],["body/classes/Hash.html",[2,0.589,3,0.78,4,0.38,5,0.32,6,3.115,13,1.1,18,0.446,21,0.412,22,1.072,30,1.134,33,1.763,35,2.192,37,1.126,38,0.016,39,1.126,40,1.005,41,0.885,43,1.567,72,0.468,92,0.523,96,2.52,103,0.836,109,1.391,112,1.241,114,0.006,115,0.006,116,0.004,125,2.677,140,2.912,147,2.924,155,2.305,161,2.146,162,2.146,164,3.763,169,1.526,183,3.174,201,1.449,237,0.785,272,3.668,273,4.746,274,1.434,275,1.323,276,3.65,277,3.65,278,4.062,279,4.458,280,2.814,281,3.18,282,2.316,284,5.086,286,2.192,287,1.91,293,1.911,295,2.814,297,3.009,299,1.743,301,2.529,302,4.284,303,1.567,304,1.743,305,1.434,306,4.284,307,1.567,308,1.567,309,1.567,310,1.567,311,1.567,312,1.567,313,1.567,314,1.567,315,1.567,316,1.567,317,1.567,318,1.567,319,1.567,320,1.567,321,1.567,322,1.567,323,1.567,324,1.567,325,1.567,326,1.567,327,1.567,328,1.567,329,1.567,330,1.567,331,1.567,332,1.567,333,1.567,334,1.567,335,1.567,336,1.567,337,1.567,338,1.567,339,1.567,340,1.567,341,1.567,342,1.567,343,1.567,344,1.567,345,1.567,346,1.567,347,1.567,348,1.567,349,1.567,350,1.567,351,1.567,352,1.567,353,1.567,354,1.567,355,1.567,356,1.567,357,1.567,358,1.567,359,1.567,360,1.567,361,1.567,362,1.567,363,1.567,364,1.567,365,1.567,366,1.567,367,1.567,368,1.567,369,1.567,370,1.567,371,1.567,372,1.567,373,2.814,374,1.434,375,1.567,376,1.567,377,2.529,378,4.006,379,2.814,380,2.004,381,2.814,382,5.016,383,3.539,384,2.814,385,3.539,386,1.743,387,1.743,388,1.743,389,1.743,390,1.743,391,1.743,392,1.743,393,1.743,394,1.743,395,1.743,396,1.567,397,4.062,398,1.567,399,3.18,400,1.743,401,3.539,402,4.006,403,2.529,404,1.434,405,1.743,406,1.567,407,1.567,408,4.062,409,2.814,410,2.814,411,5.22,412,3.539,413,3.539,414,2.814,415,2.814,416,1.743,417,0.785,418,2.814,419,1.743,420,0.785,421,2.814,422,4.458,423,1.743,424,1.743,425,4.062,426,1.743,427,4.458,428,4.062,429,6.087,430,5.016,431,3.343,432,1.567,433,3.343,434,2.234,435,1.743,436,3.539,437,3.539,438,1.743,439,1.743,440,1.743,441,1.743,442,1.743,443,2.814,444,1.743,445,1.743,446,1.743,447,1.743,448,1.743,449,3.18,450,1.743,451,1.329,452,1.329,453,1.743,454,1.743,455,1.743,456,1.743,457,1.241,458,1.567,459,1.743,460,1.743,461,2.529,462,1.567,463,1.743,464,1.743,465,2.529,466,2.529,467,1.567,468,1.743,469,1.743,470,0.721,471,1.743,472,1.743,473,1.567,474,1.743,475,1.743,476,1.567,477,1.743,478,1.743,479,1.743,480,1.743,481,1.743,482,1.743,483,1.743,484,1.743,485,1.743,486,1.743,487,1.743,488,1.743,489,1.743,490,1.743,491,1.743,492,3.248,493,3.248,494,3.248,495,3.248,496,2.012,497,2.012,498,0.857,499,2.012,500,2.012,501,2.012,502,2.012,503,2.012,504,2.012,505,2.012,506,2.012,507,2.012]],["title/classes/HashHandler.html",[0,0.196,154,3.533]],["body/classes/HashHandler.html",[0,0.164,2,1.112,3,0.632,4,0.717,5,0.605,6,2.45,8,1.778,9,1.548,10,1.679,20,3.459,21,0.778,22,1.728,27,4.077,28,2.087,29,3.958,30,0.659,37,0.913,38,0.016,39,0.913,40,0.659,41,0.717,42,2.51,43,1.157,44,1.876,68,1.04,72,0.435,88,2.51,103,1.387,108,2.51,109,1.564,114,0.014,115,0.01,116,0.007,125,1.361,126,1.204,127,1.254,133,4.077,137,3.292,138,3.292,141,3.292,143,5.596,144,4.077,145,2.51,146,4.272,147,3.302,148,3.292,149,2.958,150,3.292,151,4.537,152,4.537,153,4.537,154,4.077,155,1.868,156,2.958,157,3.292,158,4.077,159,3.292,160,2.958,161,2.51,162,2.51,163,3.292,164,3.103,165,2.709,166,3.292,167,4.537,168,3.292,169,1.957,170,3.292,171,3.292,172,3.292,173,5.192,174,3.292,175,3.292,176,5.192,177,3.292,178,3.292,179,3.292,180,3.292,181,3.292,182,3.292,183,3.231,184,4.537,185,4.537,186,3.292,187,3.292,188,3.292,189,3.292,190,3.292,191,4.537,192,3.292,193,3.292,194,3.292,508,3.799]],["title/classes/JwksValidationHandler.html",[0,0.196,509,2.8]],["body/classes/JwksValidationHandler.html",[0,0.187,2,1.271,3,0.722,4,0.819,5,0.691,6,2.681,8,2.032,9,1.769,16,3.785,21,0.889,22,1.891,26,3.785,30,1.113,36,0.963,37,1.377,38,0.015,39,1.377,40,0.994,41,1.081,43,1.745,44,2.053,57,4.493,65,2.868,68,1.113,72,0.497,78,2.817,114,0.008,115,0.011,116,0.011,129,3.321,147,1.85,201,2.862,231,2.678,509,4.493,510,4.965,511,3.154,512,4.965,513,5.729,514,4.965,515,5.729,516,2.033,517,4.994,518,2.205,519,5.729,520,2.765,521,1.772,522,1.843,523,5.729,524,4.684,525,4.341,526,3.38,527,4.965,528,4.341,529,4.341,530,1.493,531,3.095,532,2.613,533,1.937,534,3.762,535,3.095,536,2.374,537,3.38,538,2.374,539,3.095,540,3.095,541,1.693,542,1.432,543,3.38,544,4.461,545,3.38,546,2.868,547,2.032,548,1.693,549,3.095,550,1.376,551,3.095,552,3.762,553,2.868,554,0.754,555,3.095,556,3.38,557,3.38,558,3.38,559,4.341,560,4.341]],["title/classes/LoginOptions.html",[0,0.196,561,2.123]],["body/classes/LoginOptions.html",[0,0.222,2,0.588,3,0.54,4,0.379,5,0.32,9,0.819,10,1.66,11,0.72,12,1.592,14,0.691,15,1.071,18,1.22,21,0.412,28,2.248,30,1.045,33,2.026,34,1.383,35,1.383,38,0.016,40,0.954,41,1.35,44,0.72,46,1.697,51,1.071,54,1.448,62,1.891,63,0.751,64,0.751,68,0.349,72,0.712,73,1.768,74,1.448,75,0.897,76,0.897,77,0.897,82,1.383,83,1.546,92,1.66,103,0.412,109,0.464,114,0.004,115,0.006,116,0.004,125,1.163,126,1.029,127,0.663,155,2.007,169,1.751,203,1.989,223,0.941,229,0.78,230,1.213,235,0.897,237,1.592,243,0.878,255,1.218,275,1.322,286,0.856,287,1.322,293,3.056,417,2.005,420,1.266,470,0.72,498,1.997,516,1.029,521,0.811,522,1.218,530,0.691,533,1.448,542,1.374,548,0.784,550,1.909,561,1.519,562,1.041,563,0.495,564,1.519,565,2.193,566,1.91,567,2.114,568,2.114,569,2.114,570,2.114,571,1.821,572,2.114,573,2.01,574,1.611,575,2.818,576,2.489,577,2.158,578,1.681,579,1.827,580,1.681,581,1.448,582,1.681,583,1.997,584,2.193,585,1.681,586,1.947,587,2.427,588,1.681,589,1.519,590,1.596,591,1.681,592,1.596,593,1.029,594,2.01,595,1.213,596,1.448,597,1.681,598,2.114,599,0.988,600,2.01,601,2.193,602,2.193,603,2.454,604,2.304,605,1.681,606,2.427,607,1.681,608,1.681,609,1.681,610,1.681,611,2.01,612,1.383,613,1.383,614,1.322,615,2.427,616,1.681,617,1.596,618,2.01,619,2.091,620,1.681,621,1.071,622,1.596,623,1.596,624,2.573,625,2.055,626,2.091,627,2.01,628,1.519,629,2.007,630,2.01,631,1.681,632,1.383,633,1.596,634,1.116,635,1.448,636,1.681,637,1.681,638,1.681,639,1.681,640,1.448,641,1.681,642,2.01,643,1.448,644,1.681,645,2.528,646,0.856,647,1.681,648,0.941,649,0.784,650,0.897,651,0.941,652,0.988,653,0.988,654,1.041,655,2.663,656,1.041,657,1.041,658,1.041,659,1.041,660,0.988,661,0.819,662,1.041,663,0.691,664,0.856,665,0.897,666,0.856,667,0.988,668,0.988,669,1.383,670,1.681,671,1.681,672,1.681,673,0.988,674,1.041,675,1.041,676,1.041,677,2.663,678,0.897,679,0.637,680,1.041,681,0.988,682,1.041,683,1.041,684,1.041,685,1.519,686,1.322,687,1.681,688,1.739,689,1.596,690,1.041,691,0.941,692,1.041,693,1.041,694,0.856,695,0.637,696,0.663,697,1.041,698,0.897,699,1.041,700,0.637,701,0.72,702,0.637,703,0.988,704,0.751,705,1.041,706,1.041,707,1.041,708,1.041,709,1.041,710,1.041,711,1.041,712,1.041,713,1.041,714,1.041,715,1.041,716,1.041,717,1.041,718,1.041,719,1.041,720,1.041,721,1.041,722,1.041,723,1.041,724,1.041,725,1.041,726,1.041,727,1.041,728,1.041,729,1.041,730,1.041,731,1.041,732,1.041,733,1.041]],["title/injectables/MemoryStorage.html",[126,1.438,673,2.231]],["body/injectables/MemoryStorage.html",[0,0.24,3,0.614,4,0.446,5,0.377,10,1.743,11,0.847,12,0.922,14,0.813,15,0.781,18,1.008,21,0.484,22,1.219,28,2.28,30,0.789,33,1.798,34,1.008,37,1.092,38,0.016,39,1.092,40,0.789,41,0.969,43,1.384,44,0.847,46,1.838,51,1.219,54,1.648,62,1.765,63,0.884,64,0.884,68,0.41,72,0.751,73,1.915,74,1.648,75,1.055,76,1.055,77,1.055,82,1.008,83,1.5,92,1.448,103,0.484,109,0.546,114,0.004,115,0.007,116,0.004,125,1.323,126,1.171,127,0.781,132,1.562,169,2.206,203,1.765,223,1.107,229,0.568,230,0.884,235,1.055,237,1.44,243,0.64,255,1.181,286,2.188,293,3.293,417,2.003,420,0.922,470,0.847,498,1.574,516,0.75,521,0.591,522,0.96,530,0.813,533,1.055,542,1.136,548,0.922,550,1.628,561,1.107,562,1.225,563,0.36,564,1.107,565,1.728,566,1.107,567,1.225,568,1.225,569,1.225,570,1.225,571,1.055,572,1.225,574,1.27,575,2.403,576,2.286,577,1.84,578,1.225,579,1.44,580,1.225,581,1.055,582,1.225,583,1.574,584,1.728,585,1.225,586,1.728,587,1.913,588,1.225,589,1.107,590,1.163,591,1.225,592,1.163,593,0.75,595,0.884,596,1.055,597,1.225,598,1.913,599,0.72,601,1.728,602,1.728,603,2.027,604,1.816,605,1.225,606,1.913,607,1.225,608,1.225,609,1.225,610,1.225,612,1.008,613,1.008,614,0.964,615,2.353,616,1.225,617,1.163,619,1.648,620,1.225,621,0.781,622,1.163,623,1.163,624,2.126,625,1.698,626,1.648,628,1.107,629,1.816,631,1.225,632,1.008,633,1.163,634,0.813,635,1.055,636,1.225,637,1.225,638,1.225,639,1.225,640,1.055,641,1.225,643,1.055,644,1.225,645,2.739,646,1.008,647,1.913,648,1.107,649,0.922,650,1.055,651,1.107,652,1.163,653,1.163,654,1.225,655,2.884,656,1.225,657,1.225,658,1.225,659,1.225,660,1.163,661,0.964,662,1.225,663,0.813,664,1.008,665,1.055,666,1.008,667,1.163,668,1.163,669,1.574,670,2.353,671,2.353,672,2.353,673,1.816,674,1.225,675,1.225,676,1.225,677,2.884,678,1.055,679,0.75,680,1.225,681,1.163,682,1.225,683,1.225,684,1.225,685,1.728,686,1.505,687,1.913,688,1.936,689,1.816,690,1.225,691,1.107,692,1.225,693,1.225,694,1.008,695,0.75,696,0.781,697,1.225,698,1.055,699,1.225,700,0.75,701,0.847,702,0.75,703,1.163,704,0.884,705,1.225,706,1.225,707,1.225,708,1.225,709,1.225,710,1.225,711,1.225,712,1.225,713,1.225,714,1.225,715,1.225,716,1.225,717,1.225,718,1.225,719,1.225,720,1.225,721,1.225,722,1.225,723,1.225,724,1.225,725,1.225,726,1.225,727,1.225,728,1.225,729,1.225,730,1.225,731,1.225,732,1.225,733,1.225,734,3.2,735,3.2,736,3.2,737,2.365,738,2.365,739,2.365]],["title/classes/NullValidationHandler.html",[0,0.196,524,2.998]],["body/classes/NullValidationHandler.html",[0,0.213,2,1.443,3,0.82,4,0.931,5,0.785,6,3.189,8,2.308,9,2.009,12,2.658,14,2.139,16,4.11,21,1.01,22,2.053,26,4.11,30,1.08,37,1.495,38,0.015,39,1.495,40,1.08,41,1.174,43,1.895,44,2.564,57,4.818,65,4.11,68,0.856,72,0.565,103,1.274,114,0.009,115,0.012,116,0.009,231,4.205,511,3.805,524,4.11,526,4.844,576,2.229,740,5.905,741,5.391,742,5.391,743,6.22,744,4.844,745,6.22,746,4.273,747,4.931,748,4.931,749,4.931]],["title/classes/OAuthErrorEvent.html",[0,0.196,750,2.8]],["body/classes/OAuthErrorEvent.html",[0,0.298,2,1.319,3,1.086,4,0.85,5,0.718,10,1.172,30,0.782,37,1.083,38,0.016,39,1.083,40,1.246,41,0.85,46,2.428,64,2.441,72,0.822,114,0.009,115,0.011,116,0.009,129,4.011,201,2.62,259,2.612,530,2.245,750,3.623,751,2.977,752,4.741,753,4.657,754,4.95,755,4.657,756,4.506,757,2.78,758,2.977,759,2.78,760,2.977,761,2.977,762,2.78,763,2.977,764,2.977,765,2.977,766,2.977,767,2.977,768,2.977,769,2.78,770,2.78,771,2.977,772,2.977,773,2.977,774,2.78,775,2.78,776,2.977,777,2.109,778,2.977,779,2.977,780,2.977,781,3.213,782,2.977,783,4.934,784,4.657,785,2.977]],["title/classes/OAuthEvent.html",[0,0.196,752,2.998]],["body/classes/OAuthEvent.html",[0,0.301,2,1.346,3,1.097,4,0.868,5,0.732,10,1.196,30,0.798,37,1.105,38,0.016,39,1.105,40,1.254,41,0.868,46,1.964,64,1.718,72,0.827,114,0.009,115,0.011,116,0.009,129,3.823,201,2.655,259,2.665,530,2.267,750,2.837,751,3.038,752,4.771,753,4.702,754,4.974,755,3.279,757,2.837,758,3.038,759,2.837,760,3.038,761,3.038,762,2.837,763,3.038,764,3.038,765,3.038,766,3.038,767,3.038,768,3.038,769,2.837,770,2.837,771,3.038,772,3.038,773,3.038,774,2.837,775,2.837,776,3.038,777,2.152,778,3.038,779,3.038,780,3.038,781,3.279,782,3.038,783,4.972,784,4.702,785,3.038,786,4.598]],["title/classes/OAuthInfoEvent.html",[0,0.196,785,2.998]],["body/classes/OAuthInfoEvent.html",[0,0.3,2,1.335,3,1.198,4,0.861,5,0.726,10,1.186,30,0.792,37,1.096,38,0.016,39,1.096,40,1.25,41,0.861,46,1.953,64,1.704,72,0.825,114,0.009,115,0.011,116,0.009,129,4.029,201,2.641,259,2.644,530,2.259,750,2.814,751,3.013,752,4.759,753,4.684,754,4.964,755,3.252,757,2.814,758,3.013,759,2.814,760,3.013,761,3.013,762,2.814,763,3.013,764,3.013,765,3.013,766,3.013,767,3.013,768,3.013,769,2.814,770,2.814,771,3.013,772,3.013,773,3.013,774,2.814,775,2.814,776,3.013,777,2.135,778,3.013,779,3.013,780,3.013,781,3.252,782,3.013,783,4.957,784,4.684,785,3.91,787,4.561]],["title/classes/OAuthLogger.html",[0,0.196,653,2.231]],["body/classes/OAuthLogger.html",[0,0.233,2,0.652,3,0.826,4,0.42,5,0.355,9,0.907,10,1.922,11,1.262,12,0.868,14,0.766,15,0.735,18,0.97,21,0.456,22,1.163,28,2.257,30,0.939,33,1.753,34,0.949,37,1.3,38,0.016,39,1.3,40,0.939,41,1.086,43,1.648,44,0.798,46,1.899,51,1.163,54,1.572,62,1.708,63,0.832,64,0.832,68,0.387,72,0.737,73,1.978,74,1.572,75,0.994,76,0.994,77,0.994,82,0.949,83,1.442,92,1.407,103,0.456,109,0.514,114,0.004,115,0.007,116,0.004,125,1.262,126,1.117,127,0.735,169,1.856,203,1.861,223,1.042,229,0.535,230,1.633,235,0.994,237,1.374,243,0.602,255,1.136,286,0.949,293,3.358,417,1.937,420,0.868,470,1.262,498,1.501,516,0.706,521,0.557,522,0.916,530,0.766,533,0.994,542,1.092,548,1.374,550,1.575,561,1.042,562,1.153,563,0.339,564,1.042,565,1.648,566,1.042,567,1.153,568,1.153,569,1.153,570,1.153,571,0.994,572,1.153,574,1.211,575,2.325,576,2.239,577,1.78,578,1.153,579,1.374,580,1.153,581,0.994,582,1.153,583,1.501,584,1.648,585,1.153,586,1.684,587,1.824,588,1.153,589,1.042,590,1.095,591,1.153,592,1.095,593,0.706,595,0.832,596,0.994,597,1.153,598,2.263,599,0.678,601,1.648,602,1.648,603,1.95,604,1.732,605,1.153,606,1.824,607,1.153,608,1.153,609,1.153,610,1.153,612,0.949,613,0.949,614,0.907,615,2.573,616,1.153,617,1.095,619,1.572,620,1.153,621,0.735,622,1.095,623,2.83,624,2.045,625,1.633,626,1.572,628,1.042,629,1.732,631,1.153,632,0.949,633,1.095,634,0.766,635,0.994,636,1.153,637,1.153,638,1.153,639,1.153,640,0.994,641,1.153,643,0.994,644,1.153,645,2.661,646,1.501,647,2.263,648,1.648,649,1.374,650,1.572,651,1.648,652,1.732,653,1.732,654,1.824,655,3.68,656,1.824,657,1.824,658,1.824,659,1.824,660,1.095,661,0.907,662,1.153,663,0.766,664,0.949,665,0.994,666,0.949,667,1.095,668,1.095,669,1.501,670,1.824,671,1.824,672,1.824,673,1.095,674,1.153,675,1.153,676,1.153,677,2.803,678,0.994,679,0.706,680,1.153,681,1.095,682,1.153,683,1.153,684,1.153,685,1.648,686,1.435,687,1.824,688,1.862,689,1.732,690,1.153,691,1.042,692,1.153,693,1.153,694,0.949,695,0.706,696,0.735,697,1.153,698,0.994,699,1.153,700,0.706,701,0.798,702,0.706,703,1.095,704,0.832,705,1.153,706,1.153,707,1.153,708,1.153,709,1.153,710,1.153,711,1.153,712,1.153,713,1.153,714,1.153,715,1.153,716,1.153,717,1.153,718,1.153,719,1.153,720,1.153,721,1.153,722,1.153,723,1.153,724,1.153,725,1.153,726,1.153,727,1.153,728,1.153,729,1.153,730,1.153,731,1.153,732,1.153,733,1.153,788,3.522,789,3.052,790,3.522,791,2.227,792,4.214,793,2.227,794,2.227,795,2.227,796,2.227]],["title/modules/OAuthModule.html",[797,3.533,798,2.998]],["body/modules/OAuthModule.html",[0,0.215,3,0.831,4,0.943,5,0.796,22,1.649,30,0.867,35,2.129,37,1.201,38,0.016,39,1.201,40,0.867,41,0.943,43,1.522,68,1.286,72,0.572,103,1.023,114,0.009,115,0.012,116,0.009,127,1.649,207,4.437,231,3.083,232,3.551,233,3.891,255,1.299,287,2.036,511,2.457,524,4.529,530,2.157,740,4.33,798,4.529,799,3.891,800,6.273,801,4.997,802,6.273,803,5.436,804,4.997,805,6.231,806,4.997,807,3.431,808,6.856,809,5.339,810,6.273,811,4.33,812,3.891,813,2.457,814,3.891,815,3.891,816,4.997,817,3.301,818,4.33]],["title/classes/OAuthModuleConfig.html",[0,0.196,207,2.8]],["body/classes/OAuthModuleConfig.html",[0,0.286,2,1.605,3,0.912,4,1.035,5,0.873,10,1.727,21,1.123,28,1.543,30,0.952,38,0.015,40,0.952,63,2.049,72,0.761,92,1.426,114,0.01,115,0.013,116,0.01,207,4.099,237,2.591,243,1.483,249,4.389,275,2.707,457,3.384,576,1.965,586,1.605,819,5.757,820,4.752,821,5.096,822,5.565,823,5.484,824,3.91,825,4.27,826,4.752,827,4.752,828,4.27,829,3.623,830,3.91,831,4.752]],["title/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.196,832,3.235]],["body/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.282,2,1.563,3,0.888,4,1.008,5,0.851,8,2.499,10,1.7,14,2.247,21,1.094,22,2.158,30,0.927,37,1.283,38,0.015,39,1.283,40,0.927,41,1.008,43,1.627,68,1.135,72,0.749,103,1.094,114,0.01,115,0.012,116,0.01,205,4.667,215,4.863,218,3.096,220,3.808,229,1.571,230,2.443,531,3.808,746,4.628,832,4.661,833,5.665,834,5.665,835,5.501,836,5.88,837,4.628,838,4.628]],["title/classes/OAuthResourceServerConfig.html",[0,0.196,822,3.533]],["body/classes/OAuthResourceServerConfig.html",[0,0.274,2,1.492,3,0.848,4,0.962,5,0.812,10,1.652,21,1.044,28,1.434,30,1.201,38,0.015,40,1.201,41,1.367,63,2.374,72,0.728,92,1.652,114,0.01,115,0.012,116,0.01,155,2.507,207,3.146,237,2.699,243,1.379,249,4.923,275,2.588,457,3.919,576,2.276,586,1.859,819,6.276,820,4.418,821,3.636,822,5.388,824,4.529,825,4.946,826,5.505,827,5.505,828,4.946,829,4.197,830,4.934,831,5.996,839,5.099,840,5.099,841,5.099]],["title/classes/OAuthResourceServerErrorHandler.html",[0,0.196,205,2.998]],["body/classes/OAuthResourceServerErrorHandler.html",[0,0.282,2,1.563,3,0.888,4,1.008,5,0.851,8,2.499,10,1.914,14,1.836,21,1.094,22,2.158,30,0.927,37,1.283,38,0.015,39,1.283,40,0.927,41,1.008,43,1.627,68,1.135,72,0.749,103,1.094,114,0.01,115,0.012,116,0.01,205,4.667,215,4.863,218,3.096,220,3.808,229,1.571,230,2.443,531,3.808,832,3.808,833,5.665,834,5.665,835,5.501,836,5.88,837,4.628,838,4.628,842,5.341]],["title/classes/OAuthStorage.html",[0,0.196,669,1.933]],["body/classes/OAuthStorage.html",[0,0.238,2,0.677,3,0.603,4,0.436,5,0.368,9,0.942,10,1.879,11,0.828,12,0.902,14,0.795,15,0.763,18,0.994,21,0.473,22,1.197,28,2.277,30,0.777,33,1.781,34,0.985,37,1.076,38,0.016,39,1.076,40,0.777,41,0.957,43,1.364,44,0.828,46,1.818,51,1.197,54,1.619,62,1.743,63,0.864,64,0.864,68,0.401,72,0.746,73,1.894,74,1.619,75,1.031,76,1.031,77,1.031,82,0.985,83,1.674,92,1.432,103,0.473,109,0.534,114,0.004,115,0.007,116,0.004,125,1.3,126,1.15,127,0.763,169,2.185,203,1.743,223,1.082,229,0.555,230,0.864,235,1.031,237,1.415,243,0.625,255,1.164,286,2.161,293,3.276,417,1.978,420,0.902,470,0.828,498,1.546,516,0.733,521,0.578,522,0.943,530,1.247,533,1.031,542,1.119,548,0.902,550,1.608,561,1.082,562,1.197,563,0.352,564,1.082,565,1.698,566,1.082,567,1.197,568,1.197,569,1.197,570,1.197,571,1.031,572,1.197,574,1.247,575,2.373,576,2.333,577,1.817,578,1.197,579,1.415,580,1.197,581,1.031,582,1.197,583,1.546,584,1.698,585,1.197,586,1.711,587,1.879,588,1.197,589,1.082,590,1.137,591,1.197,592,1.137,593,0.733,595,0.864,596,1.031,597,1.197,598,1.879,599,0.704,601,1.698,602,1.698,603,1.998,604,1.784,605,1.197,606,1.879,607,1.197,608,1.197,609,1.197,610,1.197,612,0.985,613,0.985,614,0.942,615,2.626,616,1.197,617,1.137,619,1.619,620,1.197,621,0.763,622,1.137,623,1.137,624,2.095,625,1.673,626,1.619,628,1.082,629,1.784,631,1.197,632,0.985,633,1.137,634,0.795,635,1.031,636,1.197,637,1.197,638,1.197,639,1.197,640,1.031,641,1.197,643,1.031,644,1.197,645,2.709,646,0.985,647,2.319,648,1.082,649,0.902,650,1.031,651,1.082,652,1.137,653,1.137,654,1.197,655,2.853,656,1.197,657,1.197,658,1.197,659,1.197,660,1.784,661,1.478,662,1.879,663,1.247,664,1.546,665,1.619,666,1.546,667,1.784,668,1.784,669,1.908,670,2.319,671,2.319,672,2.319,673,1.137,674,1.197,675,1.197,676,1.197,677,2.853,678,1.031,679,0.733,680,1.197,681,1.137,682,1.197,683,1.197,684,1.197,685,1.698,686,1.478,687,1.879,688,1.908,689,1.784,690,1.197,691,1.082,692,1.197,693,1.197,694,0.985,695,0.733,696,0.763,697,1.197,698,1.031,699,1.197,700,0.733,701,0.828,702,0.733,703,1.137,704,0.864,705,1.197,706,1.197,707,1.197,708,1.197,709,1.197,710,1.197,711,1.197,712,1.197,713,1.197,714,1.197,715,1.197,716,1.197,717,1.197,718,1.197,719,1.197,720,1.197,721,1.197,722,1.197,723,1.197,724,1.197,725,1.197,726,1.197,727,1.197,728,1.197,729,1.197,730,1.197,731,1.197,732,1.197,733,1.197,734,3.143,735,3.143,736,3.143,843,2.311,844,2.311,845,2.311]],["title/classes/OAuthSuccessEvent.html",[0,0.196,782,2.998]],["body/classes/OAuthSuccessEvent.html",[0,0.3,2,1.335,3,1.198,4,0.861,5,0.726,10,1.186,30,0.792,37,1.096,38,0.016,39,1.096,40,1.25,41,0.861,46,1.953,64,1.704,72,0.825,114,0.009,115,0.011,116,0.009,129,4.029,201,2.641,259,2.644,530,2.259,750,2.814,751,3.013,752,4.759,753,4.684,754,4.964,755,3.252,757,2.814,758,3.013,759,2.814,760,3.013,761,3.013,762,2.814,763,3.013,764,3.013,765,3.013,766,3.013,767,3.013,768,3.013,769,2.814,770,2.814,771,3.013,772,3.013,773,3.013,774,2.814,775,2.814,776,3.013,777,2.135,778,3.013,779,3.013,780,3.013,781,3.252,782,3.91,783,4.957,784,4.684,785,3.013,846,4.561]],["title/interfaces/OidcDiscoveryDoc.html",[73,1.56,703,2.231]],["body/interfaces/OidcDiscoveryDoc.html",[0,0.222,3,0.541,4,0.381,5,0.321,9,0.822,10,1.662,11,0.723,12,0.787,14,0.694,15,0.666,18,0.908,21,0.413,28,2.305,33,1.677,34,0.86,38,0.016,40,1.322,41,0.381,44,0.723,46,1.7,51,1.074,54,1.452,62,1.614,63,0.754,64,0.754,68,0.35,72,0.713,73,1.771,74,1.452,75,0.9,76,0.9,77,0.9,82,0.86,83,1.35,92,1.339,103,0.413,109,0.466,114,0.004,115,0.006,116,0.004,125,1.166,126,1.032,127,0.666,169,1.755,203,1.614,223,0.944,229,0.485,230,0.754,235,0.9,237,1.831,243,0.546,255,1.064,275,1.326,286,0.86,293,3.059,417,1.831,420,0.787,470,0.723,498,1.387,516,0.639,521,0.504,522,0.846,530,0.694,533,0.9,542,1.023,548,0.787,550,1.488,561,0.944,562,1.045,563,0.307,564,0.944,565,1.523,566,0.944,567,1.045,568,1.045,569,1.045,570,1.045,571,0.9,572,1.045,574,1.119,575,2.197,576,2.161,577,1.682,578,1.045,579,1.269,580,1.045,581,0.9,582,1.045,583,1.387,584,1.523,585,1.045,586,1.612,587,1.686,588,1.045,589,0.944,590,0.992,591,1.045,592,0.992,593,0.639,595,0.754,596,0.9,597,1.045,598,1.686,599,0.614,601,1.523,602,1.523,603,1.826,604,1.601,605,1.045,606,1.686,607,1.045,608,1.045,609,1.045,610,1.045,612,0.86,613,0.86,614,0.822,615,2.119,616,1.045,617,0.992,619,1.452,620,1.045,621,0.666,622,0.992,623,0.992,624,1.915,625,1.529,626,1.452,628,0.944,629,1.601,631,1.045,632,0.86,633,0.992,634,0.694,635,0.9,636,1.045,637,1.045,638,1.045,639,1.045,640,0.9,641,1.045,643,0.9,644,1.045,645,2.533,646,0.86,647,1.686,648,0.944,649,0.787,650,0.9,651,0.944,652,0.992,653,0.992,654,1.045,655,2.668,656,1.045,657,1.045,658,1.045,659,1.045,660,0.992,661,0.822,662,1.045,663,0.694,664,0.86,665,0.9,666,0.86,667,0.992,668,0.992,669,1.387,670,1.686,671,1.686,672,1.686,673,0.992,674,1.045,675,1.045,676,1.045,677,2.852,678,0.9,679,0.639,680,1.045,681,0.992,682,1.045,683,1.045,684,1.045,685,1.523,686,1.326,687,1.686,688,2.001,689,1.601,690,1.045,691,0.944,692,1.045,693,1.045,694,0.86,695,0.639,696,0.666,697,1.045,698,0.9,699,1.045,700,1.032,701,1.166,702,1.032,703,1.601,704,1.755,705,2.432,706,2.432,707,2.432,708,2.432,709,2.432,710,2.432,711,2.432,712,2.432,713,2.432,714,2.432,715,2.432,716,2.432,717,2.432,718,2.432,719,2.432,720,2.432,721,2.432,722,2.432,723,2.432,724,2.432,725,2.432,726,2.432,727,2.432,728,2.432,729,2.432,730,2.432,731,2.432,732,2.432,733,2.432,847,1.245]],["title/interfaces/ParsedIdToken.html",[73,1.56,681,2.231]],["body/interfaces/ParsedIdToken.html",[0,0.241,3,0.617,4,0.449,5,0.379,9,0.969,10,1.746,11,0.852,12,0.927,14,0.817,15,0.785,18,1.012,21,0.487,28,2.276,33,1.802,34,1.013,38,0.016,40,1.027,41,0.449,44,0.852,46,2.168,51,1.505,54,2.034,62,1.77,63,0.888,64,0.888,68,0.413,72,0.752,73,1.92,74,2.491,75,1.061,76,2.298,77,2.298,82,1.013,83,1.505,92,1.452,103,0.487,109,0.549,114,0.005,115,0.007,116,0.005,125,1.845,126,1.175,127,0.785,169,1.924,203,1.77,223,1.113,229,0.571,230,0.888,235,1.061,237,1.446,243,0.643,255,1.185,275,1.511,286,1.013,293,3.202,417,2.008,420,0.927,470,0.852,498,1.58,516,0.754,521,0.594,522,0.964,530,0.817,533,1.061,542,1.139,548,0.927,550,1.632,561,1.113,562,1.231,563,0.362,564,1.113,565,1.735,566,1.113,567,1.231,568,1.231,569,1.231,570,1.231,571,1.061,572,1.231,574,1.275,575,2.41,576,2.29,577,1.845,578,1.231,579,1.446,580,1.231,581,1.061,582,1.231,583,1.58,584,1.735,585,1.231,586,1.731,587,1.92,588,1.231,589,1.113,590,1.169,591,1.231,592,1.169,593,0.754,595,0.888,596,1.061,597,1.231,598,1.92,599,0.724,601,1.735,602,1.735,603,2.034,604,1.823,605,1.231,606,1.92,607,1.231,608,1.231,609,1.231,610,1.231,612,1.013,613,1.013,614,0.969,615,2.361,616,1.231,617,1.169,619,1.655,620,1.231,621,0.785,622,1.169,623,1.169,624,2.133,625,1.704,626,1.655,628,1.113,629,2.242,631,1.231,632,1.013,633,1.169,634,0.817,635,1.061,636,1.231,637,1.231,638,1.231,639,1.231,640,1.061,641,1.231,643,1.061,644,1.231,645,2.746,646,1.013,647,1.92,648,1.113,649,0.927,650,1.061,651,1.113,652,1.169,653,1.169,654,1.231,655,2.892,656,1.231,657,1.231,658,1.231,659,1.231,660,1.169,661,0.969,662,1.231,663,0.817,664,1.013,665,1.061,666,1.013,667,1.169,668,1.169,669,1.58,670,1.92,671,1.92,672,1.92,673,1.169,674,1.231,675,1.231,676,1.231,677,3.064,678,1.061,679,0.754,680,1.231,681,1.823,682,2.667,683,2.667,684,2.667,685,1.735,686,1.511,687,1.92,688,1.943,689,1.823,690,1.231,691,1.113,692,1.231,693,1.231,694,1.013,695,0.754,696,0.785,697,1.231,698,1.061,699,1.231,700,0.754,701,0.852,702,0.754,703,1.169,704,0.888,705,1.231,706,1.231,707,1.231,708,1.231,709,1.231,710,1.231,711,1.231,712,1.231,713,1.231,714,1.231,715,1.231,716,1.231,717,1.231,718,1.231,719,1.231,720,1.231,721,1.231,722,1.231,723,1.231,724,1.231,725,1.231,726,1.231,727,1.231,728,1.231,729,1.231,730,1.231,731,1.231,732,1.231,733,1.231,847,1.467]],["title/classes/ReceivedTokens.html",[0,0.196,645,2.231]],["body/classes/ReceivedTokens.html",[0,0.241,2,0.7,3,0.619,4,0.451,5,0.381,9,0.974,10,1.749,11,0.856,12,0.932,14,0.822,15,0.789,18,1.015,21,0.489,28,2.272,30,0.896,33,1.806,34,1.018,38,0.016,40,0.896,41,1.056,44,0.856,46,1.957,51,1.229,54,2.041,62,2.038,63,0.893,64,0.893,68,0.415,72,0.754,73,1.924,74,2.304,75,2.041,76,1.066,77,1.066,82,1.018,83,1.704,92,1.455,103,0.489,109,0.552,114,0.005,115,0.007,116,0.005,125,1.334,126,1.18,127,0.789,169,1.93,203,1.775,223,1.119,229,0.574,230,0.893,235,1.066,237,1.452,243,0.646,255,1.343,275,1.517,286,1.018,293,3.206,417,2.415,420,0.932,470,0.856,498,1.587,516,0.758,521,0.597,522,0.968,530,0.822,533,1.066,542,1.143,548,0.932,550,1.637,561,1.119,562,1.238,563,0.364,564,1.119,565,1.743,566,1.119,567,1.238,568,1.238,569,1.238,570,1.238,571,1.066,572,1.238,574,1.28,575,2.417,576,2.294,577,1.85,578,1.238,579,1.452,580,1.238,581,1.066,582,1.238,583,1.587,584,1.743,585,1.238,586,1.735,587,1.928,588,1.238,589,1.119,590,1.175,591,1.238,592,1.175,593,0.758,595,0.893,596,1.066,597,1.238,598,1.928,599,0.728,601,1.743,602,1.743,603,2.041,604,1.831,605,1.238,606,1.928,607,1.238,608,1.238,609,1.238,610,1.238,612,1.018,613,1.018,614,0.974,615,2.369,616,1.238,617,1.175,619,1.661,620,1.238,621,0.789,622,1.175,623,1.175,624,2.141,625,1.709,626,1.661,628,1.119,629,1.831,631,1.238,632,1.018,633,1.175,634,0.822,635,1.066,636,1.238,637,1.238,638,1.238,639,1.238,640,1.066,641,1.238,643,1.066,644,1.238,645,2.915,646,1.018,647,1.928,648,1.119,649,0.932,650,1.066,651,1.119,652,1.175,653,1.175,654,1.238,655,2.899,656,1.238,657,1.238,658,1.238,659,1.238,660,1.175,661,0.974,662,1.238,663,0.822,664,1.018,665,1.066,666,1.018,667,1.175,668,1.175,669,1.587,670,1.928,671,1.928,672,1.928,673,1.175,674,1.238,675,1.238,676,1.238,677,3.07,678,1.661,679,1.18,680,2.369,681,1.175,682,1.238,683,1.238,684,1.238,685,1.743,686,1.517,687,1.928,688,1.949,689,1.831,690,1.238,691,1.119,692,1.238,693,1.238,694,1.018,695,0.758,696,0.789,697,1.238,698,1.066,699,1.238,700,0.758,701,0.856,702,0.758,703,1.175,704,0.893,705,1.238,706,1.238,707,1.238,708,1.238,709,1.238,710,1.238,711,1.238,712,1.238,713,1.238,714,1.238,715,1.238,716,1.238,717,1.238,718,1.238,719,1.238,720,1.238,721,1.238,722,1.238,723,1.238,724,1.238,725,1.238,726,1.238,727,1.238,728,1.238,729,1.238,730,1.238,731,1.238,732,1.238,733,1.238,848,2.39,849,2.39,850,2.39,851,2.39]],["title/injectables/SystemDateTimeProvider.html",[126,1.438,128,3.533]],["body/injectables/SystemDateTimeProvider.html",[0,0.281,3,0.882,4,1.001,5,0.845,10,1.831,21,1.086,22,2.148,30,1.13,38,0.015,43,1.982,68,0.921,72,0.746,103,1.333,109,1.772,114,0.01,115,0.012,116,0.01,117,5.374,118,4.596,119,2.9,120,4.596,121,5.374,123,6.363,125,2.523,126,2.063,127,1.75,128,5.068,129,3.773,130,4.596,132,3.503,527,5.64,852,5.303,853,5.303]],["title/interfaces/TokenResponse.html",[73,1.56,691,2.123]],["body/interfaces/TokenResponse.html",[0,0.239,3,0.61,4,0.443,5,0.374,9,0.956,10,1.739,11,0.84,12,0.915,14,0.806,15,0.774,18,1.003,21,0.48,28,2.283,33,1.792,34,0.999,38,0.016,40,1.067,41,0.853,44,0.84,46,1.831,51,1.831,54,1.637,62,1.757,63,1.91,64,0.876,68,0.407,72,0.749,73,1.907,74,1.637,75,1.046,76,1.046,77,1.046,82,0.999,83,1.492,92,1.442,103,0.48,109,0.542,114,0.004,115,0.007,116,0.004,125,1.832,126,1.163,127,0.774,169,1.91,203,1.757,223,1.098,229,0.563,230,0.876,235,1.046,237,1.431,243,0.634,255,1.329,275,1.495,286,0.999,293,3.19,417,2.398,420,0.915,470,0.84,498,1.563,516,0.743,521,0.586,522,0.954,530,0.806,533,1.046,542,1.13,548,0.915,550,1.62,561,1.098,562,1.215,563,0.357,564,1.098,565,1.717,566,1.098,567,1.215,568,1.215,569,1.215,570,1.215,571,1.046,572,1.215,574,1.261,575,2.392,576,2.28,577,1.832,578,1.215,579,1.431,580,1.215,581,1.046,582,1.215,583,1.563,584,1.717,585,1.215,586,1.722,587,1.9,588,1.215,589,1.098,590,1.153,591,1.215,592,1.153,593,0.743,595,0.876,596,1.046,597,1.215,598,1.9,599,0.714,601,1.717,602,1.717,603,2.016,604,1.804,605,1.215,606,1.9,607,1.215,608,1.215,609,1.215,610,1.215,612,0.999,613,0.999,614,0.956,615,2.34,616,1.215,617,1.153,619,1.637,620,1.215,621,0.774,622,1.153,623,1.153,624,2.115,625,1.689,626,1.637,628,1.098,629,1.804,631,1.215,632,0.999,633,1.153,634,0.806,635,1.046,636,1.215,637,1.215,638,1.215,639,1.215,640,1.046,641,1.215,643,1.046,644,1.215,645,2.728,646,0.999,647,1.9,648,1.098,649,0.915,650,1.046,651,1.098,652,1.153,653,1.153,654,1.215,655,2.873,656,1.215,657,1.215,658,1.215,659,1.215,660,1.153,661,0.956,662,1.215,663,0.806,664,0.999,665,1.046,666,0.999,667,1.153,668,1.153,669,1.563,670,1.9,671,1.9,672,1.9,673,1.153,674,1.215,675,1.215,676,1.215,677,3.046,678,1.046,679,0.743,680,1.215,681,1.153,682,1.215,683,1.215,684,1.215,685,2.115,686,1.841,687,2.34,688,2.178,689,2.222,690,1.9,691,1.717,692,2.647,693,2.647,694,2.178,695,1.62,696,0.774,697,1.215,698,1.046,699,1.215,700,0.743,701,0.84,702,0.743,703,1.153,704,0.876,705,1.215,706,1.215,707,1.215,708,1.215,709,1.215,710,1.215,711,1.215,712,1.215,713,1.215,714,1.215,715,1.215,716,1.215,717,1.215,718,1.215,719,1.215,720,1.215,721,1.215,722,1.215,723,1.215,724,1.215,725,1.215,726,1.215,727,1.215,728,1.215,729,1.215,730,1.215,731,1.215,732,1.215,733,1.215,847,1.447]],["title/injectables/UrlHelperService.html",[126,1.438,854,3.932]],["body/injectables/UrlHelperService.html",[0,0.201,3,0.776,4,0.88,5,0.743,21,0.955,22,1.982,28,2.089,30,1.042,33,2.135,35,1.988,37,1.443,38,0.016,39,1.443,40,1.042,41,1.133,43,1.829,46,2.314,68,0.81,72,0.534,84,4.062,103,1.36,114,0.009,115,0.011,116,0.009,126,1.903,127,1.54,132,3.082,147,2.559,164,3.11,169,2.244,286,1.988,434,3.284,530,1.604,566,2.81,589,2.81,792,3.633,854,5.203,855,6.64,856,4.665,857,6.005,858,6.005,859,6.005,860,4.665,861,6.005,862,4.665,863,4.665,864,4.665,865,6.005,866,6.005,867,4.665,868,4.665,869,4.665,870,6.005,871,4.665,872,4.665,873,4.665,874,4.665,875,4.665]],["title/interfaces/UserInfo.html",[73,1.56,698,2.025]],["body/interfaces/UserInfo.html",[0,0.244,3,0.771,4,0.461,5,0.389,9,0.995,10,1.759,11,0.875,12,0.952,14,0.84,15,0.806,18,1.029,21,0.5,28,2.275,30,0.424,33,1.822,34,1.041,38,0.016,40,0.424,41,0.461,44,0.875,46,1.866,51,1.25,54,1.689,62,1.796,63,0.913,64,0.913,68,0.424,72,0.759,73,1.944,74,1.689,75,1.09,76,1.09,77,1.09,82,1.041,83,1.531,92,1.47,103,0.5,109,0.564,114,0.005,115,0.007,116,0.005,125,1.357,126,1.2,127,0.806,169,1.952,203,1.796,223,1.143,229,0.587,230,0.913,235,1.09,237,1.477,243,0.66,255,1.206,275,1.543,286,1.613,293,3.224,417,2.038,420,0.952,470,0.875,498,1.613,516,0.774,521,0.61,522,0.984,530,0.84,533,1.09,542,1.159,548,0.952,550,1.656,561,1.143,562,1.265,563,0.372,564,1.143,565,1.772,566,1.143,567,1.265,568,1.265,569,1.265,570,1.265,571,1.09,572,1.265,574,1.302,575,2.445,576,2.311,577,1.872,578,1.265,579,1.477,580,1.265,581,1.09,582,1.265,583,1.613,584,1.772,585,1.265,586,1.751,587,1.961,588,1.265,589,1.143,590,1.201,591,1.265,592,1.201,593,0.774,595,0.913,596,1.09,597,1.265,598,1.961,599,0.744,601,1.772,602,1.772,603,2.069,604,1.862,605,1.265,606,1.961,607,1.265,608,1.265,609,1.265,610,1.265,612,1.041,613,1.041,614,0.995,615,2.401,616,1.265,617,1.201,619,1.689,620,1.265,621,0.806,622,1.201,623,1.201,624,2.17,625,1.733,626,1.689,628,1.143,629,1.862,631,1.265,632,1.041,633,1.201,634,0.84,635,1.09,636,1.265,637,1.265,638,1.265,639,1.265,640,1.09,641,1.265,643,1.09,644,1.265,645,2.78,646,1.041,647,1.961,648,1.143,649,0.952,650,1.09,651,1.143,652,1.201,653,1.201,654,1.265,655,2.928,656,1.265,657,1.265,658,1.265,659,1.265,660,1.201,661,0.995,662,1.265,663,0.84,664,1.041,665,1.09,666,1.041,667,1.201,668,1.201,669,1.613,670,1.961,671,1.961,672,1.961,673,1.201,674,1.265,675,1.265,676,1.265,677,3.098,678,1.09,679,0.774,680,1.265,681,1.201,682,1.265,683,1.265,684,1.265,685,2.17,686,1.889,687,2.401,688,2.226,689,2.28,690,1.265,691,1.143,692,1.265,693,1.265,694,1.041,695,0.774,696,1.25,697,1.961,698,1.689,699,2.706,700,0.774,701,0.875,702,0.774,703,1.201,704,0.913,705,1.265,706,1.265,707,1.265,708,1.265,709,1.265,710,1.265,711,1.265,712,1.265,713,1.265,714,1.265,715,1.265,716,1.265,717,1.265,718,1.265,719,1.265,720,1.265,721,1.265,722,1.265,723,1.265,724,1.265,725,1.265,726,1.265,727,1.265,728,1.265,729,1.265,730,1.265,731,1.265,732,1.265,733,1.265,847,1.507,876,2.442,877,2.442]],["title/classes/ValidationHandler.html",[0,0.196,12,1.77]],["body/classes/ValidationHandler.html",[0,0.209,1,2.426,2,0.996,3,0.566,4,0.642,5,0.542,6,2.642,7,4.396,8,1.592,9,1.386,10,1.931,11,1.219,12,2.4,13,1.861,14,1.666,15,1.6,16,4.065,17,1.673,18,1.076,19,2.426,20,3.202,21,0.697,22,1.6,23,3.774,25,2.426,26,3.73,28,1.902,29,4.065,30,0.841,32,2.649,33,1.719,34,2.065,35,1.45,36,0.755,37,1.165,38,0.016,39,1.357,40,0.841,41,0.915,42,3.202,43,1.476,44,2.548,45,2.649,46,2.031,48,2.649,49,4.396,50,2.649,51,2.296,52,2.649,53,2.649,54,1.518,55,2.248,56,2.649,57,4.667,59,4.82,60,4.637,61,4.026,62,1.941,63,2.11,65,3.202,67,3.73,68,0.591,69,2.426,70,2.426,71,2.649,72,0.647,73,1.941,74,1.518,75,1.518,76,1.518,77,1.518,78,1.673,79,2.649,80,3.774,81,3.774,82,2.065,83,1.6,84,3.697,85,3.774,86,2.649,87,2.649,88,2.248,89,2.649,90,2.649,91,2.649,92,0.885,93,2.649,94,2.649,95,2.649,96,2.099,97,4.791,98,2.649,99,4.791,100,2.649,101,2.649,102,2.649,103,0.993,104,4.396,105,2.649,106,2.649,107,2.649,108,2.248,109,0.786,110,2.649,111,2.248,112,2.099,113,2.649,114,0.006,115,0.009,116,0.006,526,2.649,878,3.402,879,3.402]],["title/interfaces/ValidationParams.html",[57,2.8,73,1.56]],["body/interfaces/ValidationParams.html",[0,0.213,1,2.49,3,0.581,4,0.659,5,0.556,6,1.634,7,2.719,8,1.634,10,1.822,11,1.251,12,2.234,13,1.91,14,1.697,15,1.63,16,3.262,17,1.717,18,1.096,19,2.49,20,3.262,21,0.715,23,3.845,25,2.49,26,2.307,28,2.076,29,4.113,32,2.719,33,1.744,34,2.104,35,1.488,36,0.775,38,0.016,39,0.839,40,1.184,42,3.262,44,2.443,45,2.719,46,2.436,48,2.719,49,4.46,50,2.719,51,2.168,52,2.719,53,2.719,54,1.558,55,2.307,56,2.719,57,4.417,59,4.439,60,4.439,61,3.52,62,1.697,63,1.845,65,2.307,67,3.262,68,0.606,69,2.49,70,2.49,71,2.719,72,0.656,73,1.697,74,2.778,75,2.778,76,2.778,77,2.778,78,3.061,79,4.848,80,2.719,81,2.719,82,1.488,83,1.153,84,2.7,85,3.845,86,2.719,87,2.719,88,2.307,89,2.719,90,2.719,91,2.719,92,0.908,93,2.719,94,2.719,95,2.719,96,2.155,97,4.848,98,2.719,99,4.848,100,2.719,101,2.719,102,2.719,103,1.011,104,4.46,105,2.719,106,2.719,107,2.719,108,2.307,109,0.806,110,2.719,111,2.307,112,2.155,113,2.719,114,0.007,115,0.009,116,0.007,155,2.428,275,2.012,847,2.155]],["title/classes/WebHttpUrlEncodingCodec.html",[0,0.196,880,3.932]],["body/classes/WebHttpUrlEncodingCodec.html",[0,0.199,2,1.349,3,0.766,4,0.87,5,0.734,9,1.877,14,2.048,21,0.944,22,1.966,28,2.265,30,1.211,37,1.677,38,0.016,39,1.677,40,1.211,41,1.317,43,2.125,68,0.8,72,0.528,103,1.429,114,0.009,115,0.011,116,0.009,165,4.248,218,2.671,305,4.248,374,4.248,574,2.048,576,2.135,880,5.162,881,4.608,882,5.957,883,5.957,884,5.957,885,6.601,886,5.957,887,5.957,888,5.957,889,5.957,890,5.957,891,4.608,892,5.957,893,4.608,894,5.957,895,4.608,896,5.957,897,4.608,898,4.608,899,4.608,900,4.608,901,4.608]],["title/changelog.html",[902,2.287,903,2.607,904,3.42]],["body/changelog.html",[5,0.782,13,1.192,17,2.119,18,1.326,33,1.495,36,1.265,37,0.524,38,0.009,40,0.601,41,0.411,51,0.719,64,2.13,78,1.072,83,0.719,92,0.9,109,0.8,112,1.345,114,0.004,115,0.007,116,0.004,117,1.554,119,1.192,121,2.469,145,1.44,146,1.554,161,1.44,183,2.137,201,0.972,229,0.524,230,0.814,231,1.345,232,2.542,234,4.065,237,0.85,243,1.448,255,1.554,282,3.072,287,1.755,303,1.697,380,2.137,402,1.697,404,2.469,417,2.554,420,1.351,431,1.554,433,2.469,451,2.846,511,1.072,520,0.85,521,1.494,532,0.888,536,2.356,541,1.914,542,1.786,545,2.696,548,1.68,550,2.265,564,1.02,566,1.02,574,1.841,577,0.781,579,2.088,581,2.667,583,2.091,589,1.621,592,1.072,599,1.631,601,1.02,602,1.02,617,1.072,621,0.719,633,1.072,634,1.191,661,0.888,679,0.691,685,1.02,686,1.755,691,1.02,694,1.475,698,0.972,702,1.098,777,2.506,825,1.697,904,1.889,905,2.179,906,2.179,907,2.179,908,4.64,909,4.64,910,2.179,911,2.179,912,5.977,913,2.179,914,2.179,915,2.179,916,2.179,917,2.179,918,2.179,919,2.179,920,2.179,921,2.179,922,2.179,923,2.179,924,2.179,925,2.179,926,2.179,927,5.355,928,2.179,929,2.179,930,2.179,931,2.179,932,2.179,933,3.072,934,2.179,935,2.179,936,2.179,937,2.179,938,2.179,939,2.179,940,1.554,941,2.179,942,1.192,943,2.179,944,2.179,945,5.701,946,2.179,947,2.179,948,2.179,949,2.179,950,2.179,951,0.888,952,2.179,953,3.463,954,2.179,955,2.179,956,2.179,957,2.179,958,4.64,959,2.179,960,2.179,961,2.179,962,1.263,963,2.179,964,2.469,965,2.179,966,2.179,967,1.889,968,2.179,969,4.94,970,2.179,971,2.179,972,1.697,973,2.179,974,3.5,975,1.192,976,2.179,977,4.262,978,2.179,979,2.179,980,2.179,981,2.179,982,2.179,983,1.697,984,1.889,985,3.734,986,2.179,987,2.179,988,2.179,989,2.179,990,2.179,991,1.554,992,2.179,993,2.179,994,4.308,995,5.977,996,4.308,997,4.308,998,3.463,999,2.179,1000,2.179,1001,2.179,1002,2.179,1003,2.179,1004,2.179,1005,3.463,1006,3.463,1007,2.179,1008,2.179,1009,2.179,1010,2.179,1011,2.179,1012,2.179,1013,2.179,1014,2.179,1015,4.308,1016,3.463,1017,2.179,1018,3.463,1019,2.179,1020,2.179,1021,2.179,1022,4.308,1023,2.179,1024,2.179,1025,3.001,1026,2.179,1027,2.179,1028,2.179,1029,2.179,1030,2.179,1031,2.179,1032,3.463,1033,4.308,1034,4.308,1035,4.308,1036,2.179,1037,1.697,1038,2.179,1039,4.908,1040,2.179,1041,2.179,1042,2.179,1043,2.179,1044,2.179,1045,2.179,1046,2.179,1047,2.179,1048,4.308,1049,3.463,1050,2.179,1051,2.179,1052,2.179,1053,3.463,1054,2.179,1055,2.179,1056,1.889,1057,2.179,1058,2.179,1059,2.179,1060,2.179,1061,2.179,1062,3.001,1063,2.179,1064,3.734,1065,3.355,1066,4.308,1067,2.179,1068,4.308,1069,3.734,1070,3.072,1071,4.308,1072,2.179,1073,1.889,1074,2.179,1075,2.179,1076,2.356,1077,1.554,1078,2.179,1079,1.889,1080,3.463,1081,3.463,1082,3.463,1083,3.463,1084,3.463,1085,2.469,1086,2.137,1087,3.001,1088,3.463,1089,3.688,1090,1.703,1091,3.355,1092,3.001,1093,3.463,1094,3.463,1095,3.028,1096,2.007,1097,2.179,1098,2.469,1099,2.696,1100,3.463,1101,3.001,1102,4.253,1103,3.463,1104,2.179,1105,2.179,1106,2.179,1107,2.179,1108,3.001,1109,3.001,1110,2.288,1111,3.463,1112,3.001,1113,3.001,1114,3.463,1115,3.463,1116,3.463,1117,4.308,1118,2.696,1119,3.463,1120,2.469,1121,2.137,1122,3.463,1123,3.463,1124,3.463,1125,3.463,1126,3.463,1127,3.463,1128,3.463,1129,3.463,1130,3.463,1131,3.001,1132,3.463,1133,3.463,1134,3.463,1135,3.463,1136,3.463,1137,2.179,1138,2.179,1139,2.179,1140,3.463,1141,2.179,1142,3.463,1143,2.179,1144,1.889,1145,1.889,1146,1.889,1147,1.889,1148,0.972,1149,1.889,1150,1.889,1151,1.263,1152,1.44,1153,2.179,1154,2.179,1155,2.179,1156,1.554,1157,2.179,1158,2.179,1159,2.179,1160,2.179,1161,2.179,1162,2.179,1163,2.179,1164,3.463,1165,2.179,1166,2.179,1167,3.463,1168,1.889,1169,2.179,1170,2.179,1171,3.072,1172,3.463,1173,2.179,1174,2.179,1175,2.179,1176,2.179,1177,2.179,1178,2.179,1179,1.889,1180,1.889,1181,2.179,1182,2.179,1183,2.179,1184,2.179,1185,2.179,1186,2.179,1187,2.179,1188,1.889,1189,2.179,1190,2.179]],["title/dependencies.html",[1191,3.946,1192,4.185]],["body/dependencies.html",[38,0.016,70,3.627,78,2.502,114,0.01,115,0.012,116,0.01,127,1.679,145,3.361,146,3.627,149,3.961,165,3.627,220,4.523,520,2.474,521,1.585,522,1.649,536,2.782,811,4.408,933,3.627,1192,3.961,1193,5.087,1194,7.851,1195,5.087,1196,5.087,1197,5.087,1198,5.497,1199,4.939,1200,5.087,1201,5.087,1202,5.087,1203,5.087,1204,5.087,1205,5.087,1206,5.087,1207,5.087,1208,4.408,1209,5.087,1210,3.961,1211,5.087,1212,5.087,1213,5.087,1214,5.087,1215,5.087,1216,6.343,1217,5.087,1218,5.087,1219,5.087,1220,5.087,1221,5.087,1222,5.087,1223,5.087,1224,5.087,1225,5.087,1226,5.087,1227,5.087]],["title/miscellaneous/functions.html",[1228,2.435,1229,4.657]],["body/miscellaneous/functions.html",[3,1.127,6,2.654,8,2.979,21,0.876,28,1.203,33,1.727,37,1.86,38,0.015,39,1.86,41,1.461,43,2.065,69,4.044,114,0.008,115,0.011,116,0.008,125,1.532,133,3.329,140,3.048,156,3.329,158,3.329,169,2.378,272,4.834,273,3.048,274,5.275,284,3.329,286,2.417,371,4.416,372,3.329,374,4.044,375,4.416,376,4.416,377,4.416,449,4.416,465,4.416,466,5.279,467,4.416,792,3.329,805,4.915,807,2.338,812,4.416,818,3.705,1228,2.638,1229,3.705,1230,5.672,1231,5.672,1232,6.365,1233,6.365,1234,5.672,1235,6.365,1236,5.672,1237,5.672,1238,5.672,1239,5.672,1240,6.283,1241,5.672,1242,4.275,1243,4.275,1244,4.275,1245,4.915,1246,4.275,1247,4.275,1248,4.275,1249,4.275,1250,4.275,1251,4.275,1252,4.275,1253,4.275,1254,4.275,1255,4.275,1256,5.672,1257,5.672,1258,3.048,1259,4.275,1260,4.275]],["title/index.html",[21,0.808,902,2.287,903,2.607]],["body/index.html",[0,0.074,4,0.323,5,0.273,11,0.613,13,0.936,15,1.205,17,1.399,18,1.563,30,0.297,34,0.729,36,1.198,37,0.411,38,0.015,51,0.565,67,1.131,68,1.05,72,0.326,78,0.842,83,0.565,92,0.949,96,1.755,109,0.395,111,1.88,114,0.003,115,0.005,116,0.005,119,0.936,121,2.029,147,0.729,155,1.795,195,1.483,218,1.649,229,1.41,232,2.638,243,0.769,249,1.88,255,1.614,282,1.221,287,1.159,297,1.997,380,1.056,396,2.216,398,2.216,399,1.333,403,2.843,404,1.221,406,1.333,420,0.668,431,2.029,434,0.936,457,1.056,473,1.333,476,1.333,509,2.253,516,1.157,517,1.333,518,2.401,520,2.97,521,1.617,522,1.651,532,1.159,535,1.221,536,3.209,537,2.843,538,2.582,539,1.221,541,2.205,542,1.729,543,2.216,544,3.676,546,1.88,547,0.801,548,0.668,549,2.029,550,2.086,551,2.029,553,1.88,554,0.634,555,2.029,556,2.216,557,2.216,558,1.333,563,0.261,574,0.978,576,1.308,577,0.613,584,0.801,586,1.069,593,1.157,595,0.64,596,0.764,599,1.295,612,1.212,613,0.729,614,1.159,621,1.782,628,0.801,632,1.556,634,0.978,643,0.764,646,2.012,650,1.27,663,0.978,664,0.729,666,0.729,678,0.764,679,0.902,686,1.733,688,1.212,689,1.399,695,1.157,696,1.782,698,0.764,700,1.157,701,1.308,702,1.348,704,1.063,742,2.466,777,1.709,798,1.88,803,1.483,809,1.333,812,3.312,813,1.399,814,1.333,815,1.333,817,1.131,821,1.221,824,1.221,830,2.029,908,2.466,909,1.483,933,1.221,940,2.029,942,2.326,951,1.488,958,2.466,962,0.992,964,2.029,969,1.483,974,1.221,983,1.333,991,2.029,1025,1.483,1037,2.216,1065,1.333,1070,1.221,1076,2.326,1079,1.483,1086,1.755,1089,2.624,1090,0.842,1091,1.333,1092,1.483,1096,3.129,1098,3.632,1101,1.483,1102,1.483,1110,1.88,1118,1.333,1121,1.755,1131,1.483,1144,1.483,1145,1.483,1146,1.483,1147,1.483,1148,2.107,1149,1.483,1150,1.483,1151,1.649,1152,1.131,1171,1.221,1198,1.483,1199,1.333,1208,1.483,1210,1.333,1258,2.029,1261,1.712,1262,3.651,1263,2.603,1264,1.712,1265,1.712,1266,2.845,1267,1.712,1268,1.712,1269,2.216,1270,1.712,1271,2.845,1272,3.676,1273,1.712,1274,1.712,1275,3.632,1276,3.651,1277,1.712,1278,2.466,1279,1.333,1280,1.712,1281,1.712,1282,4.254,1283,1.712,1284,2.845,1285,1.483,1286,2.845,1287,1.712,1288,1.712,1289,1.712,1290,3.119,1291,1.712,1292,1.712,1293,1.712,1294,2.845,1295,1.712,1296,1.712,1297,3.033,1298,2.466,1299,0.842,1300,2.216,1301,1.333,1302,1.221,1303,1.333,1304,1.483,1305,2.216,1306,2.216,1307,0.886,1308,1.483,1309,2.216,1310,3.651,1311,1.712,1312,1.712,1313,2.624,1314,1.755,1315,1.712,1316,6.765,1317,4.898,1318,2.845,1319,1.712,1320,1.712,1321,1.712,1322,1.712,1323,2.845,1324,1.712,1325,1.712,1326,1.712,1327,2.845,1328,1.131,1329,1.712,1330,2.845,1331,1.712,1332,1.712,1333,2.845,1334,1.712,1335,1.712,1336,1.712,1337,1.712,1338,3.651,1339,2.845,1340,1.712,1341,1.712,1342,1.483,1343,1.712,1344,1.483,1345,1.333,1346,1.712,1347,1.712,1348,1.712,1349,1.712,1350,1.712,1351,1.712,1352,1.131,1353,1.712,1354,1.712,1355,1.712,1356,1.712,1357,4.721,1358,1.483,1359,1.333,1360,2.845,1361,1.712,1362,1.131,1363,0.992,1364,1.712,1365,1.221,1366,2.845,1367,1.333,1368,1.755,1369,1.483,1370,1.483,1371,2.845,1372,1.712,1373,1.712,1374,1.483,1375,1.712,1376,1.712,1377,1.221,1378,1.712,1379,2.216,1380,1.483,1381,1.712,1382,1.712,1383,1.483,1384,1.712,1385,1.712,1386,1.712,1387,2.326,1388,1.712,1389,3.651,1390,1.712,1391,1.712,1392,1.712,1393,1.712,1394,1.712,1395,3.651,1396,1.712,1397,2.845,1398,1.712,1399,2.624,1400,1.88,1401,2.845,1402,2.216,1403,1.712,1404,1.712,1405,2.845,1406,2.253,1407,1.712,1408,1.712,1409,1.221,1410,1.333,1411,1.712,1412,1.483,1413,1.483,1414,3.651,1415,1.712,1416,1.712,1417,2.466,1418,3.164,1419,2.216,1420,1.333,1421,1.483,1422,1.333,1423,1.712,1424,1.755,1425,1.712,1426,1.333,1427,1.712,1428,0.729,1429,1.221,1430,1.755,1431,1.712,1432,1.712,1433,0.936,1434,0.992,1435,0.992,1436,1.221,1437,1.755,1438,1.712,1439,1.483,1440,2.466,1441,2.845,1442,2.216,1443,1.333,1444,1.712,1445,1.712,1446,1.712,1447,1.221,1448,1.483,1449,0.992,1450,1.473,1451,1.056,1452,1.712,1453,1.712,1454,1.88,1455,1.131,1456,1.056,1457,0.886,1458,0.886,1459,1.712,1460,1.712,1461,2.845,1462,1.712,1463,1.712,1464,1.712,1465,1.88,1466,1.131,1467,1.712,1468,1.712,1469,1.483,1470,1.712,1471,1.712,1472,1.712,1473,1.712,1474,1.712,1475,2.216,1476,1.056,1477,1.712,1478,1.712,1479,1.88,1480,1.221,1481,1.712,1482,1.712,1483,1.712,1484,1.483,1485,1.88,1486,1.221,1487,1.333,1488,1.712,1489,1.221,1490,1.712,1491,1.483,1492,1.712,1493,2.466,1494,1.483,1495,0.992,1496,1.333,1497,1.712,1498,2.845,1499,1.712,1500,1.712,1501,1.712,1502,1.483,1503,1.483,1504,1.712,1505,1.483,1506,1.131,1507,1.333,1508,0.936,1509,2.845,1510,1.712,1511,1.712,1512,1.712,1513,1.712,1514,2.845,1515,2.845,1516,1.712,1517,1.712,1518,1.712,1519,1.712,1520,1.712,1521,1.712,1522,1.712,1523,1.712,1524,1.333,1525,1.712,1526,1.712,1527,1.712,1528,1.712,1529,1.712,1530,1.712,1531,1.712,1532,1.712,1533,1.712,1534,1.712,1535,1.221,1536,1.712,1537,3.164,1538,1.483,1539,1.712,1540,1.712,1541,1.712,1542,1.712,1543,1.712]],["title/license.html",[902,2.287,903,2.607,1069,3.42]],["body/license.html",[18,1.404,38,0.012,114,0.01,115,0.012,116,0.01,219,4.389,297,2.77,378,3.944,593,1.605,622,2.49,975,2.77,1056,5.481,1179,4.389,1180,4.389,1275,3.611,1279,3.944,1345,3.944,1505,4.389,1508,2.77,1544,6.898,1545,5.064,1546,6.325,1547,5.064,1548,5.064,1549,5.064,1550,5.064,1551,5.064,1552,6.325,1553,7.845,1554,5.064,1555,5.064,1556,5.064,1557,4.557,1558,5.064,1559,3.944,1560,5.064,1561,5.064,1562,5.064,1563,5.064,1564,5.064,1565,5.064,1566,5.064,1567,6.325,1568,5.064,1569,5.064,1570,5.064,1571,5.064,1572,5.064,1573,6.325,1574,6.325,1575,5.064,1576,5.064,1577,5.064,1578,5.064,1579,5.064,1580,5.064,1581,5.064,1582,5.064,1583,5.064,1584,5.064,1585,5.064,1586,4.389,1587,5.064,1588,5.064,1589,5.064,1590,5.064,1591,5.064,1592,5.064,1593,5.064,1594,5.064,1595,4.389,1596,5.064,1597,5.064,1598,5.064,1599,5.064,1600,5.064]],["title/modules.html",[799,4.593]],["body/modules.html",[38,0.014,114,0.012,115,0.014,116,0.012,798,4.149,799,4.89,1535,4.478,1601,6.28,1602,6.28]],["title/overview.html",[1603,5.111]],["body/overview.html",[2,1.788,38,0.013,114,0.012,115,0.013,116,0.012,132,4.036,281,4.758,297,3.342,407,4.758,432,5.515,434,3.342,797,4.758,847,3.77,1192,5.515,1603,5.295,1604,7.082]],["title/miscellaneous/typealiases.html",[1228,2.435,1605,5.374]],["body/miscellaneous/typealiases.html",[21,1.123,38,0.016,40,0.952,114,0.01,115,0.013,116,0.01,259,3.179,751,3.623,754,4.389,757,3.384,758,3.623,759,3.384,760,3.623,761,3.623,762,3.384,763,3.623,764,3.623,765,3.623,766,3.623,767,3.623,768,3.623,769,3.384,770,3.384,771,3.623,772,3.623,773,3.623,774,3.384,775,3.384,776,3.623,777,2.566,778,3.623,779,3.623,780,3.623,1228,3.384,1606,5.484,1607,5.484]],["title/miscellaneous/variables.html",[1228,2.435,1608,4.657]],["body/miscellaneous/variables.html",[6,2.611,8,2.611,21,0.854,35,3.068,36,0.926,38,0.015,40,0.969,68,0.969,78,2.744,109,1.452,114,0.008,115,0.011,116,0.011,125,2,273,2.975,274,4.989,276,4.345,277,4.345,287,2.934,301,3.249,302,3.249,305,3.979,306,3.249,307,3.249,308,3.249,309,3.249,310,3.249,311,3.249,312,3.249,313,3.249,314,3.249,315,3.249,316,3.249,317,3.249,318,3.249,319,3.249,320,3.249,321,3.249,322,3.249,323,3.249,324,3.249,325,3.249,326,3.249,327,3.249,328,3.249,329,3.249,330,3.249,331,3.249,332,3.249,333,3.249,334,3.249,335,3.249,336,3.249,337,3.249,338,3.249,339,3.249,340,3.249,341,3.249,342,3.249,343,3.249,344,3.249,345,3.249,346,3.249,347,3.249,348,3.249,349,3.249,350,3.249,351,3.249,352,3.249,353,3.249,354,3.249,355,3.249,356,3.249,357,3.249,358,3.249,359,3.249,360,3.249,361,3.249,362,3.249,363,3.249,364,3.249,365,3.249,366,3.249,367,3.249,368,3.249,369,3.249,370,3.249,461,4.345,462,3.249,509,3.443,510,3.615,511,2.744,516,1.323,517,3.249,518,1.434,520,2.452,521,1.572,522,1.635,531,3.979,532,2.562,533,1.862,534,3.615,535,2.975,536,2.282,537,3.249,538,2.282,539,2.975,540,2.975,541,1.627,542,1.395,543,3.249,544,4.345,545,3.249,546,2.756,547,1.952,548,1.627,549,2.975,550,1.323,551,2.975,552,3.615,553,2.756,554,0.724,555,2.975,556,3.249,557,3.249,558,3.249,1228,2.574,1240,5.817,1608,3.615,1609,5.58,1610,4.172,1611,4.172,1612,4.172,1613,4.172]],["title/additional-documentation/getting-started.html",[554,0.606,563,0.532,902,2.024,903,2.306]],["body/additional-documentation/getting-started.html",[38,0.014,114,0.012,115,0.014,116,0.012,532,2.531,902,4.144,903,4.723,1466,4.103,1508,3.397,1614,4.836,1615,6.211]],["title/additional-documentation/preserving-state-(like-the-requested-url).html",[243,0.767,417,1.106,554,0.492,563,0.432,1616,2.458,1617,1.874]],["body/additional-documentation/preserving-state-(like-the-requested-url).html",[3,0.989,38,0.015,41,1.123,114,0.011,115,0.013,116,0.011,243,1.886,417,2.885,533,2.654,571,2.654,581,2.654,951,2.424,1489,4.241,1524,4.632,1616,5.155,1617,4.606,1618,5.948,1619,5.948,1620,4.241,1621,5.948,1622,5.948]],["title/additional-documentation/refreshing-a-token.html",[255,0.908,554,0.606,563,0.532,1363,2.024]],["body/additional-documentation/refreshing-a-token.html",[15,2.05,17,2.42,35,2.097,36,1.511,38,0.012,114,0.009,115,0.012,116,0.009,119,3.723,164,2.548,203,1.692,224,3.831,232,2.548,255,1.917,287,2.005,434,2.691,452,3.251,516,1.56,532,2.531,541,2.423,542,1.843,547,2.303,550,2.158,593,1.56,599,2.073,612,2.097,613,2.097,614,2.005,625,1.839,694,2.097,695,1.56,702,1.56,942,3.723,975,3.723,1077,3.508,1085,3.508,1086,3.036,1352,3.251,1362,3.251,1363,3.601,1365,4.429,1367,3.831,1400,4.104,1424,3.036,1426,3.831,1442,3.831,1450,2.548,1454,3.251,1559,3.831,1623,3.251,1624,3.508,1625,4.264,1626,4.264,1627,3.831,1628,5.383,1629,3.508,1630,4.264,1631,3.831,1632,4.264,1633,4.264,1634,4.264,1635,3.508,1636,3.831,1637,4.837,1638,3.831,1639,3.831,1640,4.837,1641,4.837,1642,3.831,1643,3.831,1644,3.831,1645,3.508,1646,3.831,1647,3.251,1648,3.831,1649,3.831,1650,3.831,1651,3.831]],["title/additional-documentation/silent-refresh.html",[554,0.606,563,0.532,579,1.362,599,1.063]],["body/additional-documentation/silent-refresh.html",[3,0.48,5,0.818,11,1.539,15,1.418,17,1.418,18,1.14,28,1.209,30,0.5,33,1.564,35,2.188,36,1.467,38,0.015,46,0.952,51,0.952,62,1.477,68,0.5,72,0.33,83,2.008,92,1.117,103,0.59,109,0.992,114,0.008,115,0.008,116,0.005,119,2.808,147,1.229,155,1.418,160,2.245,164,1.493,203,1.765,211,2.245,226,2.499,229,1.234,230,1.919,243,1.539,255,1.766,287,2.092,420,1.125,434,1.577,451,1.905,452,1.905,470,1.033,498,1.831,516,0.914,520,1.676,521,0.721,522,1.117,532,2.092,536,1.577,538,1.577,541,2.488,542,1.792,546,2.838,547,1.349,550,2.153,575,2.01,579,2.707,583,1.831,586,1.665,593,1.804,595,1.919,596,1.917,599,2.152,603,1.287,621,1.878,623,2.525,625,2.274,640,1.917,649,1.125,650,1.917,660,1.418,661,1.175,663,0.991,679,1.362,685,2.01,694,1.229,695,1.362,696,1.878,700,0.914,704,1.077,807,1.577,813,2.525,829,1.905,902,1.671,942,2.35,951,2.092,962,1.671,974,2.056,975,3.112,991,2.056,1070,2.056,1076,1.577,1085,2.056,1086,1.779,1087,2.499,1090,1.418,1095,2.651,1098,2.056,1148,1.917,1152,3.392,1245,2.499,1302,2.056,1307,1.493,1313,1.779,1352,1.905,1362,2.838,1363,2.976,1365,3.063,1387,3.112,1399,1.779,1400,2.838,1402,2.245,1409,2.056,1410,2.245,1428,1.229,1429,2.056,1430,3.168,1433,2.808,1434,1.671,1435,1.671,1436,2.056,1437,1.779,1443,2.245,1449,1.671,1450,1.493,1451,1.779,1455,1.905,1456,1.779,1457,1.493,1458,1.493,1486,2.056,1491,3.723,1495,1.671,1506,1.905,1508,1.577,1537,2.499,1538,2.499,1557,1.905,1629,2.056,1635,2.056,1636,2.245,1637,3.345,1638,2.245,1639,2.245,1640,3.345,1641,3.345,1642,2.245,1643,2.245,1644,2.245,1645,2.056,1646,2.245,1647,1.905,1648,2.245,1649,2.245,1650,2.245,1651,2.245,1652,2.883,1653,4.296,1654,2.245,1655,3.345,1656,2.883,1657,2.883,1658,2.883,1659,2.883,1660,2.883,1661,2.883,1662,4.296,1663,5.69,1664,2.056,1665,2.883,1666,2.883,1667,2.883,1668,2.883,1669,2.883,1670,3.723,1671,2.499,1672,1.671,1673,1.905,1674,2.883,1675,2.056,1676,2.056,1677,1.671,1678,2.883,1679,2.883,1680,2.883,1681,2.499,1682,4.449,1683,3.345,1684,2.499,1685,2.883,1686,2.883,1687,2.883,1688,2.883,1689,3.998,1690,2.883,1691,2.883,1692,2.883,1693,2.499,1694,2.883,1695,2.883,1696,2.883,1697,2.883,1698,2.883,1699,2.883,1700,2.883,1701,2.883,1702,4.296,1703,2.883,1704,4.296,1705,2.499,1706,2.245,1707,3.723,1708,2.883,1709,2.883,1710,2.883,1711,2.883,1712,2.883,1713,2.883,1714,2.883,1715,2.883,1716,2.883,1717,2.883,1718,2.499,1719,2.883,1720,2.883,1721,2.245,1722,4.296,1723,2.883,1724,2.883,1725,2.883,1726,2.883,1727,2.883,1728,2.883,1729,2.245,1730,2.883,1731,2.883,1732,2.883,1733,2.883,1734,2.883,1735,2.883,1736,2.883]],["title/additional-documentation/token-refresh.html",[255,0.908,554,0.606,563,0.532,599,1.063]],["body/additional-documentation/token-refresh.html",[15,2.05,17,2.42,35,2.097,36,1.511,38,0.012,114,0.009,115,0.012,116,0.009,119,3.723,164,2.548,203,1.692,224,3.831,232,2.548,255,1.917,287,2.005,434,2.691,452,3.251,516,1.56,532,2.531,541,2.423,542,1.843,547,2.303,550,2.158,593,1.56,599,2.073,612,2.097,613,2.097,614,2.005,625,1.839,694,2.097,695,1.56,702,1.56,942,3.723,975,3.723,1077,3.508,1085,3.508,1086,3.036,1352,3.251,1362,3.251,1363,3.601,1365,4.429,1367,3.831,1400,4.104,1424,3.036,1426,3.831,1442,3.831,1450,2.548,1454,3.251,1559,3.831,1623,3.251,1624,3.508,1625,4.264,1626,4.264,1627,3.831,1628,5.383,1629,3.508,1630,4.264,1631,3.831,1632,4.264,1633,4.264,1634,4.264,1635,3.508,1636,3.831,1637,4.837,1638,3.831,1639,3.831,1640,4.837,1641,4.837,1642,3.831,1643,3.831,1644,3.831,1645,3.508,1646,3.831,1647,3.251,1648,3.831,1649,3.831,1650,3.831,1651,3.831]],["title/additional-documentation/working-with-httpinterceptors.html",[554,0.606,563,0.532,1168,3.025,1737,3.491]],["body/additional-documentation/working-with-httpinterceptors.html",[0,0.258,10,0.983,14,1.794,18,1.158,28,1.063,38,0.016,41,0.985,55,3.447,62,1.299,63,1.95,68,1.244,72,0.598,84,2.067,92,1.357,103,1.467,114,0.007,115,0.01,116,0.007,126,1.654,127,1.247,196,2.943,197,5.178,201,1.686,203,1.794,204,3.275,205,4.467,206,3.275,207,3.219,209,3.275,210,4.522,211,2.943,212,4.522,214,3.275,215,3.948,216,3.275,217,5.178,218,2.191,228,4.653,229,1.436,230,2.527,231,3.219,232,1.957,233,2.943,234,3.72,235,2.875,236,3.275,237,1.474,240,3.275,243,1.022,244,3.275,245,3.275,246,3.275,247,3.275,248,5.584,249,4.257,250,3.275,253,3.275,255,1.554,268,3.275,269,4.522,271,3.275,287,2.126,457,2.332,470,1.354,518,1.299,520,1.474,521,0.945,522,0.983,548,1.474,574,1.794,586,1.527,593,1.198,614,1.54,649,1.474,651,1.769,669,2.546,821,2.695,824,3.72,830,3.72,832,2.695,835,2.943,836,4.063,985,3.275,1109,3.275,1298,3.275,1299,1.859,1307,1.957,1344,3.275,1345,2.943,1409,2.695,1419,2.943,1443,2.943,1447,2.695,1486,2.695,1493,4.522,1494,3.275,1495,2.191,1496,2.943,1629,2.695,1681,3.275,1738,3.779,1739,3.779,1740,3.779,1741,3.275,1742,3.275,1743,3.779,1744,3.779,1745,3.779,1746,3.779,1747,3.779,1748,3.779,1749,3.779,1750,3.779,1751,3.779,1752,4.522,1753,2.497,1754,3.779,1755,3.779,1756,3.779,1757,3.779,1758,3.779,1759,3.779,1760,3.779,1761,3.779,1762,3.275,1763,3.779,1764,2.943,1765,3.779,1766,3.779,1767,3.779,1768,3.779,1769,3.779,1770,4.063,1771,3.779,1772,3.779,1773,3.779,1774,3.779,1775,3.779,1776,3.779]],["title/additional-documentation/callback-after-login.html",[554,0.606,563,0.532,951,1.422,1777,2.718]],["body/additional-documentation/callback-after-login.html",[38,0.015,51,2.252,62,1.972,63,2.143,114,0.011,115,0.013,116,0.011,451,3.789,571,3.045,619,2.559,629,2.821,634,2.346,650,2.559,951,2.781,1328,3.789,1480,4.09,1495,3.325,1586,4.971,1617,3.789,1620,4.09,1777,5.314,1778,5.736,1779,5.736,1780,5.736,1781,5.736,1782,5.736,1783,5.736]],["title/additional-documentation/popup-based-login.html",[554,0.543,563,0.477,583,1.334,951,1.275,1120,2.232]],["body/additional-documentation/popup-based-login.html",[17,2.71,18,1.479,38,0.014,114,0.01,115,0.013,116,0.01,518,1.895,530,1.895,532,2.715,538,3.014,547,3.118,577,1.975,579,2.793,583,2.839,599,1.678,614,2.245,646,2.839,667,2.71,696,1.819,984,4.776,1065,4.291,1096,3.194,1118,4.291,1152,4.402,1171,3.93,1278,4.776,1290,3.641,1299,2.71,1352,3.641,1422,4.291,1428,2.348,1456,3.4,1654,4.291,1684,4.776,1705,4.776,1729,4.291,1784,4.776,1785,5.511,1786,4.776,1787,5.511,1788,5.511,1789,5.511,1790,5.511,1791,4.291,1792,5.511,1793,5.511,1794,5.511,1795,4.291,1796,5.511]],["title/additional-documentation/custom-query-parameters.html",[37,0.752,554,0.543,563,0.477,574,1.076,640,1.397]],["body/additional-documentation/custom-query-parameters.html",[33,1.831,37,1.444,38,0.015,114,0.011,115,0.013,116,0.011,541,2.345,542,1.503,574,2.412,586,1.76,625,2.247,640,2.682,1156,4.287,1797,5.21,1798,6.012,1799,6.012,1800,6.012,1801,6.012,1802,6.012,1803,6.012,1804,6.012]],["title/additional-documentation/events.html",[554,0.685,563,0.601,626,1.761]],["body/additional-documentation/events.html",[5,0.723,18,1.008,28,1.278,36,1.008,38,0.015,62,1.562,68,0.789,78,2.234,83,1.499,114,0.009,115,0.011,116,0.009,215,3.001,230,1.698,234,4.209,255,1.181,259,2.633,417,2.302,518,2.029,520,1.772,521,1.475,522,1.181,536,2.485,541,1.772,542,1.135,564,2.126,565,2.126,579,2.302,599,1.997,602,2.762,603,2.027,626,3.29,628,3.367,635,2.027,648,2.126,700,1.44,750,3.642,757,2.803,759,2.803,762,2.803,769,2.803,770,2.803,774,2.803,789,3.937,942,2.485,975,2.485,977,3.239,1076,3.228,1095,2.803,1099,3.537,1110,3.001,1120,3.239,1290,3.001,1313,3.642,1314,3.642,1368,2.803,1409,3.239,1495,2.633,1535,3.239,1617,3.899,1627,4.596,1683,3.537,1706,3.537,1805,4.543,1806,4.543,1807,4.543,1808,3.937,1809,4.543,1810,4.543,1811,3.937,1812,3.937,1813,4.543,1814,4.543,1815,4.543,1816,4.543,1817,4.543,1818,3.937,1819,4.543,1820,4.543,1821,4.543,1822,4.543,1823,4.543,1824,4.543,1825,5.902,1826,7.507,1827,5.902,1828,4.543,1829,4.543,1830,4.543,1831,4.543,1832,3.937,1833,4.543,1834,4.543,1835,3.937,1836,5.902,1837,5.902,1838,4.543,1839,4.543,1840,4.543,1841,4.543,1842,4.543,1843,4.543]],["title/additional-documentation/routing-with-the-hashstrategy.html",[554,0.606,563,0.532,1121,2.154,1507,2.718]],["body/additional-documentation/routing-with-the-hashstrategy.html",[13,2.914,18,1.183,19,4.654,33,1.623,36,1.449,38,0.015,62,1.832,72,0.61,83,1.759,92,1.385,114,0.01,115,0.012,116,0.01,287,2.171,498,2.27,518,1.832,565,2.494,575,2.494,595,2.439,596,2.913,601,2.494,604,2.62,744,4.149,797,4.149,1086,3.288,1121,4.027,1188,4.617,1285,6.115,1307,2.759,1429,3.799,1447,3.799,1476,3.288,1485,3.52,1495,3.088,1502,4.617,1506,3.52,1507,5.083,1664,3.799,1707,6.374,1721,4.149,1729,4.149,1844,4.149,1845,5.328,1846,4.617,1847,7.057,1848,5.328,1849,5.328,1850,5.328,1851,5.328,1852,5.328,1853,5.328,1854,5.328,1855,5.328,1856,5.328,1857,4.149,1858,5.328]],["title/additional-documentation/adapt-id_token-validation.html",[51,1.033,511,1.539,554,0.543,563,0.477,1859,2.713]],["body/additional-documentation/adapt-id_token-validation.html",[11,1.865,12,2.724,30,0.903,38,0.015,51,2.124,59,3.711,60,3.711,61,3.711,62,2.212,67,4.251,68,0.903,73,1.79,78,2.56,82,2.218,84,2.847,109,1.202,114,0.01,115,0.012,116,0.01,509,4.309,511,3.164,516,2.04,518,1.79,520,2.03,521,1.301,522,1.353,524,3.439,548,2.509,625,2.404,643,2.322,648,2.436,649,2.03,652,3.164,663,1.79,664,2.218,668,2.56,701,1.865,702,1.65,817,3.439,972,4.053,1290,3.439,1402,4.053,1428,2.218,1647,3.439,1689,4.053,1764,4.053,1786,4.51,1844,4.053,1859,4.51,1860,5.205,1861,5.205,1862,5.205,1863,5.205,1864,4.51,1865,5.205,1866,4.51,1867,5.205,1868,5.205,1869,4.51,1870,5.205,1871,5.205]],["title/additional-documentation/session-checks.html",[554,0.606,563,0.532,977,2.489,1095,2.154]],["body/additional-documentation/session-checks.html",[30,0.749,36,1.419,38,0.015,68,0.749,72,0.494,83,1.884,92,1.122,114,0.008,115,0.011,116,0.008,147,1.839,229,1.371,255,1.484,258,3.361,297,2.361,433,3.078,518,1.962,520,1.683,521,1.079,522,1.122,532,2.326,535,3.078,536,3.122,538,2.361,541,1.683,542,1.427,547,2.671,550,1.368,555,3.078,574,1.484,576,2.045,579,2.494,586,1.263,590,2.122,599,2.214,621,1.425,625,1.613,626,1.926,634,1.484,643,1.926,688,1.839,695,1.368,696,1.425,700,1.809,704,1.613,775,3.522,777,2.02,813,2.807,962,2.502,964,3.078,972,3.361,975,3.122,977,5.368,983,4.444,1073,3.74,1090,2.122,1095,3.946,1098,3.078,1148,3.036,1152,2.851,1263,3.078,1307,2.235,1314,2.663,1362,2.851,1368,3.522,1387,2.361,1422,3.361,1424,3.946,1428,1.839,1430,3.946,1433,3.122,1434,2.502,1437,2.663,1457,2.235,1458,2.235,1465,2.851,1485,2.851,1489,3.078,1595,3.74,1624,3.078,1647,3.771,1670,3.74,1672,2.502,1673,2.851,1677,2.502,1721,3.361,1762,3.74,1832,3.74,1846,3.74,1872,4.316,1873,4.316,1874,4.316,1875,4.316,1876,4.316,1877,4.316,1878,4.316,1879,4.316,1880,4.316,1881,4.316,1882,4.316,1883,3.361,1884,5.708,1885,4.316,1886,5.708,1887,4.316,1888,4.316,1889,4.316,1890,4.316,1891,4.316,1892,4.316,1893,4.316,1894,4.316,1895,4.316,1896,4.316,1897,4.316,1898,4.316]],["title/additional-documentation/server-side-rendering.html",[229,0.752,554,0.543,563,0.477,664,1.334,1899,2.713]],["body/additional-documentation/server-side-rendering.html",[38,0.013,114,0.011,115,0.013,116,0.011,229,1.775,514,5.141,518,2.04,576,2.126,664,3.149,1062,5.141,1089,3.66,1299,2.917,1305,4.62,1306,4.62,1753,3.919,1770,4.62,1784,5.141,1899,6.403,1900,5.932,1901,5.932,1902,5.141,1903,5.932,1904,5.932,1905,5.932]],["title/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[518,0.761,541,0.864,542,0.554,554,0.384,563,0.337,701,0.794,702,0.702,1428,0.944,1557,1.463]],["body/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[0,0.196,11,1.631,15,1.502,18,1.312,38,0.015,40,0.79,72,0.521,109,1.051,114,0.009,115,0.011,116,0.009,203,2.032,229,1.42,243,1.879,275,1.855,297,2.49,470,1.631,518,1.565,532,1.855,541,1.775,542,1.138,547,2.13,553,3.007,554,0.79,577,1.631,586,1.73,593,1.443,595,1.701,621,2.166,635,2.031,661,1.855,663,1.565,665,2.031,666,1.94,679,2.08,686,1.855,695,1.443,696,2.166,700,1.443,701,2.118,702,1.873,777,2.13,807,3.232,813,2.238,829,3.007,940,3.246,951,2.674,1089,2.809,1090,2.238,1148,2.637,1151,2.638,1297,3.246,1299,2.238,1313,2.809,1314,2.809,1374,3.945,1379,3.545,1387,3.589,1399,3.647,1406,2.809,1428,2.518,1433,2.49,1434,2.638,1435,2.638,1449,2.638,1450,2.357,1457,2.357,1458,2.357,1466,3.007,1476,2.809,1480,3.246,1487,3.545,1508,2.49,1557,3.007,1620,3.246,1623,3.007,1655,3.545,1664,3.246,1672,3.426,1677,2.638,1791,3.545,1883,3.545,1906,3.945,1907,3.246,1908,3.246,1909,4.552,1910,4.552,1911,3.545,1912,3.246,1913,3.545,1914,3.945,1915,3.945,1916,3.945,1917,4.552,1918,4.552,1919,4.552,1920,3.945,1921,3.945,1922,4.552]],["title/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[36,0.491,511,1.089,554,0.384,563,0.337,679,0.702,701,0.794,702,0.702,813,1.089,1923,2.214]],["body/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[18,1,30,1.019,38,0.015,64,1.684,68,0.782,72,0.516,92,1.172,114,0.009,115,0.011,116,0.009,147,1.92,229,1.083,243,1.941,287,1.836,420,1.758,498,2.502,511,3.212,516,1.429,518,1.549,520,1.758,521,1.126,522,1.527,581,2.011,586,1.911,595,1.684,621,1.487,649,1.758,663,1.549,679,2.275,688,1.92,695,1.861,696,1.487,700,2.07,701,2.636,702,2.332,704,2.441,813,3.403,817,3.879,951,1.836,962,2.612,1090,2.216,1148,2.62,1156,4.657,1279,3.509,1290,2.977,1368,4.03,1387,3.572,1410,3.509,1430,4.03,1433,2.465,1434,2.612,1435,2.612,1436,3.213,1437,2.78,1449,2.612,1450,2.334,1451,2.78,1455,2.977,1456,2.78,1457,2.334,1458,2.334,1503,3.905,1508,2.465,1672,2.612,1673,2.977,1675,3.213,1676,3.213,1677,2.612,1818,3.905,1924,6.531,1925,4.506,1926,5.996,1927,4.506,1928,5.088,1929,4.506,1930,4.506,1931,4.506,1932,4.506,1933,4.506,1934,4.506,1935,4.506,1936,4.506,1937,4.506,1938,4.506,1939,4.506,1940,4.506,1941,3.905,1942,3.905,1943,4.506]],["title/additional-documentation/using-systemjs.html",[36,0.775,554,0.606,563,0.532,1944,3.025]],["body/additional-documentation/using-systemjs.html",[36,1.223,38,0.015,114,0.01,115,0.013,116,0.01,145,3.641,223,2.579,520,2.902,521,1.86,522,1.862,807,3.014,933,4.751,1171,4.751,1314,3.4,1369,4.776,1683,4.291,1944,6.206,1945,5.511,1946,5.511,1947,5.511,1948,5.511,1949,6.663,1950,6.663,1951,5.511,1952,5.511,1953,5.511,1954,5.511,1955,5.511,1956,5.511,1957,5.511,1958,5.511]],["title/additional-documentation/using-implicit-flow.html",[36,0.695,541,1.221,542,0.782,554,0.543,563,0.477]],["body/additional-documentation/using-implicit-flow.html",[0,0.23,30,0.678,36,1.184,38,0.016,39,1.282,46,1.289,68,1.255,72,0.696,84,3.324,103,1.093,109,0.902,114,0.007,115,0.01,116,0.007,127,1.761,147,1.664,203,2.485,229,0.938,232,2.022,235,1.742,243,1.443,509,3.292,516,1.238,518,1.342,520,2.548,521,1.71,522,1.836,530,1.342,539,2.784,540,2.784,541,2.371,542,1.71,546,3.525,550,1.238,553,2.579,554,0.926,577,1.399,586,1.143,593,1.238,595,1.459,612,1.664,613,1.664,621,1.289,624,1.827,663,1.342,678,2.381,679,1.691,695,1.691,696,1.289,700,1.238,704,1.459,777,1.827,807,2.135,813,1.92,828,3.04,951,2.945,962,2.263,991,2.784,1090,1.92,1148,2.381,1151,2.263,1263,2.784,1383,3.383,1387,3.324,1400,2.579,1406,2.409,1420,3.04,1428,2.273,1430,4.031,1433,2.135,1434,2.263,1435,2.263,1437,2.409,1449,2.263,1450,2.022,1451,2.409,1455,2.579,1456,2.409,1457,2.022,1458,2.022,1479,2.579,1484,3.383,1485,2.579,1506,2.579,1524,3.04,1635,2.784,1672,2.263,1673,2.579,1675,2.784,1676,2.784,1677,2.263,1752,3.383,1753,2.579,1812,3.383,1844,3.04,1857,3.04,1866,3.383,1907,4.658,1908,3.804,1959,3.904,1960,3.904,1961,3.904,1962,3.904,1963,3.904,1964,3.904,1965,3.904,1966,5.335,1967,3.904,1968,3.904,1969,3.904,1970,3.904,1971,3.904,1972,3.383,1973,3.904,1974,3.904,1975,3.383,1976,3.383,1977,3.904,1978,5.335,1979,3.904,1980,3.904,1981,3.904]],["title/additional-documentation/using-password-flow.html",[36,0.695,542,0.782,554,0.543,563,0.477,1258,2.232]],["body/additional-documentation/using-password-flow.html",[0,0.184,3,0.474,11,1.021,17,2.095,18,1.344,36,1.564,38,0.016,39,0.685,40,0.495,43,0.868,51,0.941,72,0.488,103,0.584,109,0.658,114,0.005,115,0.008,116,0.005,162,1.883,169,2.114,183,2.628,201,1.272,203,1.945,228,3.317,229,1.526,232,1.476,243,1.379,255,1.712,275,1.735,380,2.628,470,1.526,512,4.903,516,0.904,518,1.753,522,1.107,532,2.467,540,2.032,541,1.112,542,1.83,547,2.648,550,0.904,576,2.276,577,1.021,584,1.334,586,1.772,593,0.904,599,1.297,619,2.276,621,2.097,624,1.334,625,1.592,632,1.815,634,0.98,646,1.215,661,1.161,663,2.422,665,1.272,666,1.215,678,2.525,679,1.92,686,1.161,695,1.617,696,2.234,700,1.35,701,2.027,702,1.793,741,2.47,744,2.22,942,1.559,951,1.735,1076,1.559,1077,3.037,1089,2.628,1090,2.095,1110,3.369,1112,3.691,1120,2.032,1121,1.759,1148,2.276,1199,3.317,1258,5.024,1263,2.032,1299,2.978,1313,1.759,1328,1.883,1342,3.691,1359,3.317,1363,1.652,1368,2.628,1380,3.691,1387,3.312,1406,3.147,1424,2.628,1428,2.411,1435,2.469,1439,2.47,1440,6.106,1447,3.037,1448,3.691,1449,2.469,1450,2.206,1454,3.369,1457,2.641,1458,2.641,1469,2.47,1476,1.759,1479,1.883,1480,3.636,1486,2.032,1495,1.652,1506,1.883,1557,3.369,1617,1.883,1645,2.032,1654,3.317,1664,2.032,1672,2.956,1677,2.469,1682,2.47,1689,2.22,1718,2.47,1753,1.883,1764,2.22,1811,2.47,1864,2.47,1869,3.691,1883,3.317,1907,3.037,1908,3.037,1912,3.037,1913,3.317,1914,2.47,1915,2.47,1916,2.47,1975,3.691,1976,3.691,1982,2.85,1983,2.85,1984,2.85,1985,2.85,1986,2.85,1987,2.85,1988,2.85,1989,2.85,1990,2.85,1991,2.47,1992,2.47,1993,2.85,1994,2.85,1995,2.85,1996,4.259,1997,2.85,1998,4.259,1999,4.259,2000,4.259,2001,4.259,2002,4.259,2003,4.259,2004,2.47,2005,2.85,2006,2.85,2007,2.85,2008,2.85,2009,2.85,2010,2.85,2011,2.85,2012,2.85,2013,2.85,2014,4.259,2015,2.85,2016,2.85,2017,2.85,2018,2.85,2019,2.85,2020,4.259,2021,2.85,2022,4.259,2023,2.85,2024,2.85,2025,2.85,2026,2.85,2027,2.85,2028,2.85]],["title/additional-documentation/configure-custom-oauthstorage.html",[554,0.543,563,0.477,574,1.076,669,1.334,1428,1.334]],["body/additional-documentation/configure-custom-oauthstorage.html",[0,0.266,18,1.367,36,1.367,38,0.016,68,1.069,72,0.706,103,0.995,114,0.009,115,0.012,116,0.009,119,2.656,144,3.782,155,2.388,218,2.815,287,1.979,458,3.782,470,1.74,518,1.67,520,1.894,521,1.214,522,1.263,538,2.656,574,2.326,577,1.74,632,2.625,649,1.894,661,2.9,665,3.349,666,2.625,669,3.032,798,3.208,809,3.782,813,3.327,814,3.782,815,3.782,817,3.208,974,4.393,1070,3.463,1210,3.782,1275,3.463,1299,2.388,1307,2.515,1406,3.801,1417,5.339,1418,5.864,1419,3.782,1420,3.782,1421,5.339,1428,2.069,1429,4.825,1508,2.656,1535,3.463,1706,3.782,1770,3.782,2029,4.857,2030,4.209,2031,4.857,2032,6.161,2033,4.857,2034,4.857]],["title/additional-documentation/manually-skipping-login-form.html",[554,0.492,563,0.432,951,1.156,1476,1.75,1479,1.874,2035,2.458]],["body/additional-documentation/manually-skipping-login-form.html",[15,1.579,18,1.354,36,1.062,38,0.016,44,1.714,83,2.014,103,1.376,109,1.105,114,0.009,115,0.012,116,0.009,229,1.15,243,1.294,255,1.587,258,3.725,538,2.617,542,1.196,549,3.411,554,0.83,561,2.856,571,2.135,577,1.714,593,1.517,603,2.135,632,2.039,651,2.239,679,1.517,696,1.579,940,3.411,951,1.949,975,2.617,1064,4.146,1076,2.617,1095,2.952,1108,4.146,1110,3.161,1113,4.146,1148,2.135,1151,2.773,1307,2.478,1313,2.952,1328,3.161,1359,3.725,1424,2.952,1451,2.952,1476,2.952,1479,3.161,1485,3.161,1489,3.411,1777,3.725,1808,4.146,1835,4.146,1857,3.725,1902,4.146,1972,4.146,2035,4.146,2036,6.102,2037,4.784,2038,4.784,2039,4.784,2040,6.102,2041,4.784,2042,6.102,2043,4.784,2044,4.784,2045,4.784,2046,4.784,2047,4.784,2048,4.784,2049,4.784,2050,4.784,2051,4.784,2052,4.784,2053,4.784,2054,4.784,2055,4.784,2056,4.784]],["title/additional-documentation/original-config-api.html",[554,0.543,563,0.477,807,1.712,1399,1.931,1623,2.068]],["body/additional-documentation/original-config-api.html",[0,0.184,15,1.411,18,0.949,30,0.742,35,1.822,38,0.015,39,1.027,72,0.49,109,0.987,111,2.824,114,0.008,115,0.011,116,0.008,201,1.908,203,1.95,229,1.529,243,1.721,255,1.111,275,1.742,470,2.032,511,3.13,516,1.355,518,1.47,521,1.069,522,1.111,532,1.742,547,2.001,551,3.048,554,0.742,586,1.66,593,1.798,595,1.598,619,1.908,621,2.101,635,1.908,663,1.47,679,2.018,695,1.355,696,2.237,700,1.355,701,2.429,702,2.149,704,1.598,807,3.708,813,2.102,829,2.824,942,2.338,951,2.593,1076,2.338,1089,3.499,1090,2.102,1099,3.329,1121,2.638,1148,1.908,1151,2.478,1297,3.048,1314,2.638,1317,3.705,1328,2.824,1379,3.329,1387,3.481,1399,4.183,1406,3.499,1412,3.705,1413,3.705,1428,1.822,1433,2.338,1434,2.478,1435,2.478,1436,3.048,1449,2.478,1450,2.214,1451,2.638,1455,2.824,1456,2.638,1457,2.214,1458,2.214,1466,2.824,1487,3.329,1508,2.338,1614,3.329,1620,3.048,1623,3.747,1624,3.048,1655,4.416,1672,2.478,1673,2.824,1675,3.048,1676,3.048,1677,2.478,1741,3.705,1742,3.705,1791,3.329,1906,3.705,1907,3.048,1908,3.048,1911,3.329,1912,3.048,1913,3.329,1920,3.705,1921,3.705,1926,4.915,1928,3.705,1941,3.705,1942,3.705,1991,3.705,1992,3.705,2004,3.705,2057,4.275,2058,4.275,2059,4.275,2060,4.275,2061,4.275,2062,4.275,2063,4.275,2064,4.275,2065,4.275]],["title/additional-documentation/authorization-servers.html",[554,0.606,563,0.532,1475,2.718,2066,3.025]],["body/additional-documentation/authorization-servers.html",[36,1.32,38,0.013,114,0.011,115,0.013,116,0.011,521,1.487,621,1.963,634,2.397,688,2.535,700,1.886,964,4.241,1096,3.448,1358,5.155,1370,5.155,1475,5.76,1631,4.632,1671,5.155,1753,3.93,1795,4.632,2030,5.155,2067,5.948,2068,6.972,2069,5.948,2070,5.948,2071,5.948]],["title/additional-documentation/authorization-servers/using-identity-server.html",[36,0.695,229,0.752,554,0.543,563,0.477,1148,1.397]],["body/additional-documentation/authorization-servers/using-identity-server.html",[36,1.375,38,0.014,114,0.012,115,0.014,116,0.012,229,1.715,634,2.13,1096,3.59,1148,3.185,1299,3.046,1377,4.417,1465,4.092]],["title/additional-documentation/authorization-servers/using-keycloak.html",[36,0.775,554,0.606,563,0.532,1269,2.718]],["body/additional-documentation/authorization-servers/using-keycloak.html",[36,1.382,38,0.014,114,0.012,115,0.014,116,0.012,634,2.141,1096,3.61,1269,5.576,1299,3.063,1377,4.441,1465,4.115]],["title/additional-documentation/authorization-servers/auth0.html",[554,0.685,563,0.601,1272,3.073]],["body/additional-documentation/authorization-servers/auth0.html",[5,0.751,18,1.342,36,1.481,37,1.133,38,0.015,39,1.133,41,0.89,68,0.818,72,0.54,92,1.226,114,0.009,115,0.011,116,0.009,147,2.009,255,1.735,297,2.578,380,3.73,520,2.358,521,1.511,522,1.572,532,1.921,550,1.916,554,0.818,586,1.38,599,1.841,634,1.621,646,2.009,649,1.839,663,1.621,679,1.494,686,2.463,695,1.494,700,1.494,704,1.762,777,2.829,902,2.732,962,2.732,967,5.238,1037,3.671,1076,2.578,1090,2.318,1091,3.671,1096,2.732,1151,3.504,1156,3.361,1272,5.481,1275,3.361,1299,2.318,1307,2.441,1309,3.671,1363,2.732,1368,3.73,1377,3.361,1399,2.909,1428,2.576,1430,4.117,1433,2.578,1437,2.909,1454,3.114,1457,2.441,1458,2.441,1465,3.114,1466,3.114,1496,3.671,1614,3.671,1693,4.085,1795,4.707,1797,4.085,1911,3.671,1912,3.361,2066,4.085,2072,4.714,2073,4.714,2074,4.714,2075,6.045,2076,6.045,2077,4.714,2078,4.714,2079,4.714,2080,4.714,2081,4.714,2082,4.714,2083,4.714,2084,4.714,2085,4.714,2086,6.045,2087,6.045,2088,4.714,2089,4.714,2090,4.714,2091,4.714,2092,4.714]],["title/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[554,0.492,563,0.432,1300,2.209,1301,2.209,1302,2.023,1303,2.209]],["body/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[36,1.56,38,0.013,114,0.011,115,0.013,116,0.011,518,2.072,563,0.919,1297,4.298,1300,5.792,1301,4.694,1302,4.298,1303,5.472,1304,5.224,1305,5.472,1306,5.472,1307,3.122,1308,5.224,1309,4.694]]],"invertedIndex":[["",{"_index":38,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["0",{"_index":164,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"injectables/UrlHelperService.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["0.1.3",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["0.1.4",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1227,"title":{},"body":{"dependencies.html":{}}}],["0.33",{"_index":1649,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["0.43.0",{"_index":1224,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":1646,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["026dcb3",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["07bb62d",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["0c0a4a7",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["0f03d39",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["0x06ca6351",{"_index":337,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x0fc19dc6",{"_index":325,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x106aa070",{"_index":354,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x12835b01",{"_index":316,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x14292967",{"_index":338,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x19a4c116",{"_index":355,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x1e376c08",{"_index":356,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x20000000",{"_index":426,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["0x240ca1cc",{"_index":326,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x243185be",{"_index":317,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x2748774c",{"_index":357,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x27b70a85",{"_index":339,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x2de92c6f",{"_index":327,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x2e1b2138",{"_index":340,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x34b0bcb5",{"_index":358,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x391c0cb3",{"_index":359,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x3956c25b",{"_index":311,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x428a2f98",{"_index":307,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x4a7484aa",{"_index":328,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x4d2c6dfc",{"_index":341,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x4ed8aa4a",{"_index":360,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x53380d13",{"_index":342,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x550c7dc3",{"_index":318,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x59f111f1",{"_index":312,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x5b9cca4f",{"_index":361,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x5cb0a9dc",{"_index":329,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x650a7354",{"_index":343,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x682e6ff3",{"_index":362,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x71374491",{"_index":308,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x72be5d74",{"_index":319,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x748f82ee",{"_index":363,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x766a0abb",{"_index":344,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x76f988da",{"_index":330,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x78a5636f",{"_index":364,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x80deb1fe",{"_index":320,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x81c2c92e",{"_index":345,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x84c87814",{"_index":365,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x8cc70208",{"_index":366,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x90befffa",{"_index":367,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x923f82a4",{"_index":313,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x92722c85",{"_index":346,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x983e5152",{"_index":331,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x9bdc06a7",{"_index":321,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa2bfe8a1",{"_index":347,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa4506ceb",{"_index":368,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa81a664b",{"_index":348,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa831c66d",{"_index":332,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xab1c5ed5",{"_index":314,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xb00327c8",{"_index":333,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xb5c0fbcf",{"_index":309,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xbef9a3f7",{"_index":369,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xbf597fc7",{"_index":334,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc19bf174",{"_index":322,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc24b8b70",{"_index":349,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc67178f2",{"_index":370,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc6e00bf3",{"_index":335,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc76c51a3",{"_index":350,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd192e819",{"_index":351,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd5a79147",{"_index":336,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd6990624",{"_index":352,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd807aa98",{"_index":315,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xe49b69c1",{"_index":323,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xe9b5dba5",{"_index":310,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xefbe4786",{"_index":324,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xf40e3585",{"_index":353,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xff",{"_index":429,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["1",{"_index":434,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"injectables/UrlHelperService.html":{},"index.html":{},"overview.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["1.0",{"_index":1876,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["1.3.0",{"_index":1212,"title":{},"body":{"dependencies.html":{}}}],["1.4.3",{"_index":1206,"title":{},"body":{"dependencies.html":{}}}],["1.5.1",{"_index":1209,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":396,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["10.0.0",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["10.0.3",{"_index":1207,"title":{},"body":{"dependencies.html":{}}}],["10.2.0",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["10.3.0",{"_index":1213,"title":{},"body":{"dependencies.html":{}}}],["10.x",{"_index":1323,"title":{},"body":{"index.html":{}}}],["1061",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":404,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{}}}],["12",{"_index":1321,"title":{},"body":{"index.html":{}}}],["12.0.0",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["12.x",{"_index":1322,"title":{},"body":{"index.html":{}}}],["13",{"_index":406,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["13.x",{"_index":1320,"title":{},"body":{"index.html":{}}}],["132c624",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":1318,"title":{},"body":{"index.html":{}}}],["14.x",{"_index":1319,"title":{},"body":{"index.html":{}}}],["15",{"_index":398,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["15.0.0",{"_index":1194,"title":{},"body":{"dependencies.html":{}}}],["15.x",{"_index":1315,"title":{},"body":{"index.html":{}}}],["16",{"_index":402,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{}}}],["169d749",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["17",{"_index":394,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["18",{"_index":400,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["1816e7b",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["19",{"_index":395,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["1_0.html#tokenendpoint",{"_index":690,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["1_0.html#userinfo",{"_index":697,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["1cae011",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":96,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["2.0",{"_index":1426,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["2.0.0",{"_index":1222,"title":{},"body":{"dependencies.html":{}}}],["2.1",{"_index":1263,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["2.3.0",{"_index":1216,"title":{},"body":{"dependencies.html":{}}}],["2.9.2",{"_index":1203,"title":{},"body":{"dependencies.html":{}}}],["2/oidc",{"_index":1510,"title":{},"body":{"index.html":{}}}],["20",{"_index":1538,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["20.000",{"_index":1735,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["2017",{"_index":1545,"title":{},"body":{"license.html":{}}}],["2020",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":407,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"overview.html":{}}}],["2204c5a",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["23",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":428,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["25",{"_index":405,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["256",{"_index":303,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{}}}],["28",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["2nd",{"_index":2090,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["3",{"_index":401,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["3.1",{"_index":1738,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["3.4.1",{"_index":1211,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["31c6273",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":301,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["38c7c3f",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["3d331f2",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["3f44eca",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":433,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["4.3",{"_index":1284,"title":{},"body":{"index.html":{}}}],["4.x",{"_index":1327,"title":{},"body":{"index.html":{}}}],["401",{"_index":1746,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["403",{"_index":1747,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["40f5ae5",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["415e053",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["4202",{"_index":1390,"title":{},"body":{"index.html":{}}}],["4202]/index.html",{"_index":1391,"title":{},"body":{"index.html":{}}}],["4202]/silent",{"_index":1392,"title":{},"body":{"index.html":{}}}],["429ed2c",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["4607d55",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["4711",{"_index":1802,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["4bf8901",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["4def1c1",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["4th",{"_index":1676,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["5",{"_index":432,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"overview.html":{}}}],["5.x",{"_index":1330,"title":{},"body":{"index.html":{}}}],["51e438a",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["58a8132",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["58c6354",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["59f65d2",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["5c5288c",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":403,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["6.5.3",{"_index":1217,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1219,"title":{},"body":{"dependencies.html":{}}}],["61sdfs.eu.auth0.com",{"_index":2077,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["61sdfs.eu.auth0.com/v2/logout",{"_index":2081,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["64",{"_index":302,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["65c2b95",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["678ff95",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["687",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["7",{"_index":399,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["7.x",{"_index":1326,"title":{},"body":{"index.html":{}}}],["7009",{"_index":1146,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["70fd826",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["71b705c",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["728",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["735",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["741",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["75",{"_index":1638,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["755",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["773",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["77cb37a",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["7a15194",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["7eac8ae",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["8",{"_index":431,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{}}}],["8.0.12",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["8.0.19",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["8.x",{"_index":1325,"title":{},"body":{"index.html":{}}}],["808969225",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["825",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["84d95a7",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["8ab853b",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["8fa99ff",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":537,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["9.0.0",{"_index":1208,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["9.1.0",{"_index":1147,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["9.2",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["9.2.0",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["9.2.1",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["9.2.2",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["9.3.0",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["9.x",{"_index":1324,"title":{},"body":{"index.html":{}}}],["92ee76d",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["93902a5",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["970",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["972",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["9761bad",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["9]{3",{"_index":107,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["9e257d0",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["9e95c73",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["_restorestate",{"_index":493,"title":{},"body":{"classes/Hash.html":{}}}],["_restorestate(from",{"_index":499,"title":{},"body":{"classes/Hash.html":{}}}],["_savestate",{"_index":494,"title":{},"body":{"classes/Hash.html":{}}}],["_savestate(out",{"_index":443,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["_throw(err",{"_index":1757,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["a021627fd9d3the",{"_index":1903,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["a05bd8a",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1508,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["abstract",{"_index":10,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["abstraction",{"_index":151,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["abstractvalidationhandler",{"_index":1,"title":{"classes/AbstractValidationHandler.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["accept",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["access",{"_index":1110,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["access_token",{"_index":63,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{}}}],["accesstoken",{"_index":75,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["according",{"_index":1144,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["account",{"_index":2073,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["acr_values_supported",{"_index":716,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["action",{"_index":1595,"title":{},"body":{"license.html":{},"additional-documentation/session-checks.html":{}}}],["activate",{"_index":1884,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["activated",{"_index":1877,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["active",{"_index":1301,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["actual",{"_index":578,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ad",{"_index":1303,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["adapt",{"_index":1859,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["add",{"_index":974,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["added",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["adding",{"_index":1947,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["addition",{"_index":1881,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["additional",{"_index":563,"title":{"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["adhere",{"_index":1936,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["adjust",{"_index":1642,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["advanced",{"_index":1693,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["against",{"_index":61,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["alert(1",{"_index":182,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["alg",{"_index":49,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["alg.match(/^.s[0",{"_index":106,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["alg.substr(2",{"_index":113,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["algorithm",{"_index":29,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["algorithms",{"_index":153,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aliases",{"_index":1606,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["alice/alice",{"_index":1385,"title":{},"body":{"index.html":{}}}],["align",{"_index":1423,"title":{},"body":{"index.html":{}}}],["allocate",{"_index":480,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["allow",{"_index":1085,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["allowedurls",{"_index":830,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["allows",{"_index":882,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["already",{"_index":13,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["alternative",{"_index":1678,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["although",{"_index":1999,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ambient",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["analyzing",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1565,"title":{},"body":{"license.html":{}}}],["angular",{"_index":520,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["angular/animations",{"_index":1193,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":811,"title":{},"body":{"modules/OAuthModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":218,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["angular/compiler",{"_index":1195,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":127,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"dependencies.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["angular/elements",{"_index":1196,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1197,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1198,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["angular/router",{"_index":1201,"title":{},"body":{"dependencies.html":{}}}],["another",{"_index":1664,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["any).array(valuetohash",{"_index":175,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["anymore",{"_index":637,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["aot",{"_index":2031,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["api",{"_index":1399,"title":{"additional-documentation/original-config-api.html":{}},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["api's",{"_index":2082,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["apis",{"_index":1396,"title":{},"body":{"index.html":{}}}],["app",{"_index":1151,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["app's",{"_index":2078,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["app.component.html",{"_index":1967,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["app/app.component",{"_index":1407,"title":{},"body":{"index.html":{}}}],["app/home.html",{"_index":1971,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["appcomponent",{"_index":1406,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["applicable",{"_index":1839,"title":{},"body":{"additional-documentation/events.html":{}}}],["application",{"_index":546,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["applications",{"_index":555,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["appmodule",{"_index":1421,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["approach",{"_index":1669,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["approutermodule",{"_index":1851,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["arbitrary",{"_index":1699,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["argument",{"_index":1523,"title":{},"body":{"index.html":{}}}],["arising",{"_index":1598,"title":{},"body":{"license.html":{}}}],["arr",{"_index":1249,"title":{},"body":{"miscellaneous/functions.html":{}}}],["array",{"_index":457,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["arraybuffer",{"_index":138,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aspnetcore",{"_index":1905,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["asset",{"_index":1717,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["assets",{"_index":1720,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["associated",{"_index":1554,"title":{},"body":{"license.html":{}}}],["asstring",{"_index":91,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["assumes",{"_index":1378,"title":{},"body":{"index.html":{}}}],["async",{"_index":25,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["at_hash",{"_index":60,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["athash",{"_index":97,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["attacks",{"_index":606,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["attempts",{"_index":1700,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["audience",{"_index":2083,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth",{"_index":621,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{}}}],["auth.config",{"_index":1963,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["auth0",{"_index":1272,"title":{"additional-documentation/authorization-servers/auth0.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["auth0's",{"_index":2084,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth_config",{"_index":1609,"title":{},"body":{"miscellaneous/variables.html":{}}}],["authcodeflowconfig",{"_index":1431,"title":{},"body":{"index.html":{}}}],["authconfig",{"_index":1430,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["authenticated",{"_index":1902,"title":{},"body":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["authentication",{"_index":1537,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["authorization",{"_index":2066,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["authorization_endpoint",{"_index":705,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["authorizations",{"_index":2068,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["authors",{"_index":1588,"title":{},"body":{"license.html":{}}}],["authstorage",{"_index":1769,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["automate",{"_index":1490,"title":{},"body":{"index.html":{}}}],["automatic",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1362,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["available",{"_index":1535,"title":{},"body":{"index.html":{},"modules.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["avoid",{"_index":604,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["await",{"_index":88,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["awesome",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["azure",{"_index":1300,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["b",{"_index":162,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["b486546",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["b64decodeunicode",{"_index":1230,"title":{},"body":{"miscellaneous/functions.html":{}}}],["b64decodeunicode(str",{"_index":1244,"title":{},"body":{"miscellaneous/functions.html":{}}}],["back",{"_index":1791,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["backend",{"_index":1268,"title":{},"body":{"index.html":{}}}],["backwards",{"_index":2058,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["base",{"_index":1928,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["base64",{"_index":70,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"dependencies.html":{}}}],["base64urlencode",{"_index":69,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/functions.html":{}}}],["base64urlencode(leftmosthalf",{"_index":98,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["base64urlencode(str",{"_index":1246,"title":{},"body":{"miscellaneous/functions.html":{}}}],["based",{"_index":1120,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["bases",{"_index":1415,"title":{},"body":{"index.html":{}}}],["bbff95b",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["bearer",{"_index":268,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["beaugrand",{"_index":1946,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["beeing",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["before",{"_index":942,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["beginning",{"_index":535,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["behavior",{"_index":2071,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["below",{"_index":1997,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["best",{"_index":612,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["better",{"_index":1984,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["between",{"_index":1645,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["big",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1889,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["bitlenhi",{"_index":425,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["bitlenlo",{"_index":427,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["blocked",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["blockers",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["blocksize",{"_index":276,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["blog",{"_index":1305,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["bob/bob",{"_index":1384,"title":{},"body":{"index.html":{}}}],["boolean",{"_index":237,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["bootstrap",{"_index":1210,"title":{},"body":{"dependencies.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bootstrapapplication",{"_index":1404,"title":{},"body":{"index.html":{}}}],["bootstrapapplication(appcomponent",{"_index":1408,"title":{},"body":{"index.html":{}}}],["bootstrapping",{"_index":1468,"title":{},"body":{"index.html":{}}}],["breaking",{"_index":1514,"title":{},"body":{"index.html":{}}}],["brecht",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1602,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":1199,"title":{},"body":{"dependencies.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["browsers",{"_index":1376,"title":{},"body":{"index.html":{}}}],["buffer",{"_index":140,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["buffer.length",{"_index":483,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["bufpos",{"_index":482,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["bug",{"_index":908,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bugfixes",{"_index":1341,"title":{},"body":{"index.html":{}}}],["build",{"_index":1070,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bump",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["bundle",{"_index":557,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bundling",{"_index":1289,"title":{},"body":{"index.html":{}}}],["button",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["bytearray",{"_index":143,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["bytearray].map(value",{"_index":188,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["byteshashed",{"_index":422,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["c",{"_index":378,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"license.html":{}}}],["c2b2753",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["c799ead",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["c9a2c55",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["ca435c0",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["cae715e",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["calchash",{"_index":20,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["calchash(valuetohash",{"_index":27,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["calculates",{"_index":32,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["call",{"_index":1400,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["callback",{"_index":1777,"title":{"additional-documentation/callback-after-login.html":{}},"body":{"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["called",{"_index":619,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["calling",{"_index":1489,"title":{},"body":{"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["calls",{"_index":825,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"changelog.html":{}}}],["cand",{"_index":181,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["candhash",{"_index":173,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["care",{"_index":1629,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["carefully",{"_index":534,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["carlier",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["carry",{"_index":2041,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["case",{"_index":1495,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["cases",{"_index":1689,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["catch",{"_index":1501,"title":{},"body":{"index.html":{}}}],["catch(err",{"_index":1726,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["catcherror",{"_index":221,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["catcherror((_",{"_index":261,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["change",{"_index":1515,"title":{},"body":{"index.html":{}}}],["changelog",{"_index":904,"title":{"changelog.html":{}},"body":{"changelog.html":{}}}],["changes",{"_index":1073,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["charactes",{"_index":883,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["charge",{"_index":1549,"title":{},"body":{"license.html":{}}}],["check",{"_index":603,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["check_session_iframe",{"_index":710,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["checks",{"_index":1095,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["checkurl(url",{"_index":236,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["chore",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["chore(deps",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["chore(release",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["circular",{"_index":1761,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["cites",{"_index":2000,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["cjs",{"_index":1955,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["claim",{"_index":1591,"title":{},"body":{"license.html":{}}}],["claim_types_supported",{"_index":728,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["claims",{"_index":678,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims.given_name",{"_index":1976,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims_parameter_supported",{"_index":730,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["claims_supported",{"_index":729,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["claimsathash",{"_index":99,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"classes/ReceivedTokens.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"classes/ReceivedTokens.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"overview.html":{}}}],["clean",{"_index":278,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["clear",{"_index":633,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["clears",{"_index":1472,"title":{},"body":{"index.html":{}}}],["cli",{"_index":1715,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cli.json",{"_index":1719,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["click",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":663,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["client_id",{"_index":2086,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["clientid",{"_index":1437,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["clientids",{"_index":1386,"title":{},"body":{"index.html":{}}}],["closes",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["code",{"_index":550,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["code_challenge",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["code_error",{"_index":765,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["codeflow",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["codes",{"_index":1745,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["collisions",{"_index":477,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["come",{"_index":1671,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["commands",{"_index":1355,"title":{},"body":{"index.html":{}}}],["commit",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["commonjs",{"_index":1288,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":810,"title":{},"body":{"modules/OAuthModule.html":{}}}],["communication",{"_index":1730,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["community",{"_index":1278,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["compat",{"_index":1218,"title":{},"body":{"dependencies.html":{}}}],["compatibility",{"_index":1413,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["compatible",{"_index":647,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["compensates",{"_index":1659,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["complex",{"_index":1710,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["compliant",{"_index":2067,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["compodoc/compodoc",{"_index":1356,"title":{},"body":{"index.html":{}}}],["component",{"_index":1907,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["components",{"_index":1397,"title":{},"body":{"index.html":{}}}],["conditions",{"_index":1572,"title":{},"body":{"license.html":{}}}],["config",{"_index":807,"title":{"additional-documentation/original-config-api.html":{}},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["configuration",{"_index":1368,"title":{},"body":{"index.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["configure",{"_index":1428,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["configured",{"_index":991,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["configuring",{"_index":1635,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["connect",{"_index":688,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/authorization-servers.html":{}}}],["connection",{"_index":1599,"title":{},"body":{"license.html":{}}}],["considered",{"_index":1527,"title":{},"body":{"index.html":{}}}],["consistent",{"_index":1941,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["console",{"_index":648,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["console.debug(\"logged",{"_index":1782,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.debug('given_name",{"_index":2022,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('hash",{"_index":179,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["console.debug('ok",{"_index":2028,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('refresh",{"_index":1724,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.debug('state",{"_index":1621,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["console.debug('your",{"_index":1897,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["console.debug(context",{"_index":1783,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.error('actual",{"_index":102,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["console.error('exptected",{"_index":101,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["console.error('refresh",{"_index":1727,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.error(err",{"_index":560,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["console.error(event",{"_index":1822,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.log(e));or",{"_index":1814,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.warn(event",{"_index":1823,"title":{},"body":{"additional-documentation/events.html":{}}}],["const",{"_index":147,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/UrlHelperService.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["constants",{"_index":304,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["constructor",{"_index":201,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/JwksValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["constructor(key",{"_index":283,"title":{},"body":{"classes/HMAC.html":{}}}],["constructor(oauthservice",{"_index":202,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["constructor(private",{"_index":1908,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["constructor(readonly",{"_index":781,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["constructor(type",{"_index":753,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["contain",{"_index":1338,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1857,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["context",{"_index":1779,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["contract",{"_index":1596,"title":{},"body":{"license.html":{}}}],["contribute",{"_index":1349,"title":{},"body":{"index.html":{}}}],["contributer",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["contributers",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["contribution",{"_index":1785,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["contributions",{"_index":1343,"title":{},"body":{"index.html":{}}}],["contributors",{"_index":1543,"title":{},"body":{"index.html":{}}}],["control",{"_index":2037,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["controls",{"_index":638,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["convenience",{"_index":1461,"title":{},"body":{"index.html":{}}}],["cookie",{"_index":1666,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cookies",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["copied",{"_index":1714,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["copies",{"_index":1567,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1552,"title":{},"body":{"license.html":{}}}],["copying",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["copyright",{"_index":1544,"title":{},"body":{"license.html":{}}}],["core",{"_index":689,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{}}}],["correctly",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["corrupted",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":2092,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["cought",{"_index":1756,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["counter",{"_index":449,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["counter[0",{"_index":460,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["counterparts",{"_index":1525,"title":{},"body":{"index.html":{}}}],["create",{"_index":667,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/popup-based-login.html":{}}}],["created",{"_index":1311,"title":{},"body":{"index.html":{}}}],["createdefaultlogger",{"_index":1233,"title":{},"body":{"miscellaneous/functions.html":{}}}],["createdefaultstorage",{"_index":1235,"title":{},"body":{"miscellaneous/functions.html":{}}}],["creates",{"_index":1760,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["credentials",{"_index":2017,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["credits",{"_index":1264,"title":{},"body":{"index.html":{}}}],["critical",{"_index":1340,"title":{},"body":{"index.html":{}}}],["cross",{"_index":1712,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["crypto",{"_index":152,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["ctr[1",{"_index":485,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["ctr[2",{"_index":486,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["ctr[3",{"_index":487,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["current",{"_index":1424,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["cust",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["custom",{"_index":574,"title":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customhashfragment",{"_index":566,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["customize",{"_index":2029,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customparameters",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["customqueryparams",{"_index":1797,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["customredirecturi",{"_index":567,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["customurlvalidation",{"_index":831,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["cycle",{"_index":1334,"title":{},"body":{"index.html":{}}}],["d",{"_index":161,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"changelog.html":{}}}],["da16494",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1592,"title":{},"body":{"license.html":{}}}],["daniel",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":169,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-password-flow.html":{}}}],["data.length",{"_index":507,"title":{},"body":{"classes/Hash.html":{}}}],["data[datapos",{"_index":410,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["datalength",{"_index":411,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["datapos",{"_index":415,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["date",{"_index":123,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["date.now",{"_index":130,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["datetimeprovider",{"_index":117,"title":{"classes/DateTimeProvider.html":{}},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{}}}],["datetimeprovider:10",{"_index":853,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["datetimeprovider:14",{"_index":852,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["deal",{"_index":1556,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1600,"title":{},"body":{"license.html":{}}}],["debug",{"_index":788,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["debug(message",{"_index":654,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["debugging",{"_index":1810,"title":{},"body":{"additional-documentation/events.html":{}}}],["decide",{"_index":1870,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["declarations",{"_index":815,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["decodekey",{"_index":886,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodekey(k",{"_index":890,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(hash",{"_index":864,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["decodeuricomponent(k",{"_index":900,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(v",{"_index":901,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeutf8",{"_index":1236,"title":{},"body":{"miscellaneous/functions.html":{}}}],["decodeutf8(s",{"_index":156,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["decodevalue",{"_index":887,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodevalue(v",{"_index":892,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["default",{"_index":287,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["defaultextension",{"_index":1956,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["defaulthashhandler",{"_index":131,"title":{"injectables/DefaultHashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{}}}],["defaultoauthinterceptor",{"_index":196,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["defaults",{"_index":1674,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["define",{"_index":1716,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["defined",{"_index":30,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["defines",{"_index":615,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["deleted",{"_index":1880,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["demand",{"_index":1342,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demands",{"_index":1439,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demo",{"_index":1090,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["demonstration",{"_index":1780,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["dep",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["dependancy",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":1192,"title":{"dependencies.html":{}},"body":{"dependencies.html":{},"overview.html":{}}}],["dependency",{"_index":548,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["depending",{"_index":1463,"title":{},"body":{"index.html":{}}}],["deprecated",{"_index":624,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["deps",{"_index":1950,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["described",{"_index":1654,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["describes",{"_index":2057,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["description",{"_index":9,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}}}],["design",{"_index":2025,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["details",{"_index":1099,"title":{},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/original-config-api.html":{}}}],["detects",{"_index":620,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["different",{"_index":1818,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["digest",{"_index":279,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["digestlength",{"_index":277,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["directed",{"_index":2053,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["directly",{"_index":1486,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["directory",{"_index":1302,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["disable",{"_index":601,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["disableathashcheck",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["disabled",{"_index":1830,"title":{},"body":{"additional-documentation/events.html":{}}}],["disablenoncecheck",{"_index":568,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["disableoauth2statecheck",{"_index":569,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["discovery",{"_index":701,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["discovery_document_load_error",{"_index":760,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["discovery_document_loaded",{"_index":757,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["discovery_document_validation_error",{"_index":761,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["display",{"_index":1481,"title":{},"body":{"index.html":{}}}],["display_values_supported",{"_index":727,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["displayed",{"_index":636,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["distribute",{"_index":1563,"title":{},"body":{"license.html":{}}}],["dklen",{"_index":1257,"title":{},"body":{"miscellaneous/functions.html":{}}}],["docs",{"_index":1098,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["docs(readme",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":702,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["documentation",{"_index":1275,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["documentation/refreshing",{"_index":1499,"title":{},"body":{"index.html":{}}}],["documentation/using",{"_index":1512,"title":{},"body":{"index.html":{}}}],["documented",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["doesn't",{"_index":1922,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["doing",{"_index":617,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["domain",{"_index":1713,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["domains",{"_index":1934,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["don't",{"_index":1480,"title":{},"body":{"index.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["dosn't",{"_index":2061,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["draft",{"_index":1425,"title":{},"body":{"index.html":{}}}],["dummy",{"_index":512,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["dummyclientsecret",{"_index":1448,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["during",{"_index":1706,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["dynamic",{"_index":1200,"title":{},"body":{"dependencies.html":{}}}],["e",{"_index":183,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["e.g",{"_index":1711,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["e.type",{"_index":258,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["e2599e0",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["e2e",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["e89aa6d",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":1337,"title":{},"body":{"index.html":{}}}],["ease",{"_index":1367,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["easier",{"_index":1657,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["easiest",{"_index":1763,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["edge",{"_index":1691,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["elements",{"_index":1205,"title":{},"body":{"dependencies.html":{}}}],["email",{"_index":1458,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["enable",{"_index":1917,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["encode",{"_index":1532,"title":{},"body":{"index.html":{}}}],["encodekey",{"_index":888,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodekey(k",{"_index":894,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encoder",{"_index":165,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"dependencies.html":{}}}],["encoder.encode(valuetohash",{"_index":170,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodeuricomponent",{"_index":1522,"title":{},"body":{"index.html":{}}}],["encodeuricomponent(k",{"_index":898,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeuricomponent(v",{"_index":899,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeutf8",{"_index":1238,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(arr",{"_index":1248,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(fsha256(decodeutf8(valuetohash",{"_index":174,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodevalue",{"_index":889,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodevalue(v",{"_index":896,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encounter",{"_index":1825,"title":{},"body":{"additional-documentation/events.html":{}}}],["end",{"_index":1309,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["end_session_endpoint",{"_index":711,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["endpoint",{"_index":686,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["endpoints",{"_index":1926,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["endpont",{"_index":2010,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ends",{"_index":1878,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["enforce",{"_index":1444,"title":{},"body":{"index.html":{}}}],["enhancements",{"_index":1347,"title":{},"body":{"index.html":{}}}],["ensure",{"_index":476,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["ensures",{"_index":1925,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["enter",{"_index":1982,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["enters",{"_index":1361,"title":{},"body":{"index.html":{}}}],["enum",{"_index":1842,"title":{},"body":{"additional-documentation/events.html":{}}}],["environment",{"_index":1283,"title":{},"body":{"index.html":{}}}],["environmentproviders",{"_index":1260,"title":{},"body":{"miscellaneous/functions.html":{}}}],["environments",{"_index":610,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["erazerbrecht",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["err",{"_index":531,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"miscellaneous/variables.html":{}}}],["err));when",{"_index":1728,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["error",{"_index":230,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["error('algorithm",{"_index":110,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["error(message",{"_index":659,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["errorhandler",{"_index":204,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["errors",{"_index":1742,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["escapedkey",{"_index":873,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["escapedvalue",{"_index":874,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["esm",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["etc",{"_index":1418,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["event",{"_index":975,"title":{},"body":{"changelog.html":{},"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["events",{"_index":626,"title":{"additional-documentation/events.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["events.ts",{"_index":1843,"title":{},"body":{"additional-documentation/events.html":{}}}],["eventtype",{"_index":754,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["example",{"_index":1307,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["examples",{"_index":1377,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["execute",{"_index":1467,"title":{},"body":{"index.html":{}}}],["existing",{"_index":1414,"title":{},"body":{"index.html":{}}}],["exists",{"_index":447,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["expanding",{"_index":474,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["expected",{"_index":1831,"title":{},"body":{"additional-documentation/events.html":{}}}],["expects",{"_index":2085,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["experience",{"_index":2069,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["expired",{"_index":2026,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["expires",{"_index":1365,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["expires_in",{"_index":693,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["explicit",{"_index":1108,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["explicitly",{"_index":1869,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["export",{"_index":72,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["exports",{"_index":816,"title":{},"body":{"modules/OAuthModule.html":{}}}],["express",{"_index":1579,"title":{},"body":{"license.html":{}}}],["extend",{"_index":2034,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["extends",{"_index":129,"title":{},"body":{"classes/DateTimeProvider.html":{},"classes/JwksValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["extensions",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["extensive",{"_index":1816,"title":{},"body":{"additional-documentation/events.html":{}}}],["extract",{"_index":469,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["extracted",{"_index":475,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["extraction",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["f",{"_index":379,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["f42f943",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["f5bd96c",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["fact",{"_index":1660,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["factor",{"_index":1643,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["factory",{"_index":144,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["fail",{"_index":1938,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["fails",{"_index":1923,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{}}],["fall",{"_index":1790,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["fallback",{"_index":1709,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["false",{"_index":498,"title":{},"body":{"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["far",{"_index":1656,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["fast",{"_index":149,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"dependencies.html":{}}}],["fb3afe4",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["feat(oauth",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":958,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["feel",{"_index":1344,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fetch",{"_index":1469,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["fetching",{"_index":2014,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ff7d1d9",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["fhash",{"_index":171,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["field",{"_index":50,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["file",{"_index":5,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["files",{"_index":1555,"title":{},"body":{"license.html":{}}}],["fillbuffer",{"_index":1239,"title":{},"body":{"miscellaneous/functions.html":{}}}],["fillbuffer(buffer",{"_index":1250,"title":{},"body":{"miscellaneous/functions.html":{}}}],["filled",{"_index":463,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["filter",{"_index":222,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["filter((e",{"_index":257,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["final",{"_index":438,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finalized",{"_index":419,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finalizes",{"_index":416,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finally",{"_index":1708,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["find",{"_index":1614,"title":{},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["fine",{"_index":1504,"title":{},"body":{"index.html":{}}}],["finish",{"_index":280,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finish(out",{"_index":295,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finished",{"_index":492,"title":{},"body":{"classes/Hash.html":{}}}],["fired",{"_index":1637,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["first",{"_index":1451,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["fitness",{"_index":1584,"title":{},"body":{"license.html":{}}}],["fix",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["fix(lib",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["fixed",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":909,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["flag",{"_index":607,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["flight",{"_index":1965,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["flow",{"_index":542,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["flow.html",{"_index":1513,"title":{},"body":{"index.html":{}}}],["flow.md",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["flows",{"_index":584,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["focusing",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["folder",{"_index":1351,"title":{},"body":{"index.html":{}}}],["followed",{"_index":588,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["following",{"_index":593,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["follows",{"_index":2030,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers.html":{}}}],["for(var",{"_index":1695,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["form",{"_index":1479,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["format",{"_index":1954,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["former",{"_index":1862,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["forroot",{"_index":803,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{}}}],["forroot(config",{"_index":804,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forward",{"_index":1701,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["forwards",{"_index":1474,"title":{},"body":{"index.html":{}}}],["found",{"_index":1770,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["foundation",{"_index":1427,"title":{},"body":{"index.html":{}}}],["four",{"_index":1452,"title":{},"body":{"index.html":{}}}],["fragment",{"_index":575,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["free",{"_index":1345,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fsha256",{"_index":148,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["fsha256(valuetohash",{"_index":172,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["full",{"_index":1841,"title":{},"body":{"additional-documentation/events.html":{}}}],["function",{"_index":155,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"classes/OAuthResourceServerConfig.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["functions",{"_index":1229,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":1570,"title":{},"body":{"license.html":{}}}],["further",{"_index":1371,"title":{},"body":{"index.html":{}}}],["g",{"_index":380,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["geheim",{"_index":2003,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then",{"_index":2024,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then((resp",{"_index":2019,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["general",{"_index":1441,"title":{},"body":{"index.html":{}}}],["generate",{"_index":1354,"title":{},"body":{"index.html":{}}}],["gethashfragmentparams",{"_index":857,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["gethashfragmentparams(customhashfragment",{"_index":859,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["getitem",{"_index":734,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["getitem(key",{"_index":670,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["gets",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["getting",{"_index":902,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["github.com/manfredsteyer/angular",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1731,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["go",{"_index":1692,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["gone",{"_index":1837,"title":{},"body":{"additional-documentation/events.html":{}}}],["google",{"_index":1931,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["grant",{"_index":967,"title":{},"body":{"changelog.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["grant_types_supported",{"_index":718,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["granted",{"_index":1548,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1601,"title":{},"body":{"modules.html":{}}}],["great",{"_index":1784,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{}}}],["guard",{"_index":1113,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["guards",{"_index":1281,"title":{},"body":{"index.html":{}}}],["guide",{"_index":1615,"title":{},"body":{"additional-documentation/getting-started.html":{}}}],["guidelines",{"_index":1079,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["h",{"_index":381,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["half",{"_index":1648,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["hallo",{"_index":1978,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["handle",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["handle(req",{"_index":251,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["handleerror",{"_index":834,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["handleerror(err",{"_index":835,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler",{"_index":231,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler.ts",{"_index":8,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["handler.ts:11",{"_index":746,"title":{},"body":{"classes/NullValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{}}}],["handler.ts:12",{"_index":508,"title":{},"body":{"classes/HashHandler.html":{}}}],["handler.ts:20",{"_index":879,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:25",{"_index":525,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["handler.ts:27",{"_index":878,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:33",{"_index":136,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:41",{"_index":66,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:46",{"_index":58,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:5",{"_index":842,"title":{},"body":{"classes/OAuthResourceServerErrorHandler.html":{}}}],["handler.ts:52",{"_index":142,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:60",{"_index":139,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:71",{"_index":47,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:8",{"_index":747,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["handler.ts:88",{"_index":31,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handlers",{"_index":80,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["handling",{"_index":1740,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["hash",{"_index":33,"title":{"classes/Hash.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hash().update(key).finish(pad).clean",{"_index":445,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hash(data",{"_index":1251,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hash.indexof",{"_index":865,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(1",{"_index":868,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(questionmarkposition",{"_index":867,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hashalg",{"_index":85,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["hasharray",{"_index":167,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashblocks",{"_index":371,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["hashblocks(this.temp",{"_index":412,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hashblocks(w",{"_index":1252,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hashhandler",{"_index":154,"title":{"classes/HashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashing",{"_index":1265,"title":{},"body":{"index.html":{}}}],["hashlocationstrategy",{"_index":1287,"title":{},"body":{"index.html":{}}}],["hashstrategy",{"_index":1507,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hashstring",{"_index":176,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hasreceivedtokens",{"_index":2040,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["header",{"_index":55,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["headers",{"_index":269,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["helper",{"_index":71,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["helper.service.ts",{"_index":856,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:25",{"_index":862,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:5",{"_index":860,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.ts",{"_index":1232,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hence",{"_index":1358,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["here",{"_index":1299,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["here's",{"_index":1824,"title":{},"body":{"additional-documentation/events.html":{}}}],["hereby",{"_index":1547,"title":{},"body":{"license.html":{}}}],["hexcode",{"_index":189,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcode.padstart(2",{"_index":192,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes",{"_index":187,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes.join",{"_index":193,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexstring(buffer",{"_index":186,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hidden",{"_index":1662,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["hkdf",{"_index":465,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["hkdf(key",{"_index":1253,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hkdfsalt",{"_index":461,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["hmac",{"_index":272,"title":{"classes/HMAC.html":{}},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["hmac(key",{"_index":1254,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hmac(okm",{"_index":479,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac(salt",{"_index":472,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.finish(buffer",{"_index":453,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.update(buffer",{"_index":446,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.update(counter",{"_index":450,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.update(info",{"_index":448,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac_",{"_index":478,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["holders",{"_index":1589,"title":{},"body":{"license.html":{}}}],["home",{"_index":1781,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["homecomponent",{"_index":1420,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["hook",{"_index":643,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["hooked",{"_index":81,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["html",{"_index":1704,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["http",{"_index":1743,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["http://localhost:4200",{"_index":1381,"title":{},"body":{"index.html":{}}}],["http://localhost:8080/#/home",{"_index":1858,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["http://openid.net/specs/openid",{"_index":687,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["http://www.angular.at/api",{"_index":1496,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["httpclientmodule",{"_index":1417,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["httperrorresponse",{"_index":1766,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpevent",{"_index":216,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httphandler",{"_index":212,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptor",{"_index":217,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptors",{"_index":1737,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{}}],["httpmodule",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["httpparametercodec",{"_index":885,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["httprequest",{"_index":210,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpresponse",{"_index":836,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["https://dev",{"_index":2076,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["https://github.com/jeroenheijmans/sample",{"_index":1280,"title":{},"body":{"index.html":{}}}],["https://github.com/lankaapura/angular",{"_index":1904,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://github.com/manfredsteyer/angular",{"_index":969,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["https://idsvr4.azurewebsites.net",{"_index":1432,"title":{},"body":{"index.html":{}}}],["https://manfredsteyer.github.io/angular",{"_index":1276,"title":{},"body":{"index.html":{}}}],["https://medium.com/lankapura/angular",{"_index":1901,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://steyer",{"_index":1672,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["i.e",{"_index":1930,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["i=0",{"_index":1696,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["id",{"_index":679,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["id_token",{"_index":51,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["id_token's",{"_index":53,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["id_token_encryption_alg_values_supported",{"_index":724,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["id_token_encryption_enc_values_supported",{"_index":725,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["id_token_signing_alg_values_supported",{"_index":723,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["idclaims",{"_index":680,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ideas",{"_index":1346,"title":{},"body":{"index.html":{}}}],["identity",{"_index":1148,"title":{"additional-documentation/authorization-servers/using-identity-server.html":{}},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{}}}],["identityserver",{"_index":1293,"title":{},"body":{"index.html":{}}}],["idsvr",{"_index":1062,"title":{},"body":{"changelog.html":{},"additional-documentation/server-side-rendering.html":{}}}],["idtoken",{"_index":74,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["idtokenclaims",{"_index":77,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["idtokenclaimsjson",{"_index":682,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["idtokenexpiresat",{"_index":684,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["idtokenheader",{"_index":76,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["idtokenheaderjson",{"_index":683,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ie",{"_index":1118,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["iframe",{"_index":1663,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iframes",{"_index":582,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ignores",{"_index":2091,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["implcit",{"_index":1995,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["implemantion",{"_index":1754,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["implement",{"_index":1752,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["implementation",{"_index":11,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["implementations",{"_index":668,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["implemented",{"_index":1874,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["implementing",{"_index":539,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["implements",{"_index":14,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["implicit",{"_index":541,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{}},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["implied",{"_index":1580,"title":{},"body":{"license.html":{}}}],["import",{"_index":68,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["important",{"_index":1453,"title":{},"body":{"index.html":{}}}],["imports",{"_index":814,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["included",{"_index":622,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"license.html":{}}}],["includes",{"_index":616,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["including",{"_index":1056,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["increment",{"_index":454,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["indeed",{"_index":1697,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["index",{"_index":21,"title":{"index.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["index.html",{"_index":1434,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["indexable",{"_index":876,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["inferhashalgorithm",{"_index":24,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["inferhashalgorithm(jwtheader",{"_index":45,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["infers",{"_index":48,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["info(message",{"_index":656,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["info.state",{"_index":1622,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["information",{"_index":1314,"title":{},"body":{"index.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/original-config-api.html":{}}}],["informs",{"_index":1805,"title":{},"body":{"additional-documentation/events.html":{}}}],["inherited",{"_index":527,"title":{},"body":{"classes/JwksValidationHandler.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["initial",{"_index":1707,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initialize",{"_index":473,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["initializes",{"_index":1462,"title":{},"body":{"index.html":{}}}],["initialnavigation",{"_index":1854,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initimplicitflow",{"_index":1524,"title":{},"body":{"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-implicit-flow.html":{}}}],["initloginflow",{"_index":1065,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["initloginflowinpopup",{"_index":984,"title":{},"body":{"changelog.html":{},"additional-documentation/popup-based-login.html":{}}}],["inject",{"_index":1765,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injectable",{"_index":126,"title":{"injectables/DefaultHashHandler.html":{},"injectables/MemoryStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{}},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["injectables",{"_index":132,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"injectables/MemoryStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"overview.html":{}}}],["injecting",{"_index":1759,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injection",{"_index":652,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["injectiontoken",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["injectiontoken('auth_config",{"_index":1613,"title":{},"body":{"miscellaneous/variables.html":{}}}],["inline",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["inside",{"_index":455,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["install",{"_index":543,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["installing",{"_index":1393,"title":{},"body":{"index.html":{}}}],["instance",{"_index":452,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["instanceof",{"_index":1821,"title":{},"body":{"additional-documentation/events.html":{}}}],["instead",{"_index":577,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["int32array",{"_index":373,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["intended",{"_index":1960,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["interaction",{"_index":1668,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["intercept",{"_index":200,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["intercept(req",{"_index":209,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["intercepted",{"_index":826,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["interceptor",{"_index":195,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"index.html":{}}}],["interceptors",{"_index":197,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["interesting",{"_index":2038,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["interface",{"_index":73,"title":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["interfaces",{"_index":847,"title":{},"body":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"overview.html":{}}}],["internal",{"_index":441,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["internally",{"_index":598,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["introduce",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["introduced",{"_index":1398,"title":{},"body":{"index.html":{}}}],["invalid_nonce_in_state",{"_index":759,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["ionic",{"_index":1541,"title":{},"body":{"index.html":{}}}],["isn't",{"_index":741,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["isresponse(str",{"_index":1694,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["issue",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["issuer",{"_index":704,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["issues",{"_index":1091,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["issuing",{"_index":1661,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iterations",{"_index":1256,"title":{},"body":{"miscellaneous/functions.html":{}}}],["ivy",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["j",{"_index":383,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["java",{"_index":1271,"title":{},"body":{"index.html":{}}}],["jeroenheijmans",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["jie",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["job",{"_index":1188,"title":{},"body":{"changelog.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["js",{"_index":145,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"dependencies.html":{},"additional-documentation/using-systemjs.html":{}}}],["jsrsasign",{"_index":933,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["jwks",{"_index":78,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["jwks';instead",{"_index":1520,"title":{},"body":{"index.html":{}}}],["jwks_load_error",{"_index":758,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["jwks_uri",{"_index":712,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["jwksvalidationhandler",{"_index":509,"title":{"classes/JwksValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["jwksvalidationhandler();in",{"_index":1867,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["jwt",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["jwtheader",{"_index":52,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["jwtheader['alg",{"_index":105,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["k",{"_index":305,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/variables.html":{}}}],["keep",{"_index":1681,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["kevin",{"_index":1945,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["key",{"_index":286,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"miscellaneous/functions.html":{}}}],["keycloak",{"_index":1269,"title":{"additional-documentation/authorization-servers/using-keycloak.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{}}}],["keys",{"_index":1863,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["kicks",{"_index":1992,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["kind",{"_index":1578,"title":{},"body":{"license.html":{}}}],["known",{"_index":1658,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["known/openid",{"_index":2006,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["labat",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["labels",{"_index":1348,"title":{},"body":{"index.html":{}}}],["laing",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["later",{"_index":1864,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["leads",{"_index":1762,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{}}}],["left",{"_index":424,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["leftmosthalf",{"_index":93,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["len",{"_index":377,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["length",{"_index":467,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["levels",{"_index":1819,"title":{},"body":{"additional-documentation/events.html":{}}}],["leveraging",{"_index":1844,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["liability",{"_index":1593,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1590,"title":{},"body":{"license.html":{}}}],["lib",{"_index":634,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["library",{"_index":518,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["library's",{"_index":1939,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["license",{"_index":1069,"title":{"license.html":{}},"body":{"changelog.html":{}}}],["life",{"_index":1640,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["lifetime",{"_index":1891,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["limitation",{"_index":1559,"title":{},"body":{"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["limited",{"_index":1581,"title":{},"body":{"license.html":{}}}],["lin",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["line",{"_index":1718,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["linjie997",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":1308,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["links",{"_index":1312,"title":{},"body":{"index.html":{}}}],["list",{"_index":1627,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{}}}],["listed",{"_index":1750,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["listen",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["lite",{"_index":1221,"title":{},"body":{"dependencies.html":{}}}],["load",{"_index":2004,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["loaddiscoverydocumentandlogin",{"_index":1064,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["loaddiscoverydocumentandtrylogin",{"_index":2036,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["loaded",{"_index":1682,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["loading",{"_index":2020,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["loadkeys",{"_index":79,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["loaduserprofile",{"_index":1833,"title":{},"body":{"additional-documentation/events.html":{}}}],["local",{"_index":1879,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["localhost:[4200",{"_index":1389,"title":{},"body":{"index.html":{}}}],["localstorage",{"_index":665,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["location",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["location.hash",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["location.origin",{"_index":1687,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["location.search",{"_index":1686,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["locationstrategy",{"_index":1845,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["log",{"_index":789,"title":{},"body":{"classes/OAuthLogger.html":{},"additional-documentation/events.html":{}}}],["log(message",{"_index":657,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["logged",{"_index":1665,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["loggin",{"_index":2011,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["logging",{"_index":646,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["login",{"_index":951,"title":{"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}},"body":{"changelog.html":{},"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["loginhint",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["loginoptions",{"_index":561,"title":{"classes/LoginOptions.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["logoff",{"_index":1973,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["logout",{"_index":777,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"changelog.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["logouturl",{"_index":2080,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["logs",{"_index":1817,"title":{},"body":{"additional-documentation/events.html":{}}}],["long",{"_index":1840,"title":{},"body":{"additional-documentation/events.html":{}}}],["longer",{"_index":1815,"title":{},"body":{"additional-documentation/events.html":{}}}],["look",{"_index":1297,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["lookup",{"_index":1511,"title":{},"body":{"index.html":{}}}],["lower",{"_index":1494,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["main",{"_index":1683,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-systemjs.html":{}}}],["main.ts",{"_index":1401,"title":{},"body":{"index.html":{}}}],["maintain",{"_index":1940,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["major",{"_index":1336,"title":{},"body":{"index.html":{}}}],["make",{"_index":17,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["making",{"_index":1796,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["management",{"_index":1875,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["mandatory",{"_index":1526,"title":{},"body":{"index.html":{}}}],["manfred",{"_index":1179,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["manner",{"_index":585,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["manually",{"_index":1476,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["map",{"_index":223,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/using-systemjs.html":{}}}],["map((_",{"_index":263,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mark",{"_index":591,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["matching",{"_index":115,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["max/geheim",{"_index":1383,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["mccloghry",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":1788,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["means",{"_index":1647,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["meanwhile",{"_index":1961,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["memorystorage",{"_index":673,"title":{"injectables/MemoryStorage.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["mentioned",{"_index":1624,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/original-config-api.html":{}}}],["merchantability",{"_index":1583,"title":{},"body":{"license.html":{}}}],["merge",{"_index":219,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"license.html":{}}}],["mergemap",{"_index":225,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mergemap((token",{"_index":267,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["message",{"_index":623,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{}}}],["meta",{"_index":1949,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["method",{"_index":15,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["methods",{"_index":22,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}}}],["mind",{"_index":1443,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["minutes",{"_index":1539,"title":{},"body":{"index.html":{}}}],["miscellaneous",{"_index":1228,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["moderating",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["modern",{"_index":1375,"title":{},"body":{"index.html":{}}}],["modify",{"_index":1561,"title":{},"body":{"license.html":{}}}],["module",{"_index":797,"title":{"modules/OAuthModule.html":{}},"body":{"overview.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["module.config",{"_index":233,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["module.config.ts",{"_index":820,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:11",{"_index":839,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:12",{"_index":841,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:13",{"_index":840,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:2",{"_index":823,"title":{},"body":{"classes/OAuthModuleConfig.html":{}}}],["moduleconfig",{"_index":206,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["modules",{"_index":799,"title":{"modules.html":{}},"body":{"modules/OAuthModule.html":{},"modules.html":{}}}],["modulewithproviders",{"_index":808,"title":{},"body":{"modules/OAuthModule.html":{}}}],["moment",{"_index":1893,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["moos",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["more",{"_index":1313,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["moved",{"_index":517,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["msec",{"_index":1734,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["much",{"_index":1331,"title":{},"body":{"index.html":{}}}],["multiple",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["multiplying",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["name",{"_index":39,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["namely",{"_index":519,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["navigation",{"_index":1847,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["need",{"_index":538,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needed",{"_index":549,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needs",{"_index":1888,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["net",{"_index":1294,"title":{},"body":{"index.html":{}}}],["net/.net",{"_index":1267,"title":{},"body":{"index.html":{}}}],["never",{"_index":608,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["new",{"_index":109,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["newer",{"_index":1329,"title":{},"body":{"index.html":{}}}],["newest",{"_index":1887,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["next",{"_index":211,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req",{"_index":248,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req).catch(err",{"_index":1776,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ngmodule",{"_index":809,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["ngmodules",{"_index":1416,"title":{},"body":{"index.html":{}}}],["ngx",{"_index":1214,"title":{},"body":{"dependencies.html":{}}}],["ngzone",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["node_modules/jsrsasign/lib/jsrsasign",{"_index":1957,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["nonce",{"_index":602,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/events.html":{}}}],["noninfringement",{"_index":1587,"title":{},"body":{"license.html":{}}}],["normally",{"_index":631,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["notable",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["note",{"_index":547,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["notes",{"_index":1652,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["nothing",{"_index":743,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["notice",{"_index":1573,"title":{},"body":{"license.html":{}}}],["notification",{"_index":1872,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notifications",{"_index":1885,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notified",{"_index":1894,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["now",{"_index":121,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{},"index.html":{}}}],["nowadays",{"_index":551,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/original-config-api.html":{}}}],["npm",{"_index":544,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["null",{"_index":530,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["nullvalidationhandler",{"_index":524,"title":{"classes/NullValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["nullvalidationhandler:11",{"_index":528,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["nullvalidationhandler:8",{"_index":529,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["number",{"_index":125,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["oauth",{"_index":232,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oauth.interceptor.ts",{"_index":199,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:23",{"_index":208,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:44",{"_index":213,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth2",{"_index":521,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["oauth2/oidc",{"_index":540,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oauthclient",{"_index":1403,"title":{},"body":{"index.html":{}}}],["oautherrorevent",{"_index":750,"title":{"classes/OAuthErrorEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"additional-documentation/events.html":{}}}],["oauthevent",{"_index":752,"title":{"classes/OAuthEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthinfoevent",{"_index":785,"title":{"classes/OAuthInfoEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthlogger",{"_index":653,"title":{"classes/OAuthLogger.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["oauthmodule",{"_index":798,"title":{"modules/OAuthModule.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"modules.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmodule.forroot",{"_index":1419,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmoduleconfig",{"_index":207,"title":{"classes/OAuthModuleConfig.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthnoopresourceservererrorhandler",{"_index":832,"title":{"classes/OAuthNoopResourceServerErrorHandler.html":{}},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthresourceserverconfig",{"_index":822,"title":{"classes/OAuthResourceServerConfig.html":{}},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["oauthresourceservererrorhandler",{"_index":205,"title":{"classes/OAuthResourceServerErrorHandler.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthservice",{"_index":203,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["oauthstorage",{"_index":669,"title":{"classes/OAuthStorage.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthsuccessevent",{"_index":782,"title":{"classes/OAuthSuccessEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["object",{"_index":46,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["observable",{"_index":215,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["obtaining",{"_index":1551,"title":{},"body":{"license.html":{}}}],["occur",{"_index":1809,"title":{},"body":{"additional-documentation/events.html":{}}}],["of(null",{"_index":262,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["of(this.oauthservice.getaccesstoken()).pipe(filter((token",{"_index":254,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["officially",{"_index":1296,"title":{},"body":{"index.html":{}}}],["offline_access",{"_index":1454,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["oidc",{"_index":522,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["oidc';please",{"_index":1521,"title":{},"body":{"index.html":{}}}],["oidc.module.ts",{"_index":801,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.module.ts:14",{"_index":806,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.umd.js",{"_index":1953,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["oidc/docs",{"_index":1277,"title":{},"body":{"index.html":{}}}],["oidc/docs/additional",{"_index":1498,"title":{},"body":{"index.html":{}}}],["oidc/issues/728#issuecomment",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/1020",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/919",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/935",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/936",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/938",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/965",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["oidcdiscoverydoc",{"_index":703,"title":{"interfaces/OidcDiscoveryDoc.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ok",{"_index":1725,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["okm",{"_index":471,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["okta",{"_index":1310,"title":{},"body":{"index.html":{}}}],["older",{"_index":1317,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["one",{"_index":516,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["online",{"_index":1536,"title":{},"body":{"index.html":{}}}],["onloginerror",{"_index":570,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ontokenreceived",{"_index":571,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["open",{"_index":2072,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["opened",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["opener",{"_index":1705,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["openid",{"_index":700,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["opens",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["opht1tkt9e9fvqtzpbvf1thvhjrxvyvx",{"_index":2079,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["optimization",{"_index":442,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["option",{"_index":983,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/session-checks.html":{}}}],["optional",{"_index":41,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["optionalparams",{"_index":655,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["options",{"_index":564,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/events.html":{}}}],["orig",{"_index":180,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["original",{"_index":1623,"title":{"additional-documentation/original-config-api.html":{}},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["originally",{"_index":1959,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["otherparam",{"_index":1803,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["otherwise",{"_index":1505,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":297,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{},"license.html":{},"overview.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["out[i",{"_index":436,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["output",{"_index":451,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["outside",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["over",{"_index":1641,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["override",{"_index":19,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["overview",{"_index":1603,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owner",{"_index":1996,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["p",{"_index":375,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["package",{"_index":1191,"title":{"dependencies.html":{}},"body":{}}],["package.json",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["packages",{"_index":1861,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["paddedhexcode",{"_index":191,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["padlength",{"_index":435,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["page",{"_index":554,"title":{"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["pair",{"_index":871,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["pairs",{"_index":870,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["param",{"_index":104,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parameter",{"_index":1156,"title":{},"body":{"changelog.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["parameters",{"_index":37,"title":{"additional-documentation/custom-query-parameters.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"index.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["params",{"_index":64,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["params.idtokenclaims['at_hash'].replace(/=/g",{"_index":100,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parent",{"_index":1702,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["parse",{"_index":1921,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["parsed",{"_index":54,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parsedidtoken",{"_index":681,"title":{"interfaces/ParsedIdToken.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["parsequerystring",{"_index":858,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["parsequerystring(querystring",{"_index":861,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["particular",{"_index":1585,"title":{},"body":{"license.html":{}}}],["pass",{"_index":581,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["passed",{"_index":34,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["passes",{"_index":1755,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["passing",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["password",{"_index":1258,"title":{"additional-documentation/using-password-flow.html":{}},"body":{"miscellaneous/functions.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["passwords",{"_index":884,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["path",{"_index":1503,"title":{},"body":{"index.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pathlocationstrategy",{"_index":1286,"title":{},"body":{"index.html":{}}}],["pbkdf2",{"_index":1241,"title":{},"body":{"miscellaneous/functions.html":{}}}],["pbkdf2(password",{"_index":1255,"title":{},"body":{"miscellaneous/functions.html":{}}}],["perform",{"_index":1721,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["performs",{"_index":1846,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["permission",{"_index":1546,"title":{},"body":{"license.html":{}}}],["permissions",{"_index":1449,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["permit",{"_index":1568,"title":{},"body":{"license.html":{}}}],["person",{"_index":1550,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1569,"title":{},"body":{"license.html":{}}}],["perspective",{"_index":1983,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["phil",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["pingone",{"_index":1933,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pipe",{"_index":265,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pipe(catcherror((err",{"_index":252,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pkce",{"_index":1357,"title":{},"body":{"index.html":{}}}],["place",{"_index":1411,"title":{},"body":{"index.html":{}}}],["plan",{"_index":1335,"title":{},"body":{"index.html":{}}}],["please",{"_index":532,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["pls",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["plus",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["pmccloghrylaing",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["popperjs/core",{"_index":1202,"title":{},"body":{"dependencies.html":{}}}],["popup",{"_index":583,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["popup_blocked",{"_index":779,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["popup_closed",{"_index":778,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["portions",{"_index":1576,"title":{},"body":{"license.html":{}}}],["pos",{"_index":376,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["possible",{"_index":1990,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["post",{"_index":1306,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["postlogoutredirecturi",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["ppanthony",{"_index":1951,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["practice",{"_index":613,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["practices",{"_index":1445,"title":{},"body":{"index.html":{}}}],["predefined",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["prefixes",{"_index":1493,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["prepared",{"_index":1261,"title":{},"body":{"index.html":{}}}],["present",{"_index":592,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["preserving",{"_index":1616,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["prevent",{"_index":985,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["preventclearhashafterlogin",{"_index":572,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["prevents",{"_index":1729,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["previously",{"_index":2048,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["prf.finish(u",{"_index":491,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["prf.reset",{"_index":488,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["prf.update(ctr",{"_index":490,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["prf.update(salt",{"_index":489,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["private",{"_index":235,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["production",{"_index":609,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["profile",{"_index":1457,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["progressing",{"_index":2051,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["project",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["project's",{"_index":1906,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["projects/.../base64",{"_index":1231,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../events.ts",{"_index":1607,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../factories.ts",{"_index":1234,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../fast",{"_index":1240,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../hash",{"_index":1237,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../jwks",{"_index":1611,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../provider.ts",{"_index":1242,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../tokens.ts",{"_index":1610,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/angular",{"_index":800,"title":{},"body":{"modules/OAuthModule.html":{}}}],["projects/lib/src/base64",{"_index":1243,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/date",{"_index":118,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["projects/lib/src/encoder.ts",{"_index":881,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:10",{"_index":897,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:14",{"_index":891,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:18",{"_index":893,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:6",{"_index":895,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/events.ts",{"_index":751,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["projects/lib/src/events.ts:28",{"_index":786,"title":{},"body":{"classes/OAuthEvent.html":{}}}],["projects/lib/src/events.ts:32",{"_index":846,"title":{},"body":{"classes/OAuthSuccessEvent.html":{}}}],["projects/lib/src/events.ts:38",{"_index":787,"title":{},"body":{"classes/OAuthInfoEvent.html":{}}}],["projects/lib/src/events.ts:44",{"_index":756,"title":{},"body":{"classes/OAuthErrorEvent.html":{}}}],["projects/lib/src/factories.ts",{"_index":1247,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/interceptors/default",{"_index":198,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["projects/lib/src/interceptors/resource",{"_index":833,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["projects/lib/src/oauth",{"_index":819,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["projects/lib/src/provider.ts",{"_index":1259,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/token",{"_index":6,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/lib/src/tokens.ts",{"_index":1612,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/types.ts",{"_index":562,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:100",{"_index":845,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:107",{"_index":737,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:111",{"_index":738,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:115",{"_index":739,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:125",{"_index":850,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:126",{"_index":848,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:127",{"_index":849,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:128",{"_index":851,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:13",{"_index":627,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:162",{"_index":877,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:20",{"_index":642,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:28",{"_index":618,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:40",{"_index":573,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:50",{"_index":611,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:59",{"_index":600,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:67",{"_index":630,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:74",{"_index":594,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:84",{"_index":791,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:85",{"_index":794,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:86",{"_index":795,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:87",{"_index":796,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:88",{"_index":793,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:98",{"_index":843,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:99",{"_index":844,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/url",{"_index":855,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["promise",{"_index":44,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["promise(resolve",{"_index":2054,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve",{"_index":2042,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve(null",{"_index":748,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["promise.resolve(true",{"_index":749,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["properly",{"_index":459,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["properties",{"_index":275,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["property",{"_index":625,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{}}}],["proposes",{"_index":1625,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["protected",{"_index":23,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["provding",{"_index":1751,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["provide",{"_index":649,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["provided",{"_index":1279,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["providehttpclient",{"_index":1405,"title":{},"body":{"index.html":{}}}],["provideoauthclient",{"_index":812,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{},"index.html":{}}}],["provideoauthclient(config",{"_index":818,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["provider",{"_index":813,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["provider.ts",{"_index":120,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["provider.ts:4",{"_index":124,"title":{},"body":{"classes/DateTimeProvider.html":{}}}],["provider.ts:5",{"_index":122,"title":{},"body":{"classes/DateTimeProvider.html":{}}}],["providers",{"_index":817,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["provides",{"_index":1764,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["providing",{"_index":2015,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["prs",{"_index":1339,"title":{},"body":{"index.html":{}}}],["public",{"_index":84,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["publish",{"_index":1562,"title":{},"body":{"license.html":{}}}],["published",{"_index":1826,"title":{},"body":{"additional-documentation/events.html":{}}}],["publishes",{"_index":1807,"title":{},"body":{"additional-documentation/events.html":{}}}],["pull",{"_index":1149,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["purpose",{"_index":1586,"title":{},"body":{"license.html":{},"additional-documentation/callback-after-login.html":{}}}],["put",{"_index":1748,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["puts",{"_index":418,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["pwa",{"_index":1540,"title":{},"body":{"index.html":{}}}],["query",{"_index":640,"title":{"additional-documentation/custom-query-parameters.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/custom-query-parameters.html":{}}}],["querying",{"_index":1366,"title":{},"body":{"index.html":{}}}],["querystring",{"_index":589,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["querystring.split",{"_index":875,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["question",{"_index":590,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/session-checks.html":{}}}],["questionmarkposition",{"_index":866,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["quite",{"_index":1993,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["read",{"_index":533,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"miscellaneous/variables.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["reading",{"_index":1848,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["readme",{"_index":1466,"title":{},"body":{"index.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["readonly",{"_index":783,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["ready",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["real",{"_index":515,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["reason",{"_index":755,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["receive",{"_index":972,"title":{},"body":{"changelog.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["received",{"_index":62,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["receivedtokens",{"_index":645,"title":{"classes/ReceivedTokens.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["receives",{"_index":2045,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["receiving",{"_index":2063,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["recommend",{"_index":1304,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["recommended",{"_index":1509,"title":{},"body":{"index.html":{}}}],["recommented",{"_index":552,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["redhat",{"_index":1270,"title":{},"body":{"index.html":{}}}],["redhat's",{"_index":1295,"title":{},"body":{"index.html":{}}}],["redirect",{"_index":595,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["redirected",{"_index":1360,"title":{},"body":{"index.html":{}}}],["redirecting",{"_index":1373,"title":{},"body":{"index.html":{}}}],["redirects",{"_index":1487,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["redirecturi",{"_index":962,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["redirecturis",{"_index":1388,"title":{},"body":{"index.html":{}}}],["refactor",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":599,"title":{"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["refresh.html",{"_index":1152,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["refresh.html\";please",{"_index":1680,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["refresh_token",{"_index":694,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["refresh_tokens",{"_index":1630,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["refreshed",{"_index":1838,"title":{},"body":{"additional-documentation/events.html":{}}}],["refreshes",{"_index":580,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["refreshing",{"_index":1363,"title":{"additional-documentation/refreshing-a-token.html":{}},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["refreshtoken",{"_index":1633,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["regarding",{"_index":1369,"title":{},"body":{"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["regards",{"_index":1516,"title":{},"body":{"index.html":{}}}],["register",{"_index":1883,"title":{},"body":{"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["registerd",{"_index":1436,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["registered",{"_index":828,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["registration_endpoint",{"_index":713,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["related",{"_index":1741,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["relations",{"_index":1988,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["release",{"_index":1333,"title":{},"body":{"index.html":{}}}],["removal",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["remove",{"_index":1025,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["removed",{"_index":1528,"title":{},"body":{"index.html":{}}}],["removeitem",{"_index":735,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["removeitem(key",{"_index":671,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["removing",{"_index":639,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["rendering",{"_index":1899,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"additional-documentation/server-side-rendering.html":{}}}],["replace",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["replaced",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["replacements",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["replay",{"_index":605,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["represents",{"_index":677,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["req",{"_index":214,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.clone",{"_index":271,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers",{"_index":1774,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers.set('authorization",{"_index":270,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["req.url.tolowercase",{"_index":244,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["request",{"_index":1450,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["request_object_signing_alg_values_supported",{"_index":726,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["requested",{"_index":1617,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["requests",{"_index":1150,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["require','jsrsasign",{"_index":1958,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["requirements",{"_index":1628,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["reset",{"_index":281,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"overview.html":{}}}],["resolve",{"_index":2052,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolve(true",{"_index":2056,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolves",{"_index":1834,"title":{},"body":{"additional-documentation/events.html":{}}}],["resource",{"_index":228,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["resources",{"_index":1273,"title":{},"body":{"index.html":{}}}],["resourceserver",{"_index":821,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["resourceservererrorhandler",{"_index":827,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["respect",{"_index":1631,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["respective",{"_index":1298,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["respond",{"_index":1667,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["response",{"_index":685,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["response_modes_supported",{"_index":717,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["response_types",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["response_types_supported",{"_index":715,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["responsetype",{"_index":1037,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["restriction",{"_index":1558,"title":{},"body":{"license.html":{}}}],["result",{"_index":114,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["results",{"_index":116,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["retrieved",{"_index":1828,"title":{},"body":{"additional-documentation/events.html":{}}}],["retrieving",{"_index":597,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["return",{"_index":103,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["returned",{"_index":1698,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["returns",{"_index":43,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-password-flow.html":{}}}],["returnto",{"_index":2087,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["reverse",{"_index":1529,"title":{},"body":{"index.html":{}}}],["revocation",{"_index":1101,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revocation_endpoint",{"_index":733,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["revocationendpoint",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["revoke",{"_index":1102,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revoketokenandlogout",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["rfc",{"_index":1145,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rights",{"_index":1560,"title":{},"body":{"license.html":{}}}],["risk",{"_index":745,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["robin",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["roblabat",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["root",{"_index":1850,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["rotation",{"_index":2074,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["route",{"_index":1502,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["router",{"_index":1285,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routermodule.forroot(app_routes",{"_index":1852,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routes",{"_index":1849,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routing",{"_index":1121,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"changelog.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["run",{"_index":1131,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["running",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["runs",{"_index":1380,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["rxjs",{"_index":220,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"dependencies.html":{}}}],["rxjs/add/operator/catch",{"_index":1768,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/observable",{"_index":1767,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/operators",{"_index":227,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["s",{"_index":158,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["safe",{"_index":1359,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["sake",{"_index":1412,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["salt",{"_index":466,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["same",{"_index":420,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sample",{"_index":1089,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["save",{"_index":545,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["saveafter",{"_index":1519,"title":{},"body":{"index.html":{}}}],["saved",{"_index":1829,"title":{},"body":{"additional-documentation/events.html":{}}}],["saveoption",{"_index":1394,"title":{},"body":{"index.html":{}}}],["scenario",{"_index":2065,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["scope",{"_index":695,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["scope/state",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["scopes_supported",{"_index":714,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["script",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["search",{"_index":1690,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["seconds",{"_index":1736,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["secret",{"_index":1440,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["section",{"_index":1506,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["security",{"_index":614,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{}}}],["see",{"_index":1076,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["selector",{"_index":1964,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["sell",{"_index":1566,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1215,"title":{},"body":{"dependencies.html":{}}}],["send",{"_index":829,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["sendaccesstoken",{"_index":249,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["sending",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["sends",{"_index":1882,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sense",{"_index":1112,"title":{},"body":{"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["separatorindex",{"_index":872,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["server",{"_index":229,"title":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{}}}],["server's",{"_index":1374,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity",{"_index":1673,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["server.azurewebsites.net/identity/.well",{"_index":2005,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/authorize",{"_index":1910,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/endsession",{"_index":1919,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/token",{"_index":2009,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/userinfo",{"_index":2013,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.code",{"_index":1438,"title":{},"body":{"index.html":{}}}],["servers",{"_index":1475,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["service",{"_index":234,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["service_documentation",{"_index":731,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["session",{"_index":977,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["session's",{"_index":1890,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_changed",{"_index":773,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["session_error",{"_index":774,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["session_state",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["session_terminated",{"_index":775,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/session-checks.html":{}}}],["session_terminated')).subscribe(e",{"_index":1896,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_unchanged",{"_index":776,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["sessionchecksenabled",{"_index":1886,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sessionstorage",{"_index":666,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["set",{"_index":586,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["set('authorization",{"_index":1775,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["setitem",{"_index":736,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["setitem(key",{"_index":672,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["sets",{"_index":1793,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["setstorage",{"_index":1914,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["setting",{"_index":1086,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["settings",{"_index":1795,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["setup",{"_index":1402,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["several",{"_index":1929,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sha",{"_index":112,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{}}}],["sha256",{"_index":146,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"dependencies.html":{}}}],["sha256(accesstoken",{"_index":90,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["sha256js",{"_index":150,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["sha256js.ts",{"_index":274,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["sha256js.ts:139",{"_index":497,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:140",{"_index":496,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:149",{"_index":495,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:157",{"_index":505,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:173",{"_index":502,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:190",{"_index":506,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:220",{"_index":504,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:257",{"_index":503,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:264",{"_index":501,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:271",{"_index":500,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:286",{"_index":289,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:287",{"_index":291,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:292",{"_index":285,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:327",{"_index":298,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:334",{"_index":292,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:343",{"_index":300,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:349",{"_index":296,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:360",{"_index":294,"title":{},"body":{"classes/HMAC.html":{}}}],["shaking",{"_index":1518,"title":{},"body":{"index.html":{}}}],["shall",{"_index":1574,"title":{},"body":{"license.html":{}}}],["share",{"_index":1927,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sharing",{"_index":1952,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["ship",{"_index":1989,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["short",{"_index":1811,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["showdebuginformation",{"_index":1459,"title":{},"body":{"index.html":{}}}],["shown",{"_index":1465,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["shows",{"_index":1753,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers.html":{}}}],["side",{"_index":664,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/server-side-rendering.html":{}}}],["sign",{"_index":940,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["signature",{"_index":67,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["signs",{"_index":1873,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["silent",{"_index":579,"title":{"additional-documentation/silent-refresh.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["silent_refresh_error",{"_index":768,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["silent_refresh_timeout",{"_index":770,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silently_refreshed",{"_index":769,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silentrefresh",{"_index":1722,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["silentrefreshredirecturi",{"_index":1670,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["silentrefreshtimeout",{"_index":1733,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["similar",{"_index":1994,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["simple",{"_index":660,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{}}}],["single",{"_index":553,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["site",{"_index":1092,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["size",{"_index":1332,"title":{},"body":{"index.html":{}}}],["sizes",{"_index":558,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["skip",{"_index":744,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["skipping",{"_index":2035,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["skips",{"_index":1865,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["smaller",{"_index":556,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["snippet",{"_index":1812,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["software",{"_index":1553,"title":{},"body":{"license.html":{}}}],["solution",{"_index":1429,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["something",{"_index":2044,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["somevalue",{"_index":1804,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{}}}],["sources",{"_index":1274,"title":{},"body":{"index.html":{}}}],["spa",{"_index":1387,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["spa's",{"_index":1435,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["spas",{"_index":1442,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["spec",{"_index":1832,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["special",{"_index":2070,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["specific",{"_index":1456,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["specification",{"_index":1937,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["specifies",{"_index":1626,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["specs",{"_index":1370,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["src",{"_index":1350,"title":{},"body":{"index.html":{}}}],["standalone",{"_index":1395,"title":{},"body":{"index.html":{}}}],["standard",{"_index":1077,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["start",{"_index":1943,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["started",{"_index":903,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{}}}],["starting",{"_index":1799,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["starts",{"_index":1962,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["startup",{"_index":1991,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["state",{"_index":417,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/events.html":{}}}],["static",{"_index":802,"title":{},"body":{"modules/OAuthModule.html":{}}}],["status",{"_index":1744,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["steyer",{"_index":1180,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["still",{"_index":1410,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["stopautomaticrefresh",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["storage",{"_index":661,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["storagefactory",{"_index":2032,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["store",{"_index":1473,"title":{},"body":{"index.html":{}}}],["stored",{"_index":1835,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["storing",{"_index":662,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["str",{"_index":1245,"title":{},"body":{"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{}}}],["strategy",{"_index":1653,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["stream",{"_index":1808,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["strict",{"_index":2064,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["strictdiscoverydocumentvalidation",{"_index":1924,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["string",{"_index":28,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["string.fromcharcode(e",{"_index":184,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["strong",{"_index":1986,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["sub",{"_index":699,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["subject",{"_index":1571,"title":{},"body":{"license.html":{}}}],["subject_types_supported",{"_index":719,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["sublicense",{"_index":1564,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1575,"title":{},"body":{"license.html":{}}}],["succeeded",{"_index":1619,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["successful",{"_index":1778,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["successfully",{"_index":628,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/events.html":{}}}],["such",{"_index":1447,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["sufficient",{"_index":1688,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["suited",{"_index":1985,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["summary.json",{"_index":1353,"title":{},"body":{"index.html":{}}}],["super",{"_index":559,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["super(type",{"_index":784,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["support",{"_index":964,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/authorization-servers.html":{}}}],["supported",{"_index":111,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/original-config-api.html":{}}}],["supports",{"_index":1422,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["sure",{"_index":1352,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["switching",{"_index":1492,"title":{},"body":{"index.html":{}}}],["symbol",{"_index":587,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["system.config",{"_index":1948,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["systemdatetimeprovider",{"_index":128,"title":{"injectables/SystemDateTimeProvider.html":{}},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["systemjs",{"_index":1944,"title":{"additional-documentation/using-systemjs.html":{}},"body":{"additional-documentation/using-systemjs.html":{}}}],["t1",{"_index":384,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["t2",{"_index":385,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["table",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":224,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["take(1",{"_index":266,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["takes",{"_index":1409,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["targeting",{"_index":1789,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["task",{"_index":1491,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["tasks",{"_index":1806,"title":{},"body":{"additional-documentation/events.html":{}}}],["telling",{"_index":513,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["tells",{"_index":1482,"title":{},"body":{"index.html":{}}}],["template",{"_index":1977,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["templateurl",{"_index":1966,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["tenant",{"_index":1801,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["terminated",{"_index":1898,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["tested",{"_index":1282,"title":{},"body":{"index.html":{}}}],["testen",{"_index":1981,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["testing",{"_index":1266,"title":{},"body":{"index.html":{}}}],["tests",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":1220,"title":{},"body":{"dependencies.html":{}}}],["textencoder",{"_index":166,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["thanks",{"_index":1171,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-systemjs.html":{}}}],["that's",{"_index":2001,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["then(info",{"_index":1723,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["things",{"_index":1787,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["third",{"_index":1651,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.authservice.events.subscribe(event",{"_index":1820,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.authstorage.getitem('access_token",{"_index":1773,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.blocksize",{"_index":444,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.buffer",{"_index":414,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.buffer[padlength",{"_index":430,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.buffer[this.bufferlength",{"_index":409,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.bufferlength",{"_index":408,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.byteshashed",{"_index":423,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.calchash(params.accesstoken",{"_index":89,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.checkurl(url",{"_index":247,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.configure",{"_index":1968,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.data.delete(key",{"_index":675,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["this.data.get(key",{"_index":674,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["this.data.set(key",{"_index":676,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["this.document",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["this.errorhandler.handleerror(err",{"_index":253,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.finish(out",{"_index":440,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.finished",{"_index":421,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.inferhashalgorithm(params.idtokenheader",{"_index":86,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.inner.blocksize",{"_index":288,"title":{},"body":{"classes/HMAC.html":{}}}],["this.inner.digestlength",{"_index":290,"title":{},"body":{"classes/HMAC.html":{}}}],["this.moduleconfig",{"_index":245,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver",{"_index":246,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls",{"_index":240,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find((u",{"_index":241,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find(u",{"_index":1771,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation",{"_index":238,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation(url",{"_index":239,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.sendaccesstoken",{"_index":250,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.oauthservice",{"_index":2039,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.clientid",{"_index":1912,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.configure(authcodeflowconfig",{"_index":1470,"title":{},"body":{"index.html":{}}}],["this.oauthservice.configure(authconfig",{"_index":1969,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.customqueryparams",{"_index":1800,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["this.oauthservice.dummyclientsecret",{"_index":2002,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.events(filter(e",{"_index":2046,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.events.pipe",{"_index":256,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.events.pipe(filter(e",{"_index":1895,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["this.oauthservice.events.subscribe(e",{"_index":1813,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflow('max",{"_index":2018,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max",{"_index":2023,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.getaccesstoken",{"_index":264,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.getidentityclaims",{"_index":1975,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.hasvalidaccesstoken",{"_index":2049,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.hasvalididtoken",{"_index":2050,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initcodeflow();there",{"_index":1460,"title":{},"body":{"index.html":{}}}],["this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');after",{"_index":1618,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["this.oauthservice.initloginflow",{"_index":1972,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initloginflow();also",{"_index":1464,"title":{},"body":{"index.html":{}}}],["this.oauthservice.issuer",{"_index":2059,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument().then",{"_index":2060,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument(url).then",{"_index":2007,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandlogin",{"_index":1483,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin",{"_index":1484,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin();logging",{"_index":1471,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaduserprofile",{"_index":2021,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loginurl",{"_index":1909,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.logout",{"_index":1974,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.logout();if",{"_index":1477,"title":{},"body":{"index.html":{}}}],["this.oauthservice.logouturl",{"_index":1918,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.redirecturi",{"_index":1911,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.refreshtoken().then",{"_index":2027,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.refreshtoken();automatically",{"_index":1634,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.revoketokenandlogout",{"_index":2088,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.revoketokenandlogout();skipping",{"_index":1478,"title":{},"body":{"index.html":{}}}],["this.oauthservice.scope",{"_index":1913,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.setstorage(sessionstorage",{"_index":1916,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.setupautomaticsilentrefresh();by",{"_index":1636,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.silentrefreshredirecturi",{"_index":1679,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["this.oauthservice.tokenendpoint",{"_index":2008,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.tokenvalidationhandler",{"_index":1866,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.trylogin",{"_index":1620,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.trylogin().then(_",{"_index":1855,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.oauthservice.userinfoendpoint",{"_index":2012,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.parsequerystring(hash",{"_index":869,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["this.router.navigate",{"_index":1856,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.state",{"_index":413,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.state[i",{"_index":437,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.tohashstring(hasharray",{"_index":177,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.tohashstring2(hasharray",{"_index":178,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.window.addeventlistener('unload",{"_index":2055,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["those",{"_index":1632,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["three",{"_index":1675,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["through",{"_index":651,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["throw",{"_index":108,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["throwerror",{"_index":837,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["throwerror(err",{"_index":838,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["time",{"_index":119,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["timeout",{"_index":226,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{}}}],["timeout(this.oauthservice.waitfortokeninmsec",{"_index":260,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["timeoutfactor",{"_index":1644,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["timer",{"_index":1836,"title":{},"body":{"additional-documentation/events.html":{}}}],["timers",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["timespan",{"_index":1732,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["together",{"_index":1900,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["tohashstring",{"_index":134,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["tohashstring(buffer",{"_index":137,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["tohashstring(hexstring",{"_index":194,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["tohashstring2",{"_index":135,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["tohashstring2(bytearray",{"_index":141,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["token",{"_index":255,"title":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["token's",{"_index":1639,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["token(s",{"_index":635,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["token.html",{"_index":1500,"title":{},"body":{"index.html":{}}}],["token_endpoint",{"_index":706,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_endpoint_auth_methods_supported",{"_index":707,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_endpoint_auth_signing_alg_values_supported",{"_index":708,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_error",{"_index":764,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_expires",{"_index":772,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_received",{"_index":259,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["token_received')).subscribe",{"_index":2047,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["token_refresh_error",{"_index":767,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_refreshed",{"_index":766,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_revoke_error",{"_index":780,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_type",{"_index":692,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_validation_error",{"_index":771,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["tokenhash",{"_index":87,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["tokenhash.length",{"_index":95,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["tokenhash.substr(0",{"_index":94,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["tokenresponse",{"_index":691,"title":{"interfaces/TokenResponse.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["tokens",{"_index":83,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["tokensetup",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["tokenvalidationhandler",{"_index":644,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["tokenvalidator",{"_index":1860,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["tort",{"_index":1597,"title":{},"body":{"license.html":{}}}],["transmit",{"_index":1998,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["transmitted",{"_index":1798,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["transmitting",{"_index":1739,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["tree",{"_index":1517,"title":{},"body":{"index.html":{}}}],["tries",{"_index":1920,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["triggers",{"_index":1650,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["true",{"_index":92,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["true);the",{"_index":2089,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["trust",{"_index":1987,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["try",{"_index":1328,"title":{},"body":{"index.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["trylogin",{"_index":565,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["trylogincodeflow",{"_index":1159,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1915,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["tsickle",{"_index":1223,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1225,"title":{},"body":{"dependencies.html":{}}}],["turn",{"_index":1942,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["tutorial",{"_index":1534,"title":{},"body":{"index.html":{}}}],["tutorials",{"_index":1533,"title":{},"body":{"index.html":{}}}],["two",{"_index":1786,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["type",{"_index":40,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["typealiases",{"_index":1605,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typed",{"_index":456,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["typeerror('expected",{"_index":159,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["typeof",{"_index":157,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["types",{"_index":2075,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["typo",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["u",{"_index":382,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["ui_locales_supported",{"_index":732,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["uint32array",{"_index":306,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["uint8array",{"_index":284,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["uint8array([1",{"_index":468,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["uint8array(buffer",{"_index":185,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["uint8array(d.length",{"_index":163,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["uint8array(digestlength",{"_index":462,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["uint8array(hmac_.digestlength",{"_index":481,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["uint8array(length",{"_index":484,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["uint8array(this.digestlength",{"_index":439,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["unchanged",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["under",{"_index":1794,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["unfortunately",{"_index":1892,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["universal",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":1485,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["upcoming",{"_index":1262,"title":{},"body":{"index.html":{}}}],["update",{"_index":282,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{}}}],["update(data",{"_index":299,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["upgrade",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1531,"title":{},"body":{"index.html":{}}}],["uri",{"_index":596,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["url",{"_index":243,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["url.startswith(u",{"_index":1772,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["url.tolowercase().startswith(u.tolowercase",{"_index":242,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["url?x=1",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["urlhelperservice",{"_index":854,"title":{"injectables/UrlHelperService.html":{}},"body":{"injectables/UrlHelperService.html":{}}}],["urls",{"_index":824,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["usage",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["use",{"_index":18,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["usecase",{"_index":1455,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["useclass",{"_index":1871,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["used",{"_index":576,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/using-password-flow.html":{}}}],["usefactory",{"_index":2033,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["usehash",{"_index":1853,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["user",{"_index":696,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["user's",{"_index":2016,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["user_profile_load_error",{"_index":763,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["user_profile_loaded",{"_index":762,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["userinfo",{"_index":698,"title":{"interfaces/UserInfo.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{}}}],["userinfo_encryption_alg_values_supported",{"_index":721,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["userinfo_encryption_enc_values_supported",{"_index":722,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["userinfo_endpoint",{"_index":709,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["userinfo_signing_alg_values_supported",{"_index":720,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["username/password",{"_index":1382,"title":{},"body":{"index.html":{}}}],["username/passwort",{"_index":1979,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["users",{"_index":514,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/server-side-rendering.html":{}}}],["uses",{"_index":470,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["usesilentrefresh",{"_index":1087,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["using",{"_index":36,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["utils",{"_index":523,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["v",{"_index":374,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{}}}],["v[0",{"_index":386,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[1",{"_index":387,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[2",{"_index":388,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[3",{"_index":389,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[4",{"_index":390,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[5",{"_index":391,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[6",{"_index":392,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[7",{"_index":393,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["valid",{"_index":1488,"title":{},"body":{"index.html":{}}}],["validate",{"_index":82,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["validateathash",{"_index":16,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validateathash(params",{"_index":56,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validateathash(validationparams",{"_index":526,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{}}}],["validated",{"_index":629,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/callback-after-login.html":{}}}],["validates",{"_index":59,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["validatesignature",{"_index":26,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validatesignature(validationparams",{"_index":65,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validating",{"_index":742,"title":{},"body":{"classes/NullValidationHandler.html":{},"index.html":{}}}],["validation",{"_index":511,"title":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"miscellaneous/variables.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["validation/fast",{"_index":273,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["validation/hash",{"_index":133,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["validation/jwks",{"_index":510,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["validation/null",{"_index":740,"title":{},"body":{"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{}}}],["validation/validation",{"_index":7,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validationhandler",{"_index":12,"title":{"classes/ValidationHandler.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["validationhandlerclass",{"_index":805,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["validationparams",{"_index":57,"title":{"interfaces/ValidationParams.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validations",{"_index":1372,"title":{},"body":{"index.html":{}}}],["value",{"_index":35,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"modules/OAuthModule.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/original-config-api.html":{}}}],["value.tostring(16",{"_index":190,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["values",{"_index":641,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["valuetohash",{"_index":42,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["var",{"_index":160,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/silent-refresh.html":{}}}],["variables",{"_index":1608,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["various",{"_index":1935,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vdveer",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["versatility",{"_index":1497,"title":{},"body":{"index.html":{}}}],["version",{"_index":536,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["versions",{"_index":1316,"title":{},"body":{"index.html":{}}}],["via",{"_index":1290,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vital",{"_index":1446,"title":{},"body":{"index.html":{}}}],["void",{"_index":293,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["voucher",{"_index":1677,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["w",{"_index":372,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["w[i",{"_index":397,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["want",{"_index":632,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["warn",{"_index":790,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["warn(message",{"_index":658,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["warning",{"_index":1868,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["warranties",{"_index":1582,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1577,"title":{},"body":{"license.html":{}}}],["way",{"_index":1109,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["we've",{"_index":1292,"title":{},"body":{"index.html":{}}}],["web",{"_index":1379,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["webcomponents/custom",{"_index":1204,"title":{},"body":{"dependencies.html":{}}}],["webhttpurlencodingcodec",{"_index":880,"title":{"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["webpack",{"_index":1291,"title":{},"body":{"index.html":{}}}],["websocket",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["well",{"_index":650,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["when/some",{"_index":1364,"title":{},"body":{"index.html":{}}}],["whenever",{"_index":1827,"title":{},"body":{"additional-documentation/events.html":{}}}],["whether",{"_index":1594,"title":{},"body":{"license.html":{}}}],["white",{"_index":1749,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["widow",{"_index":1703,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["window",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["window.crypto.subtle.digest(algorithm",{"_index":168,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["window.location.hash",{"_index":863,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["window.location.origin",{"_index":1433,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["window.opener",{"_index":1684,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["window.parent",{"_index":1792,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["window.parent).postmessage(location.hash",{"_index":1685,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["windowref",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["wish",{"_index":2043,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["within",{"_index":1655,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["without",{"_index":1557,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}},"body":{"license.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["work",{"_index":1096,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["working",{"_index":1168,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{"changelog.html":{}}}],["works",{"_index":458,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["workshops",{"_index":1542,"title":{},"body":{"index.html":{}}}],["write",{"_index":1758,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ws02",{"_index":1932,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["yes",{"_index":792,"title":{},"body":{"classes/OAuthLogger.html":{},"injectables/UrlHelperService.html":{},"miscellaneous/functions.html":{}}}],["you're",{"_index":1530,"title":{},"body":{"index.html":{}}}],["you've",{"_index":1970,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["yourself",{"_index":2062,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["zeroes",{"_index":464,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["zone.js",{"_index":1226,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":1604,"title":{},"body":{"overview.html":{}}}],["zum",{"_index":1980,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}]],"pipeline":["stemmer"]},
-    "store": {"classes/AbstractValidationHandler.html":{"url":"classes/AbstractValidationHandler.html","title":"class - AbstractValidationHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  AbstractValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/validation-handler.ts\n        \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                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Protected\n                                    Abstract\n                                calcHash\n                            \n                            \n                                    Protected\n                                inferHashAlgorithm\n                            \n                            \n                                    Async\n                                validateAtHash\n                            \n                            \n                                    Abstract\n                                validateSignature\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Protected\n                        Abstract\n                        calcHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    calcHash(valueToHash: string, algorithm: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:88\n                \n            \n\n\n            \n                \n                    Calculates the hash for the passed value by using\nthe passed hash algorithm.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    valueToHash\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    algorithm\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        Protected\n                        inferHashAlgorithm\n                        \n                    \n                \n            \n            \n                \n                    \n                    inferHashAlgorithm(jwtHeader: object)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:71\n                \n            \n\n\n            \n                \n                    Infers the name of the hash algorithm to use\nfrom the alg field of an id_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                    Description\n                                \n                            \n                            \n                                \n                                    jwtHeader\n                                    \n                                                object\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                    \n                                        the id_token's parsed header\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                    \n                        Async\n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateAtHash(params: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:46\n                \n            \n\n\n            \n                \n                    Validates the at_hash in an id_token against the received access_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    params\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        validateSignature\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:41\n                \n            \n\n\n            \n                \n                    Validates the signature of an id_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { base64UrlEncode } from '../base64-helper';\n\nexport 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   * Validates the signature of an id_token.\n   */\n  public abstract validateSignature(\n    validationParams: ValidationParams\n  ): Promise;\n\n  /**\n   * Validates the at_hash in an id_token against the received access_token.\n   */\n  public abstract validateAtHash(\n    validationParams: ValidationParams\n  ): Promise;\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   * 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  async validateAtHash(params: ValidationParams): Promise {\n    let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n    let tokenHash = await this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n    let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);\n\n    let atHash = base64UrlEncode(leftMostHalf);\n\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(\n    valueToHash: string,\n    algorithm: string\n  ): Promise;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/DateTimeProvider.html":{"url":"classes/DateTimeProvider.html","title":"class - DateTimeProvider","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  DateTimeProvider\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/date-time-provider.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                new\n                            \n                            \n                                    Abstract\n                                now\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        new\n                        \n                    \n                \n            \n            \n                \n                    \n                    new()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/date-time-provider.ts:5\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         Date\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        now\n                        \n                    \n                \n            \n            \n                \n                    \n                    now()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/date-time-provider.ts:4\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         number\n\n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\nexport abstract class DateTimeProvider {\n  abstract now(): number;\n  abstract new(): Date;\n}\n\n@Injectable()\nexport class SystemDateTimeProvider extends DateTimeProvider {\n  now(): number {\n    return Date.now();\n  }\n\n  new(): Date {\n    return new Date();\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"injectables/DefaultHashHandler.html":{"url":"injectables/DefaultHashHandler.html","title":"injectable - DefaultHashHandler","body":"\n                   \n\n\n\n\n\n\n\n\n  Injectables\n  DefaultHashHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/hash-handler.ts\n        \n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Async\n                                calcHash\n                            \n                            \n                                toHashString\n                            \n                            \n                                toHashString2\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Async\n                        calcHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    calcHash(valueToHash: string, algorithm: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:33\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    valueToHash\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    algorithm\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        toHashString\n                        \n                    \n                \n            \n            \n                \ntoHashString(buffer: ArrayBuffer)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:60\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    buffer\n                                    \n                                            ArrayBuffer\n                                    \n\n                                    \n                                        No\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                    \n                        toHashString2\n                        \n                    \n                \n            \n            \n                \ntoHashString2(byteArray: number[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:52\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    byteArray\n                                    \n                                            number[]\n                                    \n\n                                    \n                                        No\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    \n        import { Injectable } from '@angular/core';\n\nimport { factory } from './js-sha256';\n// const sha256 = factory();\n\nimport fsha256 from './fast-sha256js';\n\n/**\n * Abstraction for crypto algorithms\n */\nexport abstract class HashHandler {\n  abstract calcHash(valueToHash: string, algorithm: string): Promise;\n}\n\nfunction decodeUTF8(s) {\n  if (typeof s !== 'string') throw new TypeError('expected string');\n  var i,\n    d = s,\n    b = new Uint8Array(d.length);\n  for (i = 0; i  {\n    // const encoder = new TextEncoder();\n    // const hashArray = await window.crypto.subtle.digest(algorithm, data);\n    // const data = encoder.encode(valueToHash);\n\n    // const fhash = fsha256(valueToHash);\n\n    const candHash = encodeUTF8(fsha256(decodeUTF8(valueToHash)));\n\n    // const hashArray = (sha256 as any).array(valueToHash);\n    // // const hashString = this.toHashString(hashArray);\n    // const hashString = this.toHashString2(hashArray);\n\n    // console.debug('hash orig - cand', candHash, hashString);\n    // alert(1);\n\n    return candHash;\n  }\n\n  toHashString2(byteArray: number[]) {\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  toHashString(buffer: ArrayBuffer) {\n    const byteArray = new Uint8Array(buffer);\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  // hexString(buffer) {\n  //     const byteArray = new Uint8Array(buffer);\n  //     const hexCodes = [...byteArray].map(value => {\n  //       const hexCode = value.toString(16);\n  //       const paddedHexCode = hexCode.padStart(2, '0');\n  //       return paddedHexCode;\n  //     });\n\n  //     return hexCodes.join('');\n  //   }\n\n  // toHashString(hexString: string) {\n  //   let result = '';\n  //   for (let i = 0; i \n    \n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interceptors/DefaultOAuthInterceptor.html":{"url":"interceptors/DefaultOAuthInterceptor.html","title":"interceptor - DefaultOAuthInterceptor","body":"\n                   \n\n\n\n\n\n\n\n\n\n  Interceptors\n  DefaultOAuthInterceptor\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/interceptors/default-oauth.interceptor.ts\n        \n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Public\n                                intercept\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(oAuthService: OAuthService, errorHandler: OAuthResourceServerErrorHandler, moduleConfig: OAuthModuleConfig)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/interceptors/default-oauth.interceptor.ts:23\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        oAuthService\n                                                  \n                                                        \n                                                                        OAuthService\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        errorHandler\n                                                  \n                                                        \n                                                                        OAuthResourceServerErrorHandler\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        moduleConfig\n                                                  \n                                                        \n                                                                        OAuthModuleConfig\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        intercept\n                        \n                    \n                \n            \n            \n                \n                    \n                    intercept(req: HttpRequest, next: HttpHandler)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/interceptors/default-oauth.interceptor.ts:44\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    req\n                                    \n                                            HttpRequest\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    next\n                                    \n                                                HttpHandler\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Observable>\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n    \n\n\n    \n        import { Injectable, Optional } from '@angular/core';\n\nimport {\n  HttpEvent,\n  HttpHandler,\n  HttpInterceptor,\n  HttpRequest,\n} from '@angular/common/http';\nimport { Observable, of, merge } from 'rxjs';\nimport {\n  catchError,\n  filter,\n  map,\n  take,\n  mergeMap,\n  timeout,\n} from 'rxjs/operators';\nimport { OAuthResourceServerErrorHandler } from './resource-server-error-handler';\nimport { OAuthModuleConfig } from '../oauth-module.config';\nimport { OAuthService } from '../oauth-service';\n\n@Injectable()\nexport class DefaultOAuthInterceptor implements HttpInterceptor {\n  constructor(\n    private oAuthService: OAuthService,\n    private errorHandler: OAuthResourceServerErrorHandler,\n    @Optional() private moduleConfig: OAuthModuleConfig\n  ) {}\n\n  private checkUrl(url: string): boolean {\n    if (this.moduleConfig.resourceServer.customUrlValidation) {\n      return this.moduleConfig.resourceServer.customUrlValidation(url);\n    }\n\n    if (this.moduleConfig.resourceServer.allowedUrls) {\n      return !!this.moduleConfig.resourceServer.allowedUrls.find((u) =>\n        url.toLowerCase().startsWith(u.toLowerCase())\n      );\n    }\n\n    return true;\n  }\n\n  public intercept(\n    req: HttpRequest,\n    next: HttpHandler\n  ): Observable> {\n    const url = req.url.toLowerCase();\n\n    if (\n      !this.moduleConfig ||\n      !this.moduleConfig.resourceServer ||\n      !this.checkUrl(url)\n    ) {\n      return next.handle(req);\n    }\n\n    const sendAccessToken = this.moduleConfig.resourceServer.sendAccessToken;\n\n    if (!sendAccessToken) {\n      return next\n        .handle(req)\n        .pipe(catchError((err) => this.errorHandler.handleError(err)));\n    }\n\n    return merge(\n      of(this.oAuthService.getAccessToken()).pipe(filter((token) => !!token)),\n      this.oAuthService.events.pipe(\n        filter((e) => e.type === 'token_received'),\n        timeout(this.oAuthService.waitForTokenInMsec || 0),\n        catchError((_) => of(null)), // timeout is not an error\n        map((_) => this.oAuthService.getAccessToken())\n      )\n    ).pipe(\n      take(1),\n      mergeMap((token) => {\n        if (token) {\n          const header = 'Bearer ' + token;\n          const headers = req.headers.set('Authorization', header);\n          req = req.clone({ headers });\n        }\n\n        return next\n          .handle(req)\n          .pipe(catchError((err) => this.errorHandler.handleError(err)));\n      })\n    );\n  }\n}\n\n    \n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/HMAC.html":{"url":"classes/HMAC.html","title":"class - HMAC","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  HMAC\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/fast-sha256js.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                blockSize\n                            \n                            \n                                digestLength\n                            \n                        \n                    \n                \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                clean\n                            \n                            \n                                digest\n                            \n                            \n                                finish\n                            \n                            \n                                reset\n                            \n                            \n                                update\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(key: Uint8Array)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:292\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        key\n                                                  \n                                                        \n                                                                    Uint8Array\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        blockSize\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : this.inner.blockSize\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:286\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digestLength\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : this.inner.digestLength\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:287\n                        \n                    \n\n\n        \n    \n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        clean\n                        \n                    \n                \n            \n            \n                \nclean()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:334\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         void\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digest\n                        \n                    \n                \n            \n            \n                \ndigest()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:360\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :     Uint8Array\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        finish\n                        \n                    \n                \n            \n            \n                \nfinish(out: Uint8Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:349\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    out\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        reset\n                        \n                    \n                \n            \n            \n                \nreset()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:327\n                \n            \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        update\n                        \n                    \n                \n            \n            \n                \nupdate(data: Uint8Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:343\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    data\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        export const digestLength: number = 32;\nexport const blockSize: number = 64;\n\n// SHA-256 constants\nconst K = new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n  0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n  0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n  0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n  0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n  0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n  0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n  0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n]);\n\nfunction hashBlocks(\n  w: Int32Array,\n  v: Int32Array,\n  p: Uint8Array,\n  pos: number,\n  len: number\n): number {\n  let a: number,\n    b: number,\n    c: number,\n    d: number,\n    e: number,\n    f: number,\n    g: number,\n    h: number,\n    u: number,\n    i: number,\n    j: number,\n    t1: number,\n    t2: number;\n  while (len >= 64) {\n    a = v[0];\n    b = v[1];\n    c = v[2];\n    d = v[3];\n    e = v[4];\n    f = v[5];\n    g = v[6];\n    h = v[7];\n\n    for (i = 0; i >> 17) | (u >> 19) | (u >> 10);\n\n      u = w[i - 15];\n      t2 =\n        ((u >>> 7) | (u >> 18) | (u >> 3);\n\n      w[i] = ((t1 + w[i - 7]) | 0) + ((t2 + w[i - 16]) | 0);\n    }\n\n    for (i = 0; i >> 6) | (e >> 11) | (e >> 25) | (e >> 2) | (a >> 13) | (a >> 22) | (a  0) {\n      while (this.bufferLength  0) {\n        this.buffer[this.bufferLength++] = data[dataPos++];\n        dataLength--;\n      }\n      if (this.bufferLength === 64) {\n        hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n        this.bufferLength = 0;\n      }\n    }\n    if (dataLength >= 64) {\n      dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n      dataLength %= 64;\n    }\n    while (dataLength > 0) {\n      this.buffer[this.bufferLength++] = data[dataPos++];\n      dataLength--;\n    }\n    return this;\n  }\n\n  // Finalizes hash state and puts hash into out.\n  //\n  // If hash was already finalized, puts the same value.\n  finish(out: Uint8Array): this {\n    if (!this.finished) {\n      const bytesHashed = this.bytesHashed;\n      const left = this.bufferLength;\n      const bitLenHi = (bytesHashed / 0x20000000) | 0;\n      const bitLenLo = bytesHashed >> 24) & 0xff;\n      this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n      this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n      this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n      this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n      this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n      this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n      this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n\n      hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n\n      this.finished = true;\n    }\n\n    for (let i = 0; i >> 24) & 0xff;\n      out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n      out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n      out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n    }\n\n    return this;\n  }\n\n  // Returns the final hash digest.\n  digest(): Uint8Array {\n    const out = new Uint8Array(this.digestLength);\n    this.finish(out);\n    return out;\n  }\n\n  // Internal function for use in HMAC for optimization.\n  _saveState(out: Uint32Array) {\n    for (let i = 0; i  this.blockSize) {\n      new Hash().update(key).finish(pad).clean();\n    } else {\n      for (let i = 0; i  1) {\n    hmac.update(buffer);\n  }\n\n  // Hash in info if it exists.\n  if (info) {\n    hmac.update(info);\n  }\n\n  // Hash in the counter.\n  hmac.update(counter);\n\n  // Output result to buffer and clean HMAC instance.\n  hmac.finish(buffer);\n\n  // Increment counter inside typed array, this works properly.\n  counter[0]++;\n}\n\nconst hkdfSalt = new Uint8Array(digestLength); // Filled with zeroes.\nexport function hkdf(\n  key: Uint8Array,\n  salt: Uint8Array = hkdfSalt,\n  info?: Uint8Array,\n  length: number = 32\n) {\n  const counter = new Uint8Array([1]);\n\n  // HKDF-Extract uses salt as HMAC key, and key as data.\n  const okm = hmac(salt, key);\n\n  // Initialize HMAC for expanding with extracted key.\n  // Ensure no collisions with `hmac` function.\n  const hmac_ = new HMAC(okm);\n\n  // Allocate buffer.\n  const buffer = new Uint8Array(hmac_.digestLength);\n  let bufpos = buffer.length;\n\n  const out = new Uint8Array(length);\n  for (let i = 0; i >> 24) & 0xff;\n    ctr[1] = (c >>> 16) & 0xff;\n    ctr[2] = (c >>> 8) & 0xff;\n    ctr[3] = (c >>> 0) & 0xff;\n    prf.reset();\n    prf.update(salt);\n    prf.update(ctr);\n    prf.finish(u);\n    for (let j = 0; j \n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/Hash.html":{"url":"classes/Hash.html","title":"class - Hash","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  Hash\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/fast-sha256js.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                blockSize\n                            \n                            \n                                digestLength\n                            \n                            \n                                finished\n                            \n                        \n                    \n                \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                _restoreState\n                            \n                            \n                                _saveState\n                            \n                            \n                                clean\n                            \n                            \n                                digest\n                            \n                            \n                                finish\n                            \n                            \n                                reset\n                            \n                            \n                                update\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor()\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:149\n                            \n                        \n\n            \n        \n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        blockSize\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : blockSize\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:140\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digestLength\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : digestLength\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:139\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        finished\n                        \n                    \n                \n            \n                \n                    \n                        Type :         boolean\n\n                    \n                \n                \n                    \n                        Default value : false\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:149\n                        \n                    \n\n\n        \n    \n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        _restoreState\n                        \n                    \n                \n            \n            \n                \n_restoreState(from: Uint32Array, bytesHashed: number)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:271\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    from\n                                    \n                                            Uint32Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    bytesHashed\n                                    \n                                                number\n                                    \n\n                                    \n                                        No\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                    \n                        _saveState\n                        \n                    \n                \n            \n            \n                \n_saveState(out: Uint32Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:264\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    out\n                                    \n                                            Uint32Array\n                                    \n\n                                    \n                                        No\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                    \n                        clean\n                        \n                    \n                \n            \n            \n                \nclean()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:173\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         void\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digest\n                        \n                    \n                \n            \n            \n                \ndigest()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:257\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :     Uint8Array\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        finish\n                        \n                    \n                \n            \n            \n                \nfinish(out: Uint8Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:220\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    out\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        reset\n                        \n                    \n                \n            \n            \n                \nreset()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:157\n                \n            \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        update\n                        \n                    \n                \n            \n            \n                \nupdate(data: Uint8Array, dataLength: number)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:190\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                    Default value\n                                \n                            \n                            \n                                \n                                    data\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                    \n\n                                \n                                \n                                    dataLength\n                                    \n                                                number\n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                        data.length\n                                    \n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        export const digestLength: number = 32;\nexport const blockSize: number = 64;\n\n// SHA-256 constants\nconst K = new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n  0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n  0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n  0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n  0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n  0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n  0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n  0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n]);\n\nfunction hashBlocks(\n  w: Int32Array,\n  v: Int32Array,\n  p: Uint8Array,\n  pos: number,\n  len: number\n): number {\n  let a: number,\n    b: number,\n    c: number,\n    d: number,\n    e: number,\n    f: number,\n    g: number,\n    h: number,\n    u: number,\n    i: number,\n    j: number,\n    t1: number,\n    t2: number;\n  while (len >= 64) {\n    a = v[0];\n    b = v[1];\n    c = v[2];\n    d = v[3];\n    e = v[4];\n    f = v[5];\n    g = v[6];\n    h = v[7];\n\n    for (i = 0; i >> 17) | (u >> 19) | (u >> 10);\n\n      u = w[i - 15];\n      t2 =\n        ((u >>> 7) | (u >> 18) | (u >> 3);\n\n      w[i] = ((t1 + w[i - 7]) | 0) + ((t2 + w[i - 16]) | 0);\n    }\n\n    for (i = 0; i >> 6) | (e >> 11) | (e >> 25) | (e >> 2) | (a >> 13) | (a >> 22) | (a  0) {\n      while (this.bufferLength  0) {\n        this.buffer[this.bufferLength++] = data[dataPos++];\n        dataLength--;\n      }\n      if (this.bufferLength === 64) {\n        hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n        this.bufferLength = 0;\n      }\n    }\n    if (dataLength >= 64) {\n      dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n      dataLength %= 64;\n    }\n    while (dataLength > 0) {\n      this.buffer[this.bufferLength++] = data[dataPos++];\n      dataLength--;\n    }\n    return this;\n  }\n\n  // Finalizes hash state and puts hash into out.\n  //\n  // If hash was already finalized, puts the same value.\n  finish(out: Uint8Array): this {\n    if (!this.finished) {\n      const bytesHashed = this.bytesHashed;\n      const left = this.bufferLength;\n      const bitLenHi = (bytesHashed / 0x20000000) | 0;\n      const bitLenLo = bytesHashed >> 24) & 0xff;\n      this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n      this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n      this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n      this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n      this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n      this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n      this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n\n      hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n\n      this.finished = true;\n    }\n\n    for (let i = 0; i >> 24) & 0xff;\n      out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n      out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n      out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n    }\n\n    return this;\n  }\n\n  // Returns the final hash digest.\n  digest(): Uint8Array {\n    const out = new Uint8Array(this.digestLength);\n    this.finish(out);\n    return out;\n  }\n\n  // Internal function for use in HMAC for optimization.\n  _saveState(out: Uint32Array) {\n    for (let i = 0; i  this.blockSize) {\n      new Hash().update(key).finish(pad).clean();\n    } else {\n      for (let i = 0; i  1) {\n    hmac.update(buffer);\n  }\n\n  // Hash in info if it exists.\n  if (info) {\n    hmac.update(info);\n  }\n\n  // Hash in the counter.\n  hmac.update(counter);\n\n  // Output result to buffer and clean HMAC instance.\n  hmac.finish(buffer);\n\n  // Increment counter inside typed array, this works properly.\n  counter[0]++;\n}\n\nconst hkdfSalt = new Uint8Array(digestLength); // Filled with zeroes.\nexport function hkdf(\n  key: Uint8Array,\n  salt: Uint8Array = hkdfSalt,\n  info?: Uint8Array,\n  length: number = 32\n) {\n  const counter = new Uint8Array([1]);\n\n  // HKDF-Extract uses salt as HMAC key, and key as data.\n  const okm = hmac(salt, key);\n\n  // Initialize HMAC for expanding with extracted key.\n  // Ensure no collisions with `hmac` function.\n  const hmac_ = new HMAC(okm);\n\n  // Allocate buffer.\n  const buffer = new Uint8Array(hmac_.digestLength);\n  let bufpos = buffer.length;\n\n  const out = new Uint8Array(length);\n  for (let i = 0; i >> 24) & 0xff;\n    ctr[1] = (c >>> 16) & 0xff;\n    ctr[2] = (c >>> 8) & 0xff;\n    ctr[3] = (c >>> 0) & 0xff;\n    prf.reset();\n    prf.update(salt);\n    prf.update(ctr);\n    prf.finish(u);\n    for (let j = 0; j \n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/HashHandler.html":{"url":"classes/HashHandler.html","title":"class - HashHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  HashHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/hash-handler.ts\n        \n\n\n            \n                Description\n            \n            \n                Abstraction for crypto algorithms\n\n            \n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                calcHash\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        calcHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    calcHash(valueToHash: string, algorithm: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:12\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    valueToHash\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    algorithm\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\nimport { factory } from './js-sha256';\n// const sha256 = factory();\n\nimport fsha256 from './fast-sha256js';\n\n/**\n * Abstraction for crypto algorithms\n */\nexport abstract class HashHandler {\n  abstract calcHash(valueToHash: string, algorithm: string): Promise;\n}\n\nfunction decodeUTF8(s) {\n  if (typeof s !== 'string') throw new TypeError('expected string');\n  var i,\n    d = s,\n    b = new Uint8Array(d.length);\n  for (i = 0; i  {\n    // const encoder = new TextEncoder();\n    // const hashArray = await window.crypto.subtle.digest(algorithm, data);\n    // const data = encoder.encode(valueToHash);\n\n    // const fhash = fsha256(valueToHash);\n\n    const candHash = encodeUTF8(fsha256(decodeUTF8(valueToHash)));\n\n    // const hashArray = (sha256 as any).array(valueToHash);\n    // // const hashString = this.toHashString(hashArray);\n    // const hashString = this.toHashString2(hashArray);\n\n    // console.debug('hash orig - cand', candHash, hashString);\n    // alert(1);\n\n    return candHash;\n  }\n\n  toHashString2(byteArray: number[]) {\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  toHashString(buffer: ArrayBuffer) {\n    const byteArray = new Uint8Array(buffer);\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  // hexString(buffer) {\n  //     const byteArray = new Uint8Array(buffer);\n  //     const hexCodes = [...byteArray].map(value => {\n  //       const hexCode = value.toString(16);\n  //       const paddedHexCode = hexCode.padStart(2, '0');\n  //       return paddedHexCode;\n  //     });\n\n  //     return hexCodes.join('');\n  //   }\n\n  // toHashString(hexString: string) {\n  //   let result = '';\n  //   for (let i = 0; i \n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  JwksValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/jwks-validation-handler.ts\n        \n\n\n            \n                Description\n            \n            \n                This is just a dummy of the JwksValidationHandler\ntelling the users that the real one has been moved\nto an library of its own, namely angular-oauth2-oidc-utils\n\n            \n\n            \n                Extends\n            \n            \n                        NullValidationHandler\n            \n\n\n\n            \n    Index\n    \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\n            \n    Constructor\n        \n            \n                \n                    \nconstructor()\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/token-validation/jwks-validation-handler.ts:25\n                            \n                        \n\n            \n        \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \nvalidateAtHash(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Inherited from         NullValidationHandler\n\n                \n            \n            \n                \n                        Defined in         NullValidationHandler:11\n\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        validateSignature\n                        \n                    \n                \n            \n            \n                \nvalidateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Inherited from         NullValidationHandler\n\n                \n            \n            \n                \n                        Defined in         NullValidationHandler:8\n\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { NullValidationHandler } from './null-validation-handler';\n\nconst err = `PLEASE READ THIS CAREFULLY:\n\nBeginning with angular-oauth2-oidc version 9, the JwksValidationHandler\nhas been moved to an library of its own. If you need it for implementing\nOAuth2/OIDC **implicit flow**, please install it using npm:\n\n  npm i angular-oauth2-oidc-jwks --save\n\nAfter that, you can import it into your application:\n\n  import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\n\nPlease note, that this dependency is not needed for the **code flow**,\nwhich is nowadays the **recommented** one for single page applications.\nThis also results in smaller bundle sizes.\n`;\n\n/**\n * This is just a dummy of the JwksValidationHandler\n * telling the users that the real one has been moved\n * to an library of its own, namely angular-oauth2-oidc-utils\n */\nexport class JwksValidationHandler extends NullValidationHandler {\n  constructor() {\n    super();\n    console.error(err);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  LoginOptions\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Additional options that can be passed to tryLogin.\n\n            \n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                    Optional\n                                customHashFragment\n                            \n                            \n                                    Optional\n                                customRedirectUri\n                            \n                            \n                                    Optional\n                                disableNonceCheck\n                            \n                            \n                                    Optional\n                                disableOAuth2StateCheck\n                            \n                            \n                                    Optional\n                                onLoginError\n                            \n                            \n                                    Optional\n                                onTokenReceived\n                            \n                            \n                                    Optional\n                                preventClearHashAfterLogin\n                            \n                            \n                                    Optional\n                                validationHandler\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        customHashFragment\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:40\n                        \n                    \n\n            \n                \n                    A custom hash fragment to be used instead of the\nactual one. This is used for silent refreshes, to\npass the iframes hash fragment to this method, and\nis also used by popup flows in the same manner.\nThis can be used with code flow, where is must be set\nto a hash symbol followed by the querystring. The\nquestion mark is optional, but may be present following\nthe hash symbol.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        customRedirectUri\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:74\n                        \n                    \n\n            \n                \n                    Set this for code flow if you used a custom redirect Uri\nwhen retrieving the code. This is used internally for silent\nrefresh and popup flows.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        disableNonceCheck\n                        \n                    \n                \n            \n                \n                    \n                        Default value : false\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:59\n                        \n                    \n\n            \n                \n                    Set this to true to disable the nonce\ncheck which is used to avoid\nreplay attacks.\nThis flag should never be true in\nproduction environments.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        disableOAuth2StateCheck\n                        \n                    \n                \n            \n                \n                    \n                        Type :         boolean\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:50\n                        \n                    \n\n            \n                \n                    Set this to true to disable the oauth2 state\ncheck which is a best practice to avoid\nsecurity attacks.\nAs OIDC defines a nonce check that includes\nthis, this can be set to true when only doing\nOIDC.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        onLoginError\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:28\n                        \n                    \n\n            \n                \n                    Called when tryLogin detects that the auth server\nincluded an error message into the hash fragment.\nDeprecated:  Use property events on OAuthService instead.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        onTokenReceived\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:13\n                        \n                    \n\n            \n                \n                    Is called, after a token has been received and\nsuccessfully validated.\nDeprecated:  Use property events on OAuthService instead.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        preventClearHashAfterLogin\n                        \n                    \n                \n            \n                \n                    \n                        Default value : false\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:67\n                        \n                    \n\n            \n                \n                    Normally, you want to clear your hash fragment after\nthe lib read the token(s) so that they are not displayed\nanymore in the url. If not, set this to true. For code flow\nthis controls removing query string values.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        validationHandler\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:20\n                        \n                    \n\n            \n                \n                    Hook, to validate the received tokens.\nDeprecated:  Use property tokenValidationHandler on OAuthService instead.\n\n                \n            \n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"injectables/MemoryStorage.html":{"url":"injectables/MemoryStorage.html","title":"injectable - MemoryStorage","body":"\n                   \n\n\n\n\n\n\n\n\n  Injectables\n  MemoryStorage\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n\n\n\n            \n    Index\n    \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\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        getItem\n                        \n                    \n                \n            \n            \n                \ngetItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:107\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        removeItem\n                        \n                    \n                \n            \n            \n                \nremoveItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:111\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        setItem\n                        \n                    \n                \n            \n            \n                \nsetItem(key: string, data: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:115\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    data\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  NullValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/null-validation-handler.ts\n        \n\n\n            \n                Description\n            \n            \n                A validation handler that isn't validating nothing.\nCan be used to skip validation (at 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                    \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\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \nvalidateAtHash(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/null-validation-handler.ts:11\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        validateSignature\n                        \n                    \n                \n            \n            \n                \nvalidateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/null-validation-handler.ts:8\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\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 (at your own risk).\n */\nexport class NullValidationHandler implements ValidationHandler {\n  validateSignature(validationParams: ValidationParams): Promise {\n    return Promise.resolve(null);\n  }\n  validateAtHash(validationParams: ValidationParams): Promise {\n    return Promise.resolve(true);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  OAuthErrorEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        OAuthEvent\n            \n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType, reason: object, params: object)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:44\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        reason\n                                                  \n                                                        \n                                                                        object\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        params\n                                                  \n                                                        \n                                                                        object\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-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\n\n\n  Classes\n  OAuthEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:28\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-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\n\n\n  Classes\n  OAuthInfoEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        OAuthEvent\n            \n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType, info: any)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:38\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        info\n                                                  \n                                                        \n                                                                        any\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthLogger.html":{"url":"classes/OAuthLogger.html","title":"class - OAuthLogger","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthLogger\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Defines the logging interface the OAuthService uses\ninternally. Is compatible with the console object,\nbut you can provide your own implementation as well\nthrough dependency injection.\n\n            \n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                debug\n                            \n                            \n                                    Abstract\n                                error\n                            \n                            \n                                    Abstract\n                                info\n                            \n                            \n                                    Abstract\n                                log\n                            \n                            \n                                    Abstract\n                                warn\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        debug\n                        \n                    \n                \n            \n            \n                \n                    \n                    debug(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:84\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        error\n                        \n                    \n                \n            \n            \n                \n                    \n                    error(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:88\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        info\n                        \n                    \n                \n            \n            \n                \n                    \n                    info(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:85\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        log\n                        \n                    \n                \n            \n            \n                \n                    \n                    log(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:86\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        warn\n                        \n                    \n                \n            \n            \n                \n                    \n                    warn(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:87\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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        Source\n    \n\n\n\n    \n\n        \n            File\n        \n        \n            projects/lib/src/angular-oauth-oidc.module.ts\n        \n\n\n\n\n\n        \n            \n            \n        \n\n        \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Static\n                        forRoot\n                        \n                    \n                \n            \n            \n                \n                    \n                    forRoot(config: OAuthModuleConfig, validationHandlerClass)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/angular-oauth-oidc.module.ts:14\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                    Default value\n                                \n                            \n                            \n                                \n                                    config\n                                    \n                                                OAuthModuleConfig\n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                        null\n                                    \n\n                                \n                                \n                                    validationHandlerClass\n                                    \n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                        NullValidationHandler\n                                    \n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     ModuleWithProviders\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n    \n\n\n    \n        import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { OAuthModuleConfig } from './oauth-module.config';\nimport { NullValidationHandler } from './token-validation/null-validation-handler';\nimport { provideOAuthClient } from './provider';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [],\n  exports: [],\n})\nexport class OAuthModule {\n  static forRoot(\n    config: OAuthModuleConfig = null,\n    validationHandlerClass = NullValidationHandler\n  ): ModuleWithProviders {\n    return {\n      ngModule: OAuthModule,\n      providers: [provideOAuthClient(config, validationHandlerClass)],\n    };\n  }\n}\n\n    \n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthModuleConfig.html":{"url":"classes/OAuthModuleConfig.html","title":"class - OAuthModuleConfig","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthModuleConfig\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/oauth-module.config.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                resourceServer\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        resourceServer\n                        \n                    \n                \n            \n                \n                    \n                        Type :         OAuthResourceServerConfig\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:2\n                        \n                    \n\n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        export abstract class OAuthModuleConfig {\n  resourceServer: OAuthResourceServerConfig;\n}\n\nexport abstract class OAuthResourceServerConfig {\n  /**\n   * Urls for which calls should be intercepted.\n   * If there is an ResourceServerErrorHandler registered, it is used for them.\n   * If sendAccessToken is set to true, the access_token is send to them too.\n   */\n  allowedUrls?: Array;\n  sendAccessToken: boolean;\n  customUrlValidation?: (url: string) => boolean;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthNoopResourceServerErrorHandler.html":{"url":"classes/OAuthNoopResourceServerErrorHandler.html","title":"class - OAuthNoopResourceServerErrorHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthNoopResourceServerErrorHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/interceptors/resource-server-error-handler.ts\n        \n\n\n\n\n            \n                Implements\n            \n            \n                            OAuthResourceServerErrorHandler\n            \n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                handleError\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        handleError\n                        \n                    \n                \n            \n            \n                \nhandleError(err: HttpResponse)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/interceptors/resource-server-error-handler.ts:11\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    err\n                                    \n                                            HttpResponse\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Observable\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        import { HttpResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\n\nexport abstract class OAuthResourceServerErrorHandler {\n  abstract handleError(err: HttpResponse): Observable;\n}\n\nexport class OAuthNoopResourceServerErrorHandler\n  implements OAuthResourceServerErrorHandler\n{\n  handleError(err: HttpResponse): Observable {\n    return throwError(err);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthResourceServerConfig.html":{"url":"classes/OAuthResourceServerConfig.html","title":"class - OAuthResourceServerConfig","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthResourceServerConfig\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/oauth-module.config.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                    Optional\n                                allowedUrls\n                            \n                            \n                                    Optional\n                                customUrlValidation\n                            \n                            \n                                sendAccessToken\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        allowedUrls\n                        \n                    \n                \n            \n                \n                    \n                        Type :     Array\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:11\n                        \n                    \n\n            \n                \n                    Urls for which calls should be intercepted.\nIf there is an ResourceServerErrorHandler registered, it is used for them.\nIf sendAccessToken is set to true, the access_token is send to them too.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        customUrlValidation\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:13\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        sendAccessToken\n                        \n                    \n                \n            \n                \n                    \n                        Type :         boolean\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:12\n                        \n                    \n\n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        export abstract class OAuthModuleConfig {\n  resourceServer: OAuthResourceServerConfig;\n}\n\nexport abstract class OAuthResourceServerConfig {\n  /**\n   * Urls for which calls should be intercepted.\n   * If there is an ResourceServerErrorHandler registered, it is used for them.\n   * If sendAccessToken is set to true, the access_token is send to them too.\n   */\n  allowedUrls?: Array;\n  sendAccessToken: boolean;\n  customUrlValidation?: (url: string) => boolean;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthResourceServerErrorHandler.html":{"url":"classes/OAuthResourceServerErrorHandler.html","title":"class - OAuthResourceServerErrorHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthResourceServerErrorHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/interceptors/resource-server-error-handler.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                handleError\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        handleError\n                        \n                    \n                \n            \n            \n                \n                    \n                    handleError(err: HttpResponse)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/interceptors/resource-server-error-handler.ts:5\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    err\n                                    \n                                            HttpResponse\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Observable\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        import { HttpResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\n\nexport abstract class OAuthResourceServerErrorHandler {\n  abstract handleError(err: HttpResponse): Observable;\n}\n\nexport class OAuthNoopResourceServerErrorHandler\n  implements OAuthResourceServerErrorHandler\n{\n  handleError(err: HttpResponse): Observable {\n    return throwError(err);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  OAuthStorage\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \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                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                getItem\n                            \n                            \n                                    Abstract\n                                removeItem\n                            \n                            \n                                    Abstract\n                                setItem\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        getItem\n                        \n                    \n                \n            \n            \n                \n                    \n                    getItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:98\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     string | null\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        removeItem\n                        \n                    \n                \n            \n            \n                \n                    \n                    removeItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:99\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        setItem\n                        \n                    \n                \n            \n            \n                \n                    \n                    setItem(key: string, data: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:100\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    data\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  OAuthSuccessEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        OAuthEvent\n            \n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType, info: any)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:32\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        info\n                                                  \n                                                        \n                                                                        any\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interfaces/OidcDiscoveryDoc.html":{"url":"interfaces/OidcDiscoveryDoc.html","title":"interface - OidcDiscoveryDoc","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n  Interfaces\n  \n  OidcDiscoveryDoc\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents an OpenID Connect discovery document\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            acr_values_supported\n                                        \n                                \n                                \n                                        \n                                            authorization_endpoint\n                                        \n                                \n                                \n                                        \n                                            check_session_iframe\n                                        \n                                \n                                \n                                        \n                                            claim_types_supported\n                                        \n                                \n                                \n                                        \n                                            claims_parameter_supported\n                                        \n                                \n                                \n                                        \n                                            claims_supported\n                                        \n                                \n                                \n                                        \n                                            display_values_supported\n                                        \n                                \n                                \n                                        \n                                            end_session_endpoint\n                                        \n                                \n                                \n                                        \n                                            grant_types_supported\n                                        \n                                \n                                \n                                        \n                                            id_token_encryption_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            id_token_encryption_enc_values_supported\n                                        \n                                \n                                \n                                        \n                                            id_token_signing_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            issuer\n                                        \n                                \n                                \n                                        \n                                            jwks_uri\n                                        \n                                \n                                \n                                        \n                                            registration_endpoint\n                                        \n                                \n                                \n                                        \n                                            request_object_signing_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            response_modes_supported\n                                        \n                                \n                                \n                                        \n                                            response_types_supported\n                                        \n                                \n                                \n                                        \n                                            revocation_endpoint\n                                        \n                                \n                                \n                                        \n                                            scopes_supported\n                                        \n                                \n                                \n                                        \n                                            service_documentation\n                                        \n                                \n                                \n                                        \n                                            subject_types_supported\n                                        \n                                \n                                \n                                        \n                                            token_endpoint\n                                        \n                                \n                                \n                                        \n                                            token_endpoint_auth_methods_supported\n                                        \n                                \n                                \n                                        \n                                            token_endpoint_auth_signing_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            ui_locales_supported\n                                        \n                                \n                                \n                                        \n                                            userinfo_encryption_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            userinfo_encryption_enc_values_supported\n                                        \n                                \n                                \n                                        \n                                            userinfo_endpoint\n                                        \n                                \n                                \n                                        \n                                            userinfo_signing_alg_values_supported\n                                        \n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        acr_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        acr_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        authorization_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        authorization_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        check_session_iframe\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        check_session_iframe:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        claim_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        claim_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        claims_parameter_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        claims_parameter_supported:         boolean\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         boolean\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        claims_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        claims_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        display_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        display_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        end_session_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        end_session_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        grant_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        grant_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token_encryption_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token_encryption_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token_encryption_enc_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token_encryption_enc_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        issuer\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        jwks_uri\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        jwks_uri:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        registration_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        registration_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        request_object_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        request_object_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        response_modes_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        response_modes_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        response_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        response_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        revocation_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        revocation_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        scopes_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        scopes_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        service_documentation\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        service_documentation:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        subject_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        subject_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_endpoint_auth_methods_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_endpoint_auth_methods_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_endpoint_auth_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_endpoint_auth_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        ui_locales_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        ui_locales_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_encryption_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_encryption_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_encryption_enc_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_encryption_enc_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Interfaces\n  \n  ParsedIdToken\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents the parsed and validated id_token.\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            idToken\n                                        \n                                \n                                \n                                        \n                                            idTokenClaims\n                                        \n                                \n                                \n                                        \n                                            idTokenClaimsJson\n                                        \n                                \n                                \n                                        \n                                            idTokenExpiresAt\n                                        \n                                \n                                \n                                        \n                                            idTokenHeader\n                                        \n                                \n                                \n                                        \n                                            idTokenHeaderJson\n                                        \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                                    \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaims\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaimsJson\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenExpiresAt\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeader\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeaderJson\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  ReceivedTokens\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \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                                    Optional\n                                idClaims\n                            \n                            \n                                idToken\n                            \n                            \n                                    Optional\n                                state\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        accessToken\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:126\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        idClaims\n                        \n                    \n                \n            \n                \n                    \n                        Type :         object\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:127\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        idToken\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:125\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        state\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:128\n                        \n                    \n\n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"injectables/SystemDateTimeProvider.html":{"url":"injectables/SystemDateTimeProvider.html","title":"injectable - SystemDateTimeProvider","body":"\n                   \n\n\n\n\n\n\n\n\n  Injectables\n  SystemDateTimeProvider\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/date-time-provider.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        DateTimeProvider\n            \n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                new\n                            \n                            \n                                now\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        new\n                        \n                    \n                \n            \n            \n                \nnew()\n                \n            \n\n\n            \n                \n                    Inherited from         DateTimeProvider\n\n                \n            \n            \n                \n                        Defined in         DateTimeProvider:14\n\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         Date\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        now\n                        \n                    \n                \n            \n            \n                \nnow()\n                \n            \n\n\n            \n                \n                    Inherited from         DateTimeProvider\n\n                \n            \n            \n                \n                        Defined in         DateTimeProvider:10\n\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         number\n\n                    \n                \n            \n        \n    \n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\nexport abstract class DateTimeProvider {\n  abstract now(): number;\n  abstract new(): Date;\n}\n\n@Injectable()\nexport class SystemDateTimeProvider extends DateTimeProvider {\n  now(): number {\n    return Date.now();\n  }\n\n  new(): Date {\n    return new Date();\n  }\n}\n\n    \n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interfaces/TokenResponse.html":{"url":"interfaces/TokenResponse.html","title":"interface - TokenResponse","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n  Interfaces\n  \n  TokenResponse\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents the response from the token endpoint\nhttp://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            access_token\n                                        \n                                \n                                \n                                        \n                                            expires_in\n                                        \n                                \n                                \n                                        \n                                            id_token\n                                        \n                                \n                                \n                                        \n                                            refresh_token\n                                        \n                                \n                                \n                                        \n                                            scope\n                                        \n                                \n                                \n                                            Optional\n                                        \n                                            state\n                                        \n                                \n                                \n                                        \n                                            token_type\n                                        \n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        access_token\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        access_token:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        expires_in\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        expires_in:         number\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         number\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        refresh_token\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        refresh_token:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        scope\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        state\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        state:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n                                    \n                                        \n                                            Optional\n                                        \n                                    \n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_type\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_type:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n  Injectables\n  UrlHelperService\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/url-helper.service.ts\n        \n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Public\n                                getHashFragmentParams\n                            \n                            \n                                    Public\n                                parseQueryString\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        getHashFragmentParams\n                        \n                    \n                \n            \n            \n                \n                    \n                    getHashFragmentParams(customHashFragment?: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/url-helper.service.ts:5\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    customHashFragment\n                                    \n                                                string\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         object\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        parseQueryString\n                        \n                    \n                \n            \n            \n                \n                    \n                    parseQueryString(queryString: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/url-helper.service.ts:25\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    queryString\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         object\n\n                    \n                    \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  public getHashFragmentParams(customHashFragment?: string): object {\n    let hash = customHashFragment || window.location.hash;\n\n    hash = decodeURIComponent(hash);\n\n    if (hash.indexOf('#') !== 0) {\n      return {};\n    }\n\n    const questionMarkPosition = hash.indexOf('?');\n\n    if (questionMarkPosition > -1) {\n      hash = hash.substr(questionMarkPosition + 1);\n    } else {\n      hash = hash.substr(1);\n    }\n\n    return this.parseQueryString(hash);\n  }\n\n  public parseQueryString(queryString: string): object {\n    const data = {};\n    let 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\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interfaces/UserInfo.html":{"url":"interfaces/UserInfo.html","title":"interface - UserInfo","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n  Interfaces\n  \n  UserInfo\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents the response from the user info endpoint\nhttp://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            sub\n                                        \n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n            \n    Indexable\n        \n            \n                \n                    \n                        [key: string]:        any\n\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/types.ts:162\n                            \n                        \n            \n        \n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        sub\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        sub:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  ValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/validation-handler.ts\n        \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                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Public\n                                    Abstract\n                                validateAtHash\n                            \n                            \n                                    Public\n                                    Abstract\n                                validateSignature\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        Abstract\n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateAtHash(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:27\n                \n            \n\n\n            \n                \n                    Validates the at_hash in an id_token against the received access_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        Public\n                        Abstract\n                        validateSignature\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:20\n                \n            \n\n\n            \n                \n                    Validates the signature of an id_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { base64UrlEncode } from '../base64-helper';\n\nexport 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   * Validates the signature of an id_token.\n   */\n  public abstract validateSignature(\n    validationParams: ValidationParams\n  ): Promise;\n\n  /**\n   * Validates the at_hash in an id_token against the received access_token.\n   */\n  public abstract validateAtHash(\n    validationParams: ValidationParams\n  ): Promise;\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   * 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  async validateAtHash(params: ValidationParams): Promise {\n    let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n    let tokenHash = await this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n    let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);\n\n    let atHash = base64UrlEncode(leftMostHalf);\n\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(\n    valueToHash: string,\n    algorithm: string\n  ): Promise;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Interfaces\n  \n  ValidationParams\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/validation-handler.ts\n        \n\n\n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            accessToken\n                                        \n                                \n                                \n                                        \n                                            idToken\n                                        \n                                \n                                \n                                        \n                                            idTokenClaims\n                                        \n                                \n                                \n                                        \n                                            idTokenHeader\n                                        \n                                \n                                \n                                        \n                                            jwks\n                                        \n                                \n                                \n                                        \n                                            loadKeys\n                                        \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                                    \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idToken\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaims\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeader\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        jwks\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        loadKeys\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n            \n    \n\n\n    \n        import { base64UrlEncode } from '../base64-helper';\n\nexport 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   * Validates the signature of an id_token.\n   */\n  public abstract validateSignature(\n    validationParams: ValidationParams\n  ): Promise;\n\n  /**\n   * Validates the at_hash in an id_token against the received access_token.\n   */\n  public abstract validateAtHash(\n    validationParams: ValidationParams\n  ): Promise;\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   * 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  async validateAtHash(params: ValidationParams): Promise {\n    let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n    let tokenHash = await this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n    let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);\n\n    let atHash = base64UrlEncode(leftMostHalf);\n\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(\n    valueToHash: string,\n    algorithm: string\n  ): Promise;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/WebHttpUrlEncodingCodec.html":{"url":"classes/WebHttpUrlEncodingCodec.html","title":"class - WebHttpUrlEncodingCodec","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  WebHttpUrlEncodingCodec\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/encoder.ts\n        \n\n\n            \n                Description\n            \n            \n                This custom encoder allows charactes like +, % and / to be used in passwords\n\n            \n\n\n            \n                Implements\n            \n            \n                            HttpParameterCodec\n            \n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                decodeKey\n                            \n                            \n                                decodeValue\n                            \n                            \n                                encodeKey\n                            \n                            \n                                encodeValue\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        decodeKey\n                        \n                    \n                \n            \n            \n                \ndecodeKey(k: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:14\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    k\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        decodeValue\n                        \n                    \n                \n            \n            \n                \ndecodeValue(v: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:18\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    v\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         any\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        encodeKey\n                        \n                    \n                \n            \n            \n                \nencodeKey(k: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:6\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    k\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        encodeValue\n                        \n                    \n                \n            \n            \n                \nencodeValue(v: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:10\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    v\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { HttpParameterCodec } from '@angular/common/http';\n/**\n * This custom encoder allows charactes like +, % and / to be used in passwords\n */\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\n  encodeKey(k: string): string {\n    return encodeURIComponent(k);\n  }\n\n  encodeValue(v: string): string {\n    return encodeURIComponent(v);\n  }\n\n  decodeKey(k: string): string {\n    return decodeURIComponent(k);\n  }\n\n  decodeValue(v: string) {\n    return decodeURIComponent(v);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n                   \n\n12.0.0 (2021-07-16)\nBug Fixes\n\n#728 (51e438a), closes /github.com/manfredsteyer/angular-oauth2-oidc/issues/728#issuecomment-808969225\nclear location.hash only if it is present (c2b2753), closes #970\ncorrectly handle ? and & in location replacements (70fd826)\nDisable nonce validation for id token for e2e tests (f5bd96c)\nfix scope/state removal for implicit flow with hash (9e257d0)\nin code flow pass options to error handler (c9a2c55), closes #972\njwks: update jsrsasign dependency to 10.2.0 (a05bd8a), closes #1061\nmultiplying calls to token endpoint in code flow (59f65d2)\nRefresh tokens with a plus sign get corrupted before sending to token endpoint (2204c5a)\nrevoketokenandlogout: 'customParameters' should accept boolean (9761bad)\nWhile Using POPUP mode, we click on login button multiple time it opens multiple popup instead of focusing already opened (bbff95b)\n\nFeatures\n\nintroduce DateTimeProvider (0c0a4a7)\nlogout: postLogoutRedirectUri should not default to redirectUri (ff7d1d9)\nsupport JWT response on userinfo endpoint (da16494)\nCustom grant type added (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/919)\nListen for storage to receive auth hash from popup (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/935)\nAdd event for unchanged session (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/936)\nAdd loginHint to codeFlow (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/938)\nAdd a windowRef option to initLoginFlowInPopup to prevent the window from beeing blocked by popup blockers (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/965)\nUse configured revocationEndpoint by default (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/1020)\n\n10.0.0 (2020-06-30)\n\nchore: increase version in package.json (84d95a7)\nchore: make version 9.2 ready (415e053)\nchore(deps): bump jsrsasign from 8.0.12 to 8.0.19 (4def1c1)\nchore(deps): bump websocket-extensions from 0.1.3 to 0.1.4 (cae715e)\nchore(release): 9.2.1 (7a15194)\nchore(release): 9.2.2 (40f5ae5)\nchore(release): 9.3.0 (f42f943)\nrefactor: inline js-sha256 (ca435c0)\nrefactor: remove dep on contributer-table (b486546)\nrefactor: use esm for sha-256 (92ee76d)\nfeat(oauth-service): pass custom url params to logOut (4607d55)\nfeat(oauth-service): revokeTokenAndLogout with cust params (026dcb3)\n'disableAtHashCheck' by default if responseType is 'id_token' (169d749)\n#825: (38c7c3f), closes #825\n#825: (fb3afe4), closes #825\nFix issue with ambient type in constructor when running Universal with Ivy (9e95c73)\nFix typo in code-flow.md (1816e7b)\nReplaced document by this.document #773 (678ff95), closes #773\nresponse_types including 'code' gets a code_challenge (58a8132)\nUpdate code-flow.md (5c5288c)\ndocs(readme): use our own idsvr (65c2b95)\nfix: loadDiscoveryDocumentAndLogin should pass state into initLoginFlow (132c624)\nfix(lib): copying LICENSE file to output build (e89aa6d)\n\n10.0.0 (2020-06-30)\nBug Fixes\n\nloadDiscoveryDocumentAndLogin should pass state into initLoginFlow (132c624)\nlib: copying LICENSE file to output build (e89aa6d)\n\nFeatures\n\noauth-service: pass custom url params to logOut (4607d55)\noauth-service: revokeTokenAndLogout with cust params (026dcb3)\n\n10.0.0 (2020-06-30)\nChangelog\nAll notable changes to this project will be documented in this file. See standard-version for commit guidelines.\nFeatures\n\nautomatic silent refresh: stopAutomaticRefresh stops all timers. (8ab853b)\ncode-flow: allow using implicit flow by setting useSilentRefresh to true (93902a5)\noauth-service: pass custom url params to logOut (4607d55)\noauth-service: revokeTokenAndLogout with cust params (026dcb3)\nsample: also use new idsvr 4 for implicit flow demo to prevent issues with same site cookies (58c6354)\nsession checks: Session checks work now for code flow too. Pls see Docs for details. (4bf8901)\ntoken-revocation: also revoke refresh_token (429ed2c)\nremove jsrsasign dependancy (77cb37a)\nUpgrade to angular 8 (31c6273)\n\nBug Fixes\n\nloadDiscoveryDocumentAndLogin should pass state into initLoginFlow (132c624)\nlib: copying LICENSE file to output build (e89aa6d)\nrevoketokenandlogout: explicit way to revoke an access token (c799ead)\nsample: make sense of the guard (1cae011)\n#687 (e2599e0)\ncode flow: Fixed code flow for IE 11 (0f03d39)\nsample: use hash-based routing (3f44eca)\nsession state: save session_state also when using code flow (8fa99ff)\nstate: passing an url with a querystring as the state, e. g. url?x=1 (71b705c)\nmissing HttpModule dependency (7eac8ae)\nrun tokensetup outside ngzone (07bb62d)\ntypo (3d331f2)\n\n9.2.2 (2020-05-09)\n9.2.1 (2020-04-23)\n9.2.0 (2020-03-28)\nFeatures\n\nrevoketokenandlogout: explicit way to revoke an access token according to RFC 7009 (c799ead)\n\ntoken-revocation: also revoke refresh_token (429ed2c)\n\n\nBug Fixes\n\nsample: make sense of the guard (1cae011)\n\n9.1.0 (2020-03-23)\nFeatures\n\nautomatic silent refresh: stopAutomaticRefresh stops all timers. (8ab853b)\ncode-flow: allow using silent refresh by setting useSilentRefresh to true (93902a5)\nsample: Also use new Identity Server 4 for implicit flow demo to prevent issues with same site cookies (58c6354)\nsession checks: Session checks work now for code flow too. Please see docs for details. (4bf8901)\n\nBug Fixes\n\ncode flow: Fixed code flow for IE 11 (0f03d39)\nsample: use hash-based routing (3f44eca)\nsession state: save session_state also when using code flow (8fa99ff)\nstate: passing an url with a querystring as the state, e. g. url?x=1 (71b705c)\n#687 (e2599e0)\nmissing HttpModule dependency (7eac8ae)\nrun tokensetup outside ngzone (07bb62d)\ntypo (3d331f2)\n\nPull Requests\n\nUpdate sample app and silent-refresh.html script #755, linjie997\nAdd optional state parameter for logout, pmccloghrylaing\nfix customHashFragment usage in tryLoginCodeFlow, roblabat\nreplace document with injectionToken #741, d-moos\nSupport predefined custom parameters extraction from the TokenResponse, vdveer\nFixed not working silent refresh when using 'code' #735, ErazerBrecht\n\nThanks\nBig Thanks to all contributers: Brecht Carlier, Daniel Moos, Jie Lin, Manfred Steyer, Phil McCloghry-Laing, robin labat, vdveer\nAlso, big thanks to jeroenheijmans for doing an awesome job with moderating and analyzing the issues!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n    \n        Dependencies\n    \n    \n        \n            @angular/animations : 15.0.0\n        \n            @angular/common : 15.0.0\n        \n            @angular/compiler : 15.0.0\n        \n            @angular/core : 15.0.0\n        \n            @angular/elements : 15.0.0\n        \n            @angular/forms : 15.0.0\n        \n            @angular/platform-browser : 15.0.0\n        \n            @angular/platform-browser-dynamic : 15.0.0\n        \n            @angular/router : 15.0.0\n        \n            @popperjs/core : ^2.9.2\n        \n            @webcomponents/custom-elements : ^1.4.3\n        \n            angular-oauth2-oidc : ^10.0.3\n        \n            angular-oauth2-oidc-jwks : ^9.0.0\n        \n            base64-js : ^1.5.1\n        \n            bootstrap : ^3.4.1\n        \n            fast-sha256 : ^1.3.0\n        \n            jsrsasign : ^10.3.0\n        \n            ngx-semantic-version : ^2.3.0\n        \n            rxjs : ^6.5.3\n        \n            rxjs-compat : ^6.6.7\n        \n            text-encoder-lite : ^2.0.0\n        \n            tsickle : ^0.43.0\n        \n            tslib : ^2.3.0\n        \n            zone.js : ~0.11.4\n    \n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n  Miscellaneous\n  Functions\n\n\n\n    Index\n    \n        \n            \n                \n                    \n                        \n                            b64DecodeUnicode   (projects/.../base64-helper.ts)\n                        \n                        \n                            base64UrlEncode   (projects/.../base64-helper.ts)\n                        \n                        \n                            createDefaultLogger   (projects/.../factories.ts)\n                        \n                        \n                            createDefaultStorage   (projects/.../factories.ts)\n                        \n                        \n                            decodeUTF8   (projects/.../hash-handler.ts)\n                        \n                        \n                            encodeUTF8   (projects/.../hash-handler.ts)\n                        \n                        \n                            fillBuffer   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hash   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hashBlocks   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hkdf   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hmac   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            pbkdf2   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            provideOAuthClient   (projects/.../provider.ts)\n                        \n                    \n                \n            \n        \n    \n\n\n    projects/lib/src/base64-helper.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        b64DecodeUnicode\n                        \n                    \n                \n            \n            \n                \nb64DecodeUnicode(str)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    str\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        base64UrlEncode\n                        \n                    \n                \n            \n            \n                \nbase64UrlEncode(str)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    str\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         string\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    projects/lib/src/factories.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        createDefaultLogger\n                        \n                    \n                \n            \n            \n                \ncreateDefaultLogger()\n                \n            \n\n\n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        createDefaultStorage\n                        \n                    \n                \n            \n            \n                \ncreateDefaultStorage()\n                \n            \n\n\n\n\n        \n    \n    projects/lib/src/token-validation/hash-handler.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        decodeUTF8\n                        \n                    \n                \n            \n            \n                \ndecodeUTF8(s)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    s\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        encodeUTF8\n                        \n                    \n                \n            \n            \n                \nencodeUTF8(arr)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    arr\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    projects/lib/src/token-validation/fast-sha256js.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        fillBuffer\n                        \n                    \n                \n            \n            \n                \nfillBuffer(buffer, hmac, info, counter)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    buffer\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    hmac\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    info\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    counter\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hash\n                        \n                    \n                \n            \n            \n                \nhash(data)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    data\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Uint8Array\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hashBlocks\n                        \n                    \n                \n            \n            \n                \nhashBlocks(w, v, p, pos, len)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    w\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    v\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    p\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    pos\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    len\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         number\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hkdf\n                        \n                    \n                \n            \n            \n                \nhkdf(key, salt, info?, length)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    salt\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    info\n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    length\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hmac\n                        \n                    \n                \n            \n            \n                \nhmac(key, data)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    data\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        pbkdf2\n                        \n                    \n                \n            \n            \n                \npbkdf2(password, salt, iterations, dkLen)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    password\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    salt\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    iterations\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    dkLen\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    projects/lib/src/provider.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        provideOAuthClient\n                        \n                    \n                \n            \n            \n                \nprovideOAuthClient(config, validationHandlerClass)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    config\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    validationHandlerClass\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     EnvironmentProviders\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"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. Already prepared for the upcoming OAuth 2.1.\n\nCredits\n\njsrsasign for validating token signature and for hashing\nIdentity Server for testing with an .NET/.NET Core Backend\nKeycloak (Redhat) for testing with Java\nAuth0\n\nResources\n\nSources and Sample: https://github.com/manfredsteyer/angular-oauth2-oidc\nSource Code Documentation: https://manfredsteyer.github.io/angular-oauth2-oidc/docs\nCommunity-provided sample implementation: https://github.com/jeroenheijmans/sample-angular-oauth2-oidc-with-auth-guards/\n\nTested Environment\nSuccessfully tested with Angular 4.3 to Angular 15 and its Router, PathLocationStrategy as well as HashLocationStrategy and CommonJS-Bundling via webpack. \nAt server side we've used IdentityServer (.NET / .NET Core), Redhat's Keycloak (Java), and Auth0 (Auth0 is officially supported since version 10 of this lib). For Auth0, please have a look into the respective documentation page here.\nFor using this library with Azure Active Directory (Azure AD), we recommend an additional look to this blog post and the example linked at the end of this blog post.\nAlso, the Okta community created some guidelines on how to use this lib with Okta. See the links at the end of this page for more information.\nAngular 15: Use 15.x versions of this library (should also work with older Angular versions!).\nAngular 14: Use 14.x versions of this library (should also work with older Angular versions!).\nAngular 13: Use 13.x versions of this library (should also work with older Angular versions!).\nAngular 12: Use 12.x versions of this library (should also work with older Angular versions!).\nAngular 11: Use 10.x versions of this library (should also work with older Angular versions!).\nAngular 10: Use 10.x versions of this library (should also work with older Angular versions!).\nAngular 9: Use 9.x versions of this library (should also work with older Angular versions!).\nAngular 8: Use 8.x versions of this library.\nAngular 7: Use 7.x versions of this library.\nAngular 6: Use Version 4.x of this library. Version 4.x was tested with Angular 6. You can also try the newer version 5.x of this library which has a much smaller bundle size.\nAngular 5.x or 4.3: If you need support for Angular \nRelease Cycle\n\nWe plan one major release for each Angular version\nWill contain new features\nWill contain bug fixes and PRs\n\n\nCritical bugfixes on demand\n\nContributions\n\nFeel free to file pull requests\n\nThe issues contain some ideas for PRs and enhancements (see labels)\n\nIf you want to contribute to the docs, you can do so in the docs-src folder. Make sure you update summary.json as well. Then generate the docs with the following commands:\nnpm install -g @compodoc/compodoc\nnpm run docs\n\nFeatures\n\nLogging in via Code Flow + PKCE\nHence, you are safe for the upcoming OAuth 2.1\n\n\nLogging in via Implicit Flow (where a user is redirected to Identity Provider)\n\"Logging in\" via Password Flow (where a user enters their password into the client)\nToken Refresh for all supported flows\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\nTested with all modern browsers and IE\nToken Revocation according to RFC 7009\n\nSample-Auth-Server\nYou can use the OIDC-Sample-Server used in our examples. It assumes, that your Web-App runs on http://localhost:4200\nUsername/Password:\n\nmax/geheim\nbob/bob\nalice/alice\n\nclientIds:\n\nspa (Code Flow + PKCE)\nimplicit (implicit flow)\n\nredirectUris:\n\nlocalhost:[4200-4202]\nlocalhost:[4200-4202]/index.html\nlocalhost:[4200-4202]/silent-refresh.html\n\nInstalling\nnpm i angular-oauth2-oidc --saveOption 1: Standalone APIs\nIf you use Standalone Components introduced with Angular 14, you can use our standalone API (call to provideOAuthClient) in your main.ts to setup the OAuthClient:\n// main.ts\nimport { bootstrapApplication } from '@angular/platform-browser';\n\nimport { provideHttpClient } from '@angular/common/http';\n\nimport { AppComponent } from './app/app.component';\nimport { provideOAuthClient } from 'angular-oauth2-oidc';\n\nbootstrapApplication(AppComponent, {\n  providers: [\n    provideHttpClient(),\n    provideOAuthClient()\n  ]\n});The provideOAuthClient function takes the same parameters as the forRoot function of the OAuthModule that is still in place for the sake of compatibility with existing code bases.\nOption 2: Using NgModules\nimport { HttpClientModule } from '@angular/common/http';\nimport { OAuthModule } from 'angular-oauth2-oidc';\n// etc.\n\n@NgModule({\n  imports: [\n    // etc.\n    HttpClientModule,\n    OAuthModule.forRoot()\n  ],\n  declarations: [\n    AppComponent,\n    HomeComponent,\n    // etc.\n  ],\n  bootstrap: [\n    AppComponent\n  ]\n})\nexport class AppModule {\n}Logging in\nSince Version 8, this library supports code flow and PKCE to align with the current draft of the OAuth 2.0 Security Best Current Practice document. This is also the foundation of the upcoming OAuth 2.1.\nTo configure your solution for code flow + PKCE you have to set the responseType to code:\n  import { AuthConfig } from 'angular-oauth2-oidc';\n\n  export const authCodeFlowConfig: AuthConfig = {\n    // Url of the Identity Provider\n    issuer: 'https://idsvr4.azurewebsites.net',\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: 'server.code',\n    clientId: 'spa',\n\n    // Just needed if your auth server demands a secret. In general, this\n    // is a sign that the auth server is not configured with SPAs in mind\n    // and it might not enforce further best practices vital for security\n    // such applications.\n    // dummyClientSecret: 'secret',\n\n    responseType: 'code',\n\n    // set the scope for the permissions the client should request\n    // The first four are defined by OIDC.\n    // Important: Request offline_access to get a refresh token\n    // The api scope is a usecase specific one\n    scope: 'openid profile email offline_access api',\n\n    showDebugInformation: true,\n  };After this, you can initialize the code flow using:\nthis.oauthService.initCodeFlow();There is also a convenience method initLoginFlow which initializes either the code flow or the implicit flow depending on your configuration.\nthis.oauthService.initLoginFlow();Also -- as shown in the readme -- you have to execute the following code when bootstrapping to make the library to fetch the token:\nthis.oauthService.configure(authCodeFlowConfig);\nthis.oauthService.loadDiscoveryDocumentAndTryLogin();Logging out\nThe logOut method clears the used token store (by default sessionStorage) and forwards the user to the auth servers logout endpoint if one was configured (manually or via the discovery document).\nthis.oauthService.logOut();If you want to revoke the existing access token and the existing refresh token before logging out, use the following method:\nthis.oauthService.revokeTokenAndLogout();Skipping the Login Form\nIf you don't want to display a login form that tells the user that they are redirected to the identity server, you can use the convenience function this.oauthService.loadDiscoveryDocumentAndLogin(); instead of this.oauthService.loadDiscoveryDocumentAndTryLogin(); when setting up the library.\nThis directly redirects the user to the identity server if there are no valid tokens. Ensure you have your issuer set to your discovery document endpoint!\nCalling a Web API with an Access Token\nYou can automate this task by switching sendAccessToken on and by setting allowedUrls to an array with prefixes for the respective URLs. Use lower case for the prefixes.\nOAuthModule.forRoot({\n    resourceServer: {\n        allowedUrls: ['http://www.angular.at/api'],\n        sendAccessToken: true\n    }\n})If you need more versatility, you can look in the documentation how to setup a custom interceptor.\nToken Refresh\nSee docs: https://manfredsteyer.github.io/angular-oauth2-oidc/docs/additional-documentation/refreshing-a-token.html\nRouting\nIf you use the PathLocationStrategy (which is on by default) and have a general catch-all-route (path: '**') you should be fine. Otherwise look up the section Routing with the HashStrategy in the documentation.\nImplicit Flow\nNowadays, using code flow + PKCE -- as shown above -- is the recommended OAuth 2/OIDC flow for SPAs. To use the older implicit flow, lookup this docs: https://manfredsteyer.github.io/angular-oauth2-oidc/docs/additional-documentation/using-implicit-flow.html\nMore Documentation (!)\nSee the documentation for more information about this library.\nBreaking Change in Version 9\nWith regards to tree shaking, beginning with version 9, the JwksValidationHandler has been moved to a library of its own. If you need it for implementing implicit flow, please install it using npm:\nnpm i angular-oauth2-oidc-jwks --saveAfter that, you can import it into your application by using this:\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';instead of that:\nimport { JwksValidationHandler } from 'angular-oauth2-oidc';Please note, that this dependency is not needed for the code flow, which is nowadays the recommended flow for single page applications. This also results in smaller bundle sizes.\nBreaking change in 9.1.0\nThe use of encodeURIComponent on the argument passed to initImplicitFlow and its Code Flow counterparts was mandatory before this version.\nSince that was considered a bug, the need to do so was removed.\nNow the reverse is true if you're upgrading from before 9.0.0: you need to remove any call to encode URI components in your own application, as the library will now do it for you.\nTutorials\n\nTutorial with Demo Servers available online\nAngular Authentication with OpenID Connect and Okta in 20 Minutes\nAdd Authentication to Your Angular PWA\nBuild an Ionic App with User Authentication\nOn-Site Workshops\nAngular 6 with Auth0 using this library\n\nThanks to all Contributors\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n                   \n\n\n\n\n    Modules\n\n\n    \n            \n                \n                    \n                        OAuthModule\n                    \n                    \n                                \n                                    No graph available.\n                                \n                        \n                            Browse\n                        \n                    \n                \n            \n    \n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n                   \n\n\n\n    Overview\n\n  \n\n    \n        \n\n\n\n\n\ndependencies\n\ndependencies\n\n\n\n    \n    \n    \n        Zoom in\n        Reset\n        Zoom out\n    \n\n  \n\n    \n        \n            \n                \n                    \n                    \n                        1 Module\n                    \n                \n            \n        \n        \n            \n                \n                    \n                    5 Injectables\n                \n            \n        \n        \n            \n                \n                    \n                    22 Classes\n                \n            \n        \n        \n            \n                \n                    \n                    5 Interfaces\n                \n            \n        \n    \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n  Miscellaneous\n  Type aliases\n\n\n\n    Index\n    \n        \n            \n                \n                    \n                        \n                            EventType   (projects/.../events.ts)\n                        \n                    \n                \n            \n        \n    \n\n\n    projects/lib/src/events.ts\n    \n    \n        \n            \n                \n                    \n                    EventType\n                \n            \n            \n                \n                            \"discovery_document_loaded\" | \"jwks_load_error\" | \"invalid_nonce_in_state\" | \"discovery_document_load_error\" | \"discovery_document_validation_error\" | \"user_profile_loaded\" | \"user_profile_load_error\" | \"token_received\" | \"token_error\" | \"code_error\" | \"token_refreshed\" | \"token_refresh_error\" | \"silent_refresh_error\" | \"silently_refreshed\" | \"silent_refresh_timeout\" | \"token_validation_error\" | \"token_expires\" | \"session_changed\" | \"session_error\" | \"session_terminated\" | \"session_unchanged\" | \"logout\" | \"popup_closed\" | \"popup_blocked\" | \"token_revoke_error\"\n\n                \n            \n        \n    \n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n  Miscellaneous\n  Variables\n\n\n\n    Index\n    \n        \n            \n                \n                    \n                        \n                            AUTH_CONFIG   (projects/.../tokens.ts)\n                        \n                        \n                            blockSize   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            digestLength   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            err   (projects/.../jwks-validation-handler.ts)\n                        \n                        \n                            hkdfSalt   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            K   (projects/.../fast-sha256js.ts)\n                        \n                    \n                \n            \n        \n    \n\n\n    projects/lib/src/tokens.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        AUTH_CONFIG\n                        \n                    \n                \n            \n                \n                    \n                        Default value : new InjectionToken('AUTH_CONFIG')\n                    \n                \n\n\n        \n    \n\n    projects/lib/src/token-validation/fast-sha256js.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        blockSize\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : 64\n                    \n                \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digestLength\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : 32\n                    \n                \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hkdfSalt\n                        \n                    \n                \n            \n                \n                    \n                        Default value : new Uint8Array(digestLength)\n                    \n                \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        K\n                        \n                    \n                \n            \n                \n                    \n                        Default value : new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n  0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n  0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n  0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n  0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n  0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n  0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n  0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n])\n                    \n                \n\n\n        \n    \n\n    projects/lib/src/token-validation/jwks-validation-handler.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        err\n                        \n                    \n                \n            \n                \n                    \n                        Default value : `PLEASE READ THIS CAREFULLY:\n\nBeginning with angular-oauth2-oidc version 9, the JwksValidationHandler\nhas been moved to an library of its own. If you need it for implementing\nOAuth2/OIDC **implicit flow**, please install it using npm:\n\n  npm i angular-oauth2-oidc-jwks --save\n\nAfter that, you can import it into your application:\n\n  import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\n\nPlease note, that this dependency is not needed for the **code flow**,\nwhich is nowadays the **recommented** one for single page applications.\nThis also results in smaller bundle sizes.\n`\n                    \n                \n\n\n        \n    \n\n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n\n\nGetting Started\nPlease find the Getting Started Guide in the README above.\n\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/refreshing-a-token.html":{"url":"additional-documentation/refreshing-a-token.html","title":"additional-page - Refreshing a Token","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing a Token using Code Flow (not Implicit Flow!)\nWhen using code flow, you can get an refresh_token. While the original standard DOES NOT allow this for SPAs, the mentioned OAuth 2.0 Security Best Current Practice document proposes to ease this limitation. However, it specifies a list of requirements one should take care about before using refresh_tokens. Please make sure you respect those requirements.\nPlease also note, that you have to request the offline_access scope to get a refresh token.\nTo refresh your token, just call the refreshToken method:\nthis.oauthService.refreshToken();Automatically refreshing a token when/ before it expires (Code Flow and Implicit Flow)\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/silent-refresh.html":{"url":"additional-documentation/silent-refresh.html","title":"additional-page - Silent Refresh","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing when using Implicit Flow (Implicit Flow and Code Flow)\nNotes for Code Flow: You can also use this strategy for refreshing tokens when using code flow. However, please note, the strategy described within Token Refresh is far easier in this case.\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  // defaults to true for implicit flow and false for code flow\n  // as for code code the default is using a refresh_token\n  // Also see docs section 'Token Refresh'\n  useSilentRefresh: true,\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        (window.opener || window.parent).postMessage(location.hash || ('#' + location.search), location.origin);\n    \n\nThis simple implementation within silent-refresh.html is sufficient in most cases. It takes care of the hash fragment as well as of the query string (property search). For edge cases you need to check if the received hash fragment is a token response. For this, please go with the following more advanced implementation:\n\n    \n        \n            var checks = [/[\\?|&|#]code=/, /[\\?|&|#]error=/, /[\\?|&|#]token=/, /[\\?|&|#]id_token=/];\n\n            function isResponse(str) {\n                if (!str) return false;\n                for(var i=0; i\n    \nThe above example checks if the message in the URL (either hash or query string) is indeed a message returned with a response from an authentication provider and not an arbitrary value and then attempts to forward this message to a parent widow either by .parent (when this html is loaded in an iframe as a result of silent refresh) or by .opener (when the html is loaded into a popup during initial login) or finally using a storage event (as a fallback for complex cases, e.g. initial login in a popup with a cross-domain auth provider).\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 silentRefreshTimeout (msec). The default value is 20.000 (20 seconds).\nAutomatically refreshing a token when/ before it expires (Code Flow and Implicit Flow)\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/token-refresh.html":{"url":"additional-documentation/token-refresh.html","title":"additional-page - Token Refresh","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing a Token using Code Flow (not Implicit Flow!)\nWhen using code flow, you can get an refresh_token. While the original standard DOES NOT allow this for SPAs, the mentioned OAuth 2.0 Security Best Current Practice document proposes to ease this limitation. However, it specifies a list of requirements one should take care about before using refresh_tokens. Please make sure you respect those requirements.\nPlease also note, that you have to request the offline_access scope to get a refresh token.\nTo refresh your token, just call the refreshToken method:\nthis.oauthService.refreshToken();Automatically refreshing a token when/ before it expires (Code Flow and Implicit Flow)\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/working-with-httpinterceptors.html":{"url":"additional-documentation/working-with-httpinterceptors.html","title":"additional-page - Working with HttpInterceptors","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nInterceptors\nSince 3.1 the library uses a default HttpInterceptor that takes care about transmitting the access_token to the resource server and about error handling for security related errors (HTTP status codes 401 and 403) received from the resource server. To put in on, just set sendAccessToken to true and set allowedUrls to an array with prefixes for the respective urls. Use lower case for the prefixes:\nOAuthModule.forRoot({\n    resourceServer: {\n        allowedUrls: ['http://www.angular.at/api'],\n        sendAccessToken: true\n    }\n})You can provide an error handler for the urls white listed here by provding a service for the token OAuthResourceServerErrorHandler.\nTo implement such a service, implement the abstract class OAuthResourceServerErrorHandler. The following example shows the default implemantion that just passes the cought error through:\nexport class OAuthNoopResourceServerErrorHandler implements OAuthResourceServerErrorHandler {\n    \n    handleError(err: HttpResponse): Observable {\n        return _throw(err);\n    }\n\n}Custom Interceptors\nFeel free to write custom interceptors but keep in mind that injecting the OAuthService into them creates a circular dependency which leads to an error. The easiest way to prevent this is to use the OAuthStorage directly which also provides the access_token:\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport {Observable} from 'rxjs/Observable';\nimport { OAuthResourceServerErrorHandler } from \"./resource-server-error-handler\";\nimport { OAuthModuleConfig } from \"../oauth-module.config\";\n\nimport 'rxjs/add/operator/catch';\n\n@Injectable()\nexport class DefaultOAuthInterceptor implements HttpInterceptor {\n    \n    constructor(\n        private authStorage: OAuthStorage,\n        private errorHandler: OAuthResourceServerErrorHandler,\n        @Optional() private moduleConfig: OAuthModuleConfig\n    ) {\n    }\n\n    private checkUrl(url: string): boolean {\n        let found = this.moduleConfig.resourceServer.allowedUrls.find(u => url.startsWith(u));\n        return !!found;\n    }\n\n    public intercept(req: HttpRequest, next: HttpHandler): Observable> {\n        \n        let url = req.url.toLowerCase();\n\n        if (!this.moduleConfig) return next.handle(req);\n        if (!this.moduleConfig.resourceServer) return next.handle(req);\n        if (!this.moduleConfig.resourceServer.allowedUrls) return next.handle(req);\n        if (!this.checkUrl(url)) return next.handle(req);\n\n        let sendAccessToken = this.moduleConfig.resourceServer.sendAccessToken;\n        \n        if (sendAccessToken) {\n\n            let token = this.authStorage.getItem('access_token');\n            let header = 'Bearer ' + token;\n\n            let headers = req.headers\n                                .set('Authorization', header);\n\n            req = req.clone({ headers });\n        }\n\n        return next.handle(req).catch(err => this.errorHandler.handleError(err));\n\n    }\n\n}\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/popup-based-login.html":{"url":"additional-documentation/popup-based-login.html","title":"additional-page - Popup-based Login","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nLogging in With a Popup\nThanks to a great community contribution, this library also supports logging the user in via a popup. For this, you need to do two things:\n\nUse initLoginFlowInPopup instead of initLoginFlow.\nCreate and configure a silent-refresh.html as described here *.\n\n* Please note this does not mean that you have to use silent refresh too.\nAlso, for your silent-refresh.html, make sure you are also targeting\nwindow.opener and fall back to window.parent:\nPlease note: IE sets opener to null under specific security settings. This prevents making this work.\n\n                   \n    \n         result-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\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         result-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\n\n                   \n\n\n\n\nEvents\nThe library informs you about its tasks and state using events.\nThis is an Observable which publishes a stream of events as they occur in the service.\nYou can log these events to the console for debugging information.\nA short snippet you could use:\nthis.oauthService.events.subscribe(e => console.log(e));Or a longer, more extensive version that logs them at different levels:\nimport { OAuthErrorEvent } from 'angular-oauth2-oidc';\n\n// ...\n\nthis.authService.events.subscribe(event => {\n  if (event instanceof OAuthErrorEvent) {\n    console.error(event);\n  } else {\n    console.warn(event);\n  }\n});Here's a list of the main events you might encounter:\n\ndiscovery_document_loaded is published whenever the service has retrieved the openid configuration and successfully saved the jwks information\ninvalid_nonce_in_state is published during tryLogin, when an access token has been requested and the state check was not disabled via the options, only in case the nonce is not as expected (see OAuth2 spec for more details about the nonce)\nuser_profile_loaded is published just before loadUserProfile() successfully resolves\ntoken_received is published whenever the requested token(s) have been successfully received and stored\nsilently_refreshed is published when the silent refresh timer has gone off and the library has also successfully refreshed the tokens (only applicable to Implicit Flow)\nsilent_refresh_timeout is published if the silent refresh timer has gone off but it takes too long to successfully refresh\nsession_error will only be published if the session checks encounter an error\n\nFor a full list of available events see the string based enum in the file events.ts.\n\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/adapt-id_token-validation.html":{"url":"additional-documentation/adapt-id_token-validation.html","title":"additional-page - Adapt id_token Validation","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nConfigure/ Adapt id_token Validation\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.\nDependency Injection\nYou can also setup a ValidationHandler by leveraging dependency injection:\n[...]\nproviders: [\n    { provide: ValidationHandler, useClass: JwksValidationHandler },\n],\n[...]\n                   \n    \n         result-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\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}Refresh\nPlease note that the lib performs a token refresh when the session changes to get the newest information about the current session. When using implicit flow, this means you have to configure silent refresh; when using code flow you either need silent refresh or a refresh token.\nIf using refresh tokens, your Auth Server needs to bind them to the current session's lifetime. Unfortunately, the used version of Identity Server 4, shown in the docs and in the example applications, does not support this at the moment.\nEvents\nTo get notified, you can hook up for the event session_terminated:\nthis.oauthService.events.pipe(filter(e => e.type === 'session_terminated')).subscribe(e => {\n  console.debug('Your session has been terminated!');\n})\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/server-side-rendering.html":{"url":"additional-documentation/server-side-rendering.html","title":"additional-page - Server Side Rendering","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nServer Side Rendering\nThere is a great blog post that shows how this library can be used together with server side rendering:\nhttps://medium.com/lankapura/angular-server-side-rendering-for-authenticated-users-a021627fd9d3The sample for this can be found here:\nhttps://github.com/lankaapura/Angular-AspNetCore-Idsvr\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{"url":"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html","title":"additional-page - Using an ID Provider that Fails Discovery Document Validation","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nDiscovery Document Validation\nThe configuration parameter strictDiscoveryDocumentValidation is set true by default. This ensures that all of the endpoints provided via the ID Provider discovery document share the same base URL as the issuer parameter.\nSeveral ID Providers (i.e. Google OpenID, WS02-IS, PingOne) provide different domains or path params for various endpoints in the discovery document. These providers may still adhere to the OpenID Connect Provider Configuration specification, but will fail to pass this library's discovery document validation.\nTo use this library with an ID Provider that does not maintain a consistent base URL across the discovery document endpoints, set the strictDiscoveryDocumentValidation parameter to false in your configuration:\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\n  // turn off validation that discovery document endpoints start with the issuer url defined above\n  strictDiscoveryDocumentValidation: false\n}\n                   \n    \n         result-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\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});Also thanks to ppanthony for sharing his SystemJS config:\n'angular-oauth2-oidc': {\n    main: 'angular-oauth2-oidc.umd.js',\n    format: 'cjs',\n    defaultExtension: 'js',\n    map: {\n        'jsrsasign': '/node_modules/jsrsasign/lib/jsrsasign',\n    },\n    meta: {\n        'angular-oauth2-oidc': {\n            deps: ['require','jsrsasign']\n        },\n    }\n}\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/using-implicit-flow.html":{"url":"additional-documentation/using-implicit-flow.html","title":"additional-page - Using Implicit Flow","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nConfiguring for Implicit Flow\nThis section shows how to implement login leveraging implicit flow. This is the OAuth2/OIDC flow which was originally intended for Single Page Application. \nMeanwhile using Code Flow instead is a best practice and with OAuth 2.1 implicit flow will be deprecated*.\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\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 registered 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.configure();\n    }\n\n    private configure() {\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.initLoginFlow();\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\n\n                   \n    \n         result-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\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 code 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.\nPlease also note that with OAuth 2.1, password flow will be deprecated. \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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/configure-custom-oauthstorage.html":{"url":"additional-documentation/configure-custom-oauthstorage.html","title":"additional-page - Configure custom OAuthStorage","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nConfigure custom OAuthStorage\nThis library uses sessionStorage as the default storage provider. You can customize this by using localStorage or your own storage solution.\nUsing localStorage\nIf  you want to use localStorage instead of sessionStorage, you can add a provider to your AppModule. This works as follows:\nimport { HttpClientModule } from '@angular/common/http';\nimport { OAuthModule } from 'angular-oauth2-oidc';\n// etc.\n\n// We need a factory, since localStorage is not available during AOT build time.\nexport function storageFactory() : OAuthStorage {\n  return localStorage\n}\n \n@NgModule({\n  imports: [ \n    // etc.\n    HttpClientModule,\n    OAuthModule.forRoot()\n  ],\n  declarations: [\n    AppComponent,\n    HomeComponent,\n    // etc.\n  ],\n  bootstrap: [\n    AppComponent \n  ],\n  providers: [\n    { provide: OAuthStorage, useFactory: storageFactory }\n  ]\n})\nexport class AppModule {\n}Custom storage solution\nIf you want to use a custom storage solution, you can extend the OAuthStorage class. Documentation can be found here. Then add it as a provider, just like in the localStorage example above.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/manually-skipping-login-form.html":{"url":"additional-documentation/manually-skipping-login-form.html","title":"additional-page - Manually Skipping Login Form","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nManually Skipping the Login Form\nFirst, try to use the loadDiscoveryDocumentAndLogin method instead of loadDiscoveryDocumentAndTryLogin. If you need more control, the following could be interesting for you.\nthis.oauthService\n    .loadDiscoveryDocumentAndTryLogin(/* { your LoginOptions }*/) // checks to see if the current url contains id token and access token\n    .(hasReceivedTokens => {\n        // this would have stored all the tokens needed\n        if (hasReceivedTokens) {\n            // carry on with your app\n            return Promise.resolve();\n\n            /* if you wish to do something when the user receives tokens from the identity server,\n             * use the event stream or the `onTokenReceived` callback in LoginOptions.\n             *\n             * this.oauthService.events(filter(e => e.type === 'token_received')).subscribe()\n             */\n        } else {\n            // may want to check if you were previously authenticated\n            if (this.oauthService.hasValidAccessToken() && this.oauthService.hasValidIdToken()) {\n                return Promise.resolve();\n            } else {\n                // to safe guard this from progressing through the calling promise,\n                // resolve it when it directed to the sign up page\n                return new Promise(resolve => {\n                    this.oauthService.initLoginFlow();\n                    // example if you are using explicit flow\n                    this.window.addEventListener('unload', () => {\n                        resolve(true);\n                    });\n                });\n            }\n        }\n    })\n                   \n    \n         result-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\n\n                   \n\n\n\n\nOriginal Config API\n\nThis describes the older config API which is nowadays only supported for the sake of backwards compatibility. \n\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}If you find yourself receiving errors related to discovery document validation, your ID Provider may have OAuth2 endpoints that do not use the issuer value as a consistent base URL. You can turn off strict validation of discovery document endpoints for this scenario. See Discovery Document Validation for details.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers.html":{"url":"additional-documentation/authorization-servers.html","title":"additional-page - Authorization Servers","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nSupport for Auth Servers\nAs this lib follows the OAuth2 and OpenId Connect specs, it should work with all compliant authorizations servers.\nHowever, experience shows that some authorizations servers come with some special behavior or settings. Hence, we must respect this when using this lib.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/using-identity-server.html":{"url":"additional-documentation/authorization-servers/using-identity-server.html","title":"additional-page - Using Identity Server","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing Identity Server\nThis lib should work as shown in all examples here with Identity Server. \n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/using-keycloak.html":{"url":"additional-documentation/authorization-servers/using-keycloak.html","title":"additional-page - Using Keycloak","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing Keycloak\nThis lib should work as shown in all examples here with Keycloak. \n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/auth0.html":{"url":"additional-documentation/authorization-servers/auth0.html","title":"additional-page - Auth0","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing Auth0\nTo use this lib with Auth0, open your Auth0 account and configure:\n\nAn app \nAn API\n\nConfigure the app to use refresh token rotation and the grant types authorization code and refresh token. For grant types, see the advanced settings at the end of the settings page.\nConfiguration\nProvide a configuration like this:\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\n\n    issuer: 'https://dev-g-61sdfs.eu.auth0.com/',\n\n    // Your app's client id:\n    clientId: 'opHt1Tkt9E9fVQTZPBVF1tHVhjrxvyVX',\n    redirectUri: window.location.origin,\n\n    scope: 'openid profile email offline_access',\n\n    responseType: 'code',\n\n    logoutUrl: 'https://dev-g-61sdfs.eu.auth0.com/v2/logout',\n\n    customQueryParams: {\n        // Your API's name\n        audience: 'http://www.angular.at/api'\n    },\n};Getting, Using, and Refreshing a Token\nThis should work as shown in the other examples in this documentation and in the readme file.\nLogging out\nAuth0's logout endpoint expects the parameters client_id and returnTo:\nthis.oauthService.revokeTokenAndLogout({\n  client_id: this.oauthService.clientId,\n  returnTo: this.oauthService.redirectUri\n}, true);The optional 2nd parameter set to true ignores CORS issues with the logout endpoint.\nExample\nPlease find a demo for using Auth0 with angular-oauth2-oidc here.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{"url":"additional-documentation/authorization-servers/azure-ad-(active-directory).html","title":"additional-page - Azure AD (Active Directory)","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing with Azure AD\nFor using this library with Azure Active Directory (Azure AD), we recommend an additional look to this blog post and the example linked at the end of this blog post.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"}}
+    "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AbstractValidationHandler.html",[0,0.196,1,3.235]],["body/classes/AbstractValidationHandler.html",[0,0.194,1,3.215,2,0.901,3,0.512,4,0.581,5,0.49,6,2.926,7,4.868,8,1.44,9,1.837,10,1.913,11,1.615,12,2.438,13,2.466,14,2.019,15,1.938,16,4.13,17,2.217,18,1.303,19,3.215,20,4.13,21,0.63,22,1.488,23,5.087,24,4.508,25,3.804,26,3.524,27,2.397,28,2.047,29,4.572,30,1.019,31,3.078,32,3.51,33,1.989,34,2.503,35,1.921,36,1.001,37,1.411,38,0.016,39,1.57,40,1.019,41,1.108,42,3.524,43,1.789,44,2.53,45,3.51,46,2.156,47,3.078,48,3.51,49,4.573,50,3.51,51,2.284,52,3.51,53,3.51,54,2.012,55,2.978,56,3.51,57,4.54,58,3.078,59,4.658,60,4.458,61,3.804,62,1.834,63,1.994,64,1.15,65,2.978,66,3.078,67,3.524,68,0.534,69,2.195,70,2.195,71,2.397,72,0.611,73,1.55,74,1.373,75,1.373,76,1.373,77,1.373,78,1.513,79,2.397,80,2.397,81,2.397,82,1.311,83,1.016,84,2.466,85,3.51,86,2.397,87,2.397,88,2.033,89,2.397,90,2.397,91,2.397,92,0.8,93,2.397,94,2.397,95,2.397,96,1.899,97,4.573,98,2.397,99,4.573,100,2.397,101,2.397,102,2.397,103,0.923,104,4.154,105,2.397,106,2.397,107,2.397,108,2.033,109,0.711,110,2.397,111,2.033,112,1.899,113,2.397,114,0.006,115,0.009,116,0.006]],["title/classes/DateTimeProvider.html",[0,0.196,117,3.235]],["body/classes/DateTimeProvider.html",[0,0.28,2,1.546,3,0.878,4,0.997,5,0.841,10,2.018,21,1.082,22,2.143,30,1.127,38,0.015,43,1.977,68,0.917,72,0.744,103,1.33,109,1.77,114,0.01,115,0.012,116,0.01,117,5.012,118,6.091,119,3.845,120,4.577,121,5.368,122,5.281,123,6.354,124,5.281,125,2.519,126,2.058,127,1.674,128,4.113,129,3.061,130,4.577]],["title/injectables/DefaultHashHandler.html",[126,1.438,131,3.932]],["body/injectables/DefaultHashHandler.html",[0,0.156,3,0.6,4,0.681,5,0.575,6,2.956,8,1.689,10,1.314,20,3.338,21,0.739,22,1.668,25,3.603,27,3.935,28,2.113,29,3.852,30,1.012,37,1.401,38,0.016,39,1.401,40,1.012,41,1.1,42,2.384,43,1.776,44,1.811,68,1.012,72,0.413,88,2.384,103,1.362,108,2.384,109,1.536,114,0.014,115,0.01,116,0.007,125,2.089,126,1.144,127,1.144,131,3.128,132,2.384,133,4.919,134,5.053,135,5.053,136,3.609,137,4.379,138,5.053,139,3.609,140,2.574,141,4.379,142,3.609,143,5.762,144,3.935,145,2.384,146,4.158,147,3.277,148,3.128,149,2.81,150,3.128,151,3.128,152,3.128,153,3.128,154,2.81,155,1.775,156,2.81,157,3.128,158,3.935,159,3.128,160,2.81,161,2.384,162,2.384,163,3.128,164,3.02,165,2.574,166,3.128,167,4.379,168,3.128,169,1.888,170,3.128,171,3.128,172,3.128,173,5.053,174,3.128,175,3.128,176,5.053,177,3.128,178,3.128,179,3.128,180,3.128,181,3.128,182,3.128,183,3.118,184,4.379,185,4.379,186,3.128,187,3.128,188,3.128,189,3.128,190,3.128,191,4.379,192,3.128,193,3.128,194,3.128]],["title/interceptors/DefaultOAuthInterceptor.html",[195,3.932,196,3.533]],["body/interceptors/DefaultOAuthInterceptor.html",[0,0.163,3,0.631,4,0.715,5,0.604,14,1.303,21,0.776,22,1.726,28,1.067,30,0.908,37,1.256,38,0.016,39,1.256,40,0.908,41,1.218,43,1.155,55,3.454,68,1.245,72,0.434,84,3.274,92,0.986,103,1.469,114,0.007,115,0.01,116,0.007,126,1.658,127,1.202,147,2.749,164,1.963,196,4.072,197,3.285,198,5.985,199,3.791,200,5.985,201,2.333,202,3.791,203,2.406,204,5.187,205,4.263,206,5.187,207,3.981,208,3.791,209,3.285,210,5.591,211,5.271,212,5.591,213,3.791,214,5.187,215,3.954,216,3.285,217,4.531,218,2.197,219,4.531,220,2.703,221,3.791,222,3.791,223,1.774,224,2.952,225,3.791,226,4.531,227,3.791,228,2.952,229,0.911,230,1.954,231,2.339,232,2.708,233,2.952,234,2.703,235,2.879,236,3.285,237,1.479,238,3.791,239,3.791,240,3.285,241,3.791,242,3.791,243,1.025,244,3.285,245,3.285,246,3.285,247,3.285,248,3.285,249,3.454,250,3.285,251,5.229,252,5.229,253,4.531,254,3.791,255,1.556,256,3.791,257,3.791,258,2.952,259,2.197,260,3.791,261,3.791,262,3.791,263,3.791,264,3.791,265,3.791,266,3.791,267,3.791,268,3.285,269,4.531,270,3.791,271,3.285]],["title/classes/HMAC.html",[0,0.196,272,3.235]],["body/classes/HMAC.html",[2,0.618,3,0.802,4,0.399,5,0.336,6,2.96,13,1.155,18,0.469,21,0.433,22,1.115,30,1.065,33,1.713,35,1.798,37,1.014,38,0.016,39,1.014,40,0.915,41,0.797,43,1.285,72,0.484,92,0.549,96,2.604,103,0.864,109,1.416,112,1.304,114,0.006,115,0.006,116,0.004,125,2.642,140,3.01,147,2.958,155,2.371,161,2.232,162,2.232,164,3.795,169,1.577,183,3.253,201,0.943,272,4.01,273,4.509,274,1.506,275,1.376,276,3.287,277,3.287,278,4.179,279,4.569,280,2.927,281,3.287,282,2.409,283,2.113,284,5.333,285,2.113,286,2.396,287,1.376,288,2.113,289,2.113,290,2.113,291,2.113,292,2.113,293,0.989,294,2.113,295,2.927,296,2.113,297,2.884,298,2.113,299,1.831,300,2.113,301,2.63,302,4.379,303,1.645,304,1.831,305,1.506,306,2.63,307,1.645,308,1.645,309,1.645,310,1.645,311,1.645,312,1.645,313,1.645,314,1.645,315,1.645,316,1.645,317,1.645,318,1.645,319,1.645,320,1.645,321,1.645,322,1.645,323,1.645,324,1.645,325,1.645,326,1.645,327,1.645,328,1.645,329,1.645,330,1.645,331,1.645,332,1.645,333,1.645,334,1.645,335,1.645,336,1.645,337,1.645,338,1.645,339,1.645,340,1.645,341,1.645,342,1.645,343,1.645,344,1.645,345,1.645,346,1.645,347,1.645,348,1.645,349,1.645,350,1.645,351,1.645,352,1.645,353,1.645,354,1.645,355,1.645,356,1.645,357,1.645,358,1.645,359,1.645,360,1.645,361,1.645,362,1.645,363,1.645,364,1.645,365,1.645,366,1.645,367,1.645,368,1.645,369,1.645,370,1.645,371,1.645,372,1.645,373,2.927,374,1.506,375,1.645,376,1.645,377,2.63,378,4.106,379,2.927,380,2.084,381,2.927,382,5.116,383,3.658,384,2.927,385,3.658,386,1.831,387,1.831,388,1.831,389,1.831,390,1.831,391,1.831,392,1.831,393,1.831,394,1.831,395,1.831,396,1.645,397,4.179,398,1.645,399,3.287,400,1.831,401,3.658,402,4.106,403,2.63,404,1.506,405,1.831,406,1.645,407,1.645,408,4.179,409,2.927,410,2.927,411,4.873,412,3.658,413,3.658,414,2.927,415,2.927,416,1.831,417,0.824,418,2.927,419,1.831,420,0.824,421,2.927,422,3.658,423,1.831,424,1.831,425,4.179,426,1.831,427,4.569,428,4.179,429,6.151,430,5.116,431,3.438,432,1.645,433,3.438,434,2.308,435,1.831,436,3.658,437,3.658,438,1.831,439,1.831,440,1.831,441,1.831,442,1.831,443,1.831,444,1.831,445,1.831,446,1.831,447,1.831,448,1.831,449,3.287,450,1.831,451,1.396,452,1.396,453,1.831,454,1.831,455,1.831,456,1.831,457,1.304,458,1.645,459,1.831,460,1.831,461,2.63,462,1.645,463,1.831,464,1.831,465,2.63,466,2.63,467,1.645,468,1.831,469,1.831,470,0.757,471,1.831,472,1.831,473,1.645,474,1.831,475,1.831,476,1.645,477,1.831,478,1.831,479,1.831,480,1.831,481,1.831,482,1.831,483,1.831,484,1.831,485,1.831,486,1.831,487,1.831,488,1.831,489,1.831,490,1.831,491,1.831]],["title/classes/Hash.html",[0,0.196,33,1.382]],["body/classes/Hash.html",[2,0.59,3,0.781,4,0.381,5,0.321,6,3.117,13,1.103,18,0.448,21,0.413,22,1.074,30,1.134,33,1.764,35,2.195,37,1.128,38,0.016,39,1.128,40,1.006,41,0.886,43,1.569,72,0.469,92,0.524,96,2.524,103,0.838,109,1.392,112,1.244,114,0.006,115,0.006,116,0.004,125,2.678,140,2.917,147,2.925,155,2.308,161,2.15,162,2.15,164,3.764,169,1.529,183,3.178,201,1.452,237,0.786,272,3.672,273,4.749,274,1.438,275,1.326,276,3.655,277,3.655,278,4.068,279,4.463,280,2.82,281,3.185,282,2.32,284,5.089,286,2.195,287,1.913,293,1.914,295,2.82,297,3.012,299,1.747,301,2.534,302,4.288,303,1.57,304,1.747,305,1.438,306,4.288,307,1.57,308,1.57,309,1.57,310,1.57,311,1.57,312,1.57,313,1.57,314,1.57,315,1.57,316,1.57,317,1.57,318,1.57,319,1.57,320,1.57,321,1.57,322,1.57,323,1.57,324,1.57,325,1.57,326,1.57,327,1.57,328,1.57,329,1.57,330,1.57,331,1.57,332,1.57,333,1.57,334,1.57,335,1.57,336,1.57,337,1.57,338,1.57,339,1.57,340,1.57,341,1.57,342,1.57,343,1.57,344,1.57,345,1.57,346,1.57,347,1.57,348,1.57,349,1.57,350,1.57,351,1.57,352,1.57,353,1.57,354,1.57,355,1.57,356,1.57,357,1.57,358,1.57,359,1.57,360,1.57,361,1.57,362,1.57,363,1.57,364,1.57,365,1.57,366,1.57,367,1.57,368,1.57,369,1.57,370,1.57,371,1.57,372,1.57,373,2.82,374,1.438,375,1.57,376,1.57,377,2.534,378,4.01,379,2.82,380,2.008,381,2.82,382,5.02,383,3.545,384,2.82,385,3.545,386,1.747,387,1.747,388,1.747,389,1.747,390,1.747,391,1.747,392,1.747,393,1.747,394,1.747,395,1.747,396,1.57,397,4.068,398,1.57,399,3.185,400,1.747,401,3.545,402,4.01,403,2.534,404,1.438,405,1.747,406,1.57,407,1.57,408,4.068,409,2.82,410,2.82,411,5.224,412,3.545,413,3.545,414,2.82,415,2.82,416,1.747,417,0.786,418,2.82,419,1.747,420,0.786,421,2.82,422,4.463,423,1.747,424,1.747,425,4.068,426,1.747,427,4.463,428,4.068,429,6.09,430,5.02,431,3.347,432,1.57,433,3.347,434,2.237,435,1.747,436,3.545,437,3.545,438,1.747,439,1.747,440,1.747,441,1.747,442,1.747,443,2.82,444,1.747,445,1.747,446,1.747,447,1.747,448,1.747,449,3.185,450,1.747,451,1.332,452,1.332,453,1.747,454,1.747,455,1.747,456,1.747,457,1.244,458,1.57,459,1.747,460,1.747,461,2.534,462,1.57,463,1.747,464,1.747,465,2.534,466,2.534,467,1.57,468,1.747,469,1.747,470,0.723,471,1.747,472,1.747,473,1.57,474,1.747,475,1.747,476,1.57,477,1.747,478,1.747,479,1.747,480,1.747,481,1.747,482,1.747,483,1.747,484,1.747,485,1.747,486,1.747,487,1.747,488,1.747,489,1.747,490,1.747,491,1.747,492,3.254,493,3.254,494,3.254,495,3.254,496,2.016,497,2.016,498,0.859,499,2.016,500,2.016,501,2.016,502,2.016,503,2.016,504,2.016,505,2.016,506,2.016,507,2.016]],["title/classes/HashHandler.html",[0,0.196,154,3.533]],["body/classes/HashHandler.html",[0,0.164,2,1.113,3,0.633,4,0.718,5,0.606,6,2.453,8,1.78,9,1.55,10,1.68,20,3.462,21,0.779,22,1.73,27,4.081,28,2.088,29,3.961,30,0.66,37,0.914,38,0.016,39,0.914,40,0.66,41,0.718,42,2.513,43,1.159,44,1.878,68,1.041,72,0.436,88,2.513,103,1.388,108,2.513,109,1.565,114,0.014,115,0.01,116,0.007,125,1.363,126,1.206,127,1.206,133,4.081,137,3.296,138,3.296,141,3.296,143,5.599,144,4.081,145,2.513,146,4.275,147,3.303,148,3.296,149,2.962,150,3.296,151,4.542,152,4.542,153,4.542,154,4.081,155,1.871,156,2.962,157,3.296,158,4.081,159,3.296,160,2.962,161,2.513,162,2.513,163,3.296,164,3.105,165,2.712,166,3.296,167,4.542,168,3.296,169,1.959,170,3.296,171,3.296,172,3.296,173,5.196,174,3.296,175,3.296,176,5.196,177,3.296,178,3.296,179,3.296,180,3.296,181,3.296,182,3.296,183,3.234,184,4.542,185,4.542,186,3.296,187,3.296,188,3.296,189,3.296,190,3.296,191,4.542,192,3.296,193,3.296,194,3.296,508,3.804]],["title/classes/JwksValidationHandler.html",[0,0.196,509,2.8]],["body/classes/JwksValidationHandler.html",[0,0.187,2,1.272,3,0.723,4,0.82,5,0.692,6,2.683,8,2.034,9,1.771,16,3.788,21,0.89,22,1.892,26,3.788,30,1.114,36,0.965,37,1.378,38,0.015,39,1.378,40,0.995,41,1.082,43,1.746,44,2.054,57,4.494,65,2.871,68,1.114,72,0.498,78,2.819,114,0.008,115,0.011,116,0.011,129,3.323,147,1.852,201,2.863,231,2.681,509,4.494,510,4.969,511,3.155,512,4.969,513,5.734,514,4.969,515,5.734,516,2.034,517,4.996,518,2.206,519,5.734,520,2.766,521,1.773,522,1.844,523,5.734,524,4.685,525,4.346,526,3.384,527,4.969,528,4.346,529,4.346,530,1.494,531,3.099,532,2.614,533,1.939,534,3.766,535,3.099,536,2.377,537,3.384,538,2.377,539,3.099,540,3.099,541,1.695,542,1.433,543,3.384,544,4.465,545,3.384,546,2.871,547,2.034,548,1.695,549,3.099,550,1.378,551,3.099,552,3.766,553,2.871,554,0.754,555,3.099,556,3.384,557,3.384,558,3.384,559,4.346,560,4.346]],["title/classes/LoginOptions.html",[0,0.196,561,2.123]],["body/classes/LoginOptions.html",[0,0.222,2,0.59,3,0.541,4,0.38,5,0.321,9,0.821,10,1.661,11,0.722,12,1.594,14,0.693,15,1.073,18,1.222,21,0.413,28,2.248,30,1.046,33,2.028,34,1.385,35,1.385,38,0.016,40,0.955,41,1.351,44,0.722,46,1.699,51,1.073,54,1.451,62,1.893,63,0.753,64,0.753,68,0.35,72,0.713,73,1.77,74,1.451,75,0.899,76,0.899,77,0.899,82,1.385,83,1.549,92,1.661,103,0.413,109,0.465,114,0.004,115,0.006,116,0.004,125,1.165,126,1.031,127,0.639,155,2.01,169,1.753,203,1.991,223,0.943,229,0.781,230,1.215,235,0.899,237,1.594,243,0.879,255,1.22,275,1.325,286,0.858,287,1.325,293,3.058,417,2.008,420,1.268,470,0.722,498,1.999,516,1.031,521,0.813,522,1.22,530,0.693,533,1.451,542,1.376,548,0.786,550,1.91,561,1.522,562,1.043,563,0.495,564,1.522,565,2.196,566,1.913,567,2.117,568,2.117,569,2.117,570,2.117,571,1.824,572,2.117,573,2.015,574,1.613,575,2.82,576,2.49,577,2.16,578,1.684,579,1.83,580,1.684,581,1.451,582,1.684,583,1.999,584,2.196,585,1.684,586,1.949,587,2.43,588,1.684,589,1.522,590,1.599,591,1.684,592,1.599,593,1.031,594,2.015,595,1.215,596,1.451,597,1.684,598,2.117,599,0.99,600,2.015,601,2.196,602,2.196,603,2.456,604,2.307,605,1.684,606,2.43,607,1.684,608,1.684,609,1.684,610,1.684,611,2.015,612,1.385,613,1.385,614,1.325,615,2.43,616,1.684,617,1.599,618,2.015,619,2.094,620,1.684,621,1.073,622,1.599,623,1.599,624,2.576,625,2.057,626,2.094,627,2.015,628,1.522,629,2.01,630,2.015,631,1.684,632,1.385,633,1.599,634,1.118,635,1.451,636,1.684,637,1.684,638,1.684,639,1.684,640,1.451,641,1.684,642,2.015,643,1.451,644,1.684,645,2.531,646,0.858,647,1.684,648,0.943,649,0.786,650,0.899,651,0.943,652,0.991,653,0.991,654,1.043,655,2.666,656,1.043,657,1.043,658,1.043,659,1.043,660,0.991,661,0.821,662,1.043,663,0.693,664,0.858,665,0.899,666,0.858,667,0.991,668,0.991,669,1.385,670,1.684,671,1.684,672,1.684,673,0.991,674,1.043,675,1.043,676,1.043,677,2.666,678,0.899,679,0.639,680,1.043,681,0.991,682,1.043,683,1.043,684,1.043,685,1.522,686,1.325,687,1.684,688,1.742,689,1.599,690,1.043,691,0.943,692,1.043,693,1.043,694,0.858,695,0.639,696,0.665,697,1.043,698,0.899,699,1.043,700,0.639,701,0.722,702,0.639,703,0.991,704,0.753,705,1.043,706,1.043,707,1.043,708,1.043,709,1.043,710,1.043,711,1.043,712,1.043,713,1.043,714,1.043,715,1.043,716,1.043,717,1.043,718,1.043,719,1.043,720,1.043,721,1.043,722,1.043,723,1.043,724,1.043,725,1.043,726,1.043,727,1.043,728,1.043,729,1.043,730,1.043,731,1.043,732,1.043,733,1.043]],["title/injectables/MemoryStorage.html",[126,1.438,673,2.231]],["body/injectables/MemoryStorage.html",[0,0.24,3,0.615,4,0.447,5,0.377,10,1.744,11,0.849,12,0.924,14,0.815,15,0.782,18,1.01,21,0.485,22,1.221,28,2.28,30,0.79,33,1.799,34,1.01,37,1.093,38,0.016,39,1.093,40,0.79,41,0.97,43,1.386,44,0.849,46,1.84,51,1.221,54,1.651,62,1.767,63,0.886,64,0.886,68,0.411,72,0.752,73,1.917,74,1.651,75,1.057,76,1.057,77,1.057,82,1.01,83,1.502,92,1.45,103,0.485,109,0.547,114,0.005,115,0.007,116,0.005,125,1.325,126,1.173,127,0.751,132,1.566,169,2.208,203,1.767,223,1.109,229,0.569,230,0.886,235,1.057,237,1.443,243,0.641,255,1.183,286,2.19,293,3.295,417,2.005,420,0.924,470,0.849,498,1.576,516,0.751,521,0.592,522,0.962,530,0.815,533,1.057,542,1.137,548,0.924,550,1.63,561,1.109,562,1.227,563,0.361,564,1.109,565,1.731,566,1.109,567,1.227,568,1.227,569,1.227,570,1.227,571,1.057,572,1.227,574,1.272,575,2.406,576,2.288,577,1.842,578,1.227,579,1.443,580,1.227,581,1.057,582,1.227,583,1.576,584,1.731,585,1.227,586,1.729,587,1.916,588,1.227,589,1.109,590,1.165,591,1.227,592,1.165,593,0.751,595,0.886,596,1.057,597,1.227,598,1.916,599,0.722,601,1.731,602,1.731,603,2.03,604,1.819,605,1.227,606,1.916,607,1.227,608,1.227,609,1.227,610,1.227,612,1.01,613,1.01,614,0.966,615,2.356,616,1.227,617,1.165,619,1.651,620,1.227,621,0.782,622,1.165,623,1.165,624,2.129,625,1.7,626,1.651,628,1.109,629,1.819,631,1.227,632,1.01,633,1.165,634,0.815,635,1.057,636,1.227,637,1.227,638,1.227,639,1.227,640,1.057,641,1.227,643,1.057,644,1.227,645,2.742,646,1.01,647,1.916,648,1.109,649,0.924,650,1.057,651,1.109,652,1.165,653,1.165,654,1.227,655,2.887,656,1.227,657,1.227,658,1.227,659,1.227,660,1.165,661,0.966,662,1.227,663,0.815,664,1.01,665,1.057,666,1.01,667,1.165,668,1.165,669,1.576,670,2.356,671,2.356,672,2.356,673,1.819,674,1.227,675,1.227,676,1.227,677,2.887,678,1.057,679,0.751,680,1.227,681,1.165,682,1.227,683,1.227,684,1.227,685,1.731,686,1.507,687,1.916,688,1.939,689,1.819,690,1.227,691,1.109,692,1.227,693,1.227,694,1.01,695,0.751,696,0.782,697,1.227,698,1.057,699,1.227,700,0.751,701,0.849,702,0.751,703,1.165,704,0.886,705,1.227,706,1.227,707,1.227,708,1.227,709,1.227,710,1.227,711,1.227,712,1.227,713,1.227,714,1.227,715,1.227,716,1.227,717,1.227,718,1.227,719,1.227,720,1.227,721,1.227,722,1.227,723,1.227,724,1.227,725,1.227,726,1.227,727,1.227,728,1.227,729,1.227,730,1.227,731,1.227,732,1.227,733,1.227,734,3.206,735,3.206,736,3.206,737,2.37,738,2.37,739,2.37]],["title/classes/NullValidationHandler.html",[0,0.196,524,2.998]],["body/classes/NullValidationHandler.html",[0,0.213,2,1.444,3,0.821,4,0.931,5,0.786,6,3.19,8,2.31,9,2.011,12,2.659,14,2.14,16,4.112,21,1.011,22,2.054,26,4.112,30,1.08,37,1.495,38,0.015,39,1.495,40,1.08,41,1.175,43,1.895,44,2.565,57,4.819,65,4.112,68,0.857,72,0.565,103,1.275,114,0.009,115,0.012,116,0.009,231,4.206,511,3.806,524,4.112,526,4.846,576,2.23,740,5.907,741,5.393,742,5.393,743,6.224,744,4.846,745,6.224,746,4.277,747,4.935,748,4.935,749,4.935]],["title/classes/OAuthErrorEvent.html",[0,0.196,750,2.8]],["body/classes/OAuthErrorEvent.html",[0,0.298,2,1.32,3,1.087,4,0.851,5,0.718,10,1.173,30,0.783,37,1.084,38,0.016,39,1.084,40,1.246,41,0.851,46,2.429,64,2.442,72,0.822,114,0.009,115,0.011,116,0.009,129,4.012,201,2.622,259,2.615,530,2.247,750,3.625,751,2.98,752,4.742,753,4.659,754,4.951,755,4.659,756,4.511,757,2.783,758,2.98,759,2.783,760,2.98,761,2.98,762,2.783,763,2.98,764,2.98,765,2.98,766,2.98,767,2.98,768,2.98,769,2.783,770,2.783,771,2.98,772,2.98,773,2.98,774,2.783,775,2.783,776,2.98,777,2.111,778,2.98,779,2.98,780,2.98,781,3.217,782,2.98,783,4.936,784,4.659,785,2.98]],["title/classes/OAuthEvent.html",[0,0.196,752,2.998]],["body/classes/OAuthEvent.html",[0,0.301,2,1.347,3,1.097,4,0.869,5,0.733,10,1.197,30,0.799,37,1.106,38,0.016,39,1.106,40,1.254,41,0.869,46,1.965,64,1.72,72,0.828,114,0.009,115,0.011,116,0.009,129,3.824,201,2.656,259,2.668,530,2.268,750,2.84,751,3.041,752,4.772,753,4.705,754,4.975,755,3.282,757,2.84,758,3.041,759,2.84,760,3.041,761,3.041,762,2.84,763,3.041,764,3.041,765,3.041,766,3.041,767,3.041,768,3.041,769,2.84,770,2.84,771,3.041,772,3.041,773,3.041,774,2.84,775,2.84,776,3.041,777,2.154,778,3.041,779,3.041,780,3.041,781,3.282,782,3.041,783,4.974,784,4.705,785,3.041,786,4.603]],["title/classes/OAuthInfoEvent.html",[0,0.196,785,2.998]],["body/classes/OAuthInfoEvent.html",[0,0.3,2,1.336,3,1.198,4,0.862,5,0.727,10,1.187,30,0.793,37,1.097,38,0.016,39,1.097,40,1.251,41,0.862,46,1.954,64,1.706,72,0.825,114,0.009,115,0.011,116,0.009,129,4.031,201,2.642,259,2.646,530,2.26,750,2.817,751,3.016,752,4.76,753,4.686,754,4.965,755,3.256,757,2.817,758,3.016,759,2.817,760,3.016,761,3.016,762,2.817,763,3.016,764,3.016,765,3.016,766,3.016,767,3.016,768,3.016,769,2.817,770,2.817,771,3.016,772,3.016,773,3.016,774,2.817,775,2.817,776,3.016,777,2.137,778,3.016,779,3.016,780,3.016,781,3.256,782,3.016,783,4.959,784,4.686,785,3.912,787,4.566]],["title/classes/OAuthLogger.html",[0,0.196,653,2.231]],["body/classes/OAuthLogger.html",[0,0.234,2,0.653,3,0.827,4,0.421,5,0.355,9,0.909,10,1.923,11,1.264,12,0.87,14,0.767,15,0.737,18,0.971,21,0.457,22,1.165,28,2.258,30,0.94,33,1.754,34,0.951,37,1.302,38,0.016,39,1.302,40,0.94,41,1.087,43,1.65,44,0.8,46,1.901,51,1.165,54,1.574,62,1.71,63,0.834,64,0.834,68,0.387,72,0.738,73,1.98,74,1.574,75,0.996,76,0.996,77,0.996,82,0.951,83,1.444,92,1.408,103,0.457,109,0.515,114,0.004,115,0.007,116,0.004,125,1.264,126,1.119,127,0.707,169,1.859,203,1.863,223,1.044,229,0.536,230,1.635,235,0.996,237,1.376,243,0.604,255,1.138,286,0.951,293,3.359,417,1.94,420,0.87,470,1.264,498,1.504,516,0.707,521,0.558,522,0.917,530,0.767,533,0.996,542,1.094,548,1.376,550,1.577,561,1.044,562,1.156,563,0.34,564,1.044,565,1.651,566,1.044,567,1.156,568,1.156,569,1.156,570,1.156,571,0.996,572,1.156,574,1.213,575,2.328,576,2.241,577,1.782,578,1.156,579,1.376,580,1.156,581,0.996,582,1.156,583,1.504,584,1.651,585,1.156,586,1.686,587,1.827,588,1.156,589,1.044,590,1.097,591,1.156,592,1.097,593,0.707,595,0.834,596,0.996,597,1.156,598,2.266,599,0.68,601,1.651,602,1.651,603,1.953,604,1.735,605,1.156,606,1.827,607,1.156,608,1.156,609,1.156,610,1.156,612,0.951,613,0.951,614,0.909,615,2.576,616,1.156,617,1.097,619,1.574,620,1.156,621,0.737,622,1.097,623,2.832,624,2.048,625,1.635,626,1.574,628,1.044,629,1.735,631,1.156,632,0.951,633,1.097,634,0.767,635,0.996,636,1.156,637,1.156,638,1.156,639,1.156,640,0.996,641,1.156,643,0.996,644,1.156,645,2.664,646,1.504,647,2.266,648,1.651,649,1.376,650,1.574,651,1.651,652,1.735,653,1.735,654,1.827,655,3.681,656,1.827,657,1.827,658,1.827,659,1.827,660,1.097,661,0.909,662,1.156,663,0.767,664,0.951,665,0.996,666,0.951,667,1.097,668,1.097,669,1.504,670,1.827,671,1.827,672,1.827,673,1.097,674,1.156,675,1.156,676,1.156,677,2.806,678,0.996,679,0.707,680,1.156,681,1.097,682,1.156,683,1.156,684,1.156,685,1.651,686,1.438,687,1.827,688,1.865,689,1.735,690,1.156,691,1.044,692,1.156,693,1.156,694,0.951,695,0.707,696,0.737,697,1.156,698,0.996,699,1.156,700,0.707,701,0.8,702,0.707,703,1.097,704,0.834,705,1.156,706,1.156,707,1.156,708,1.156,709,1.156,710,1.156,711,1.156,712,1.156,713,1.156,714,1.156,715,1.156,716,1.156,717,1.156,718,1.156,719,1.156,720,1.156,721,1.156,722,1.156,723,1.156,724,1.156,725,1.156,726,1.156,727,1.156,728,1.156,729,1.156,730,1.156,731,1.156,732,1.156,733,1.156,788,3.529,789,3.058,790,3.529,791,2.232,792,4.218,793,2.232,794,2.232,795,2.232,796,2.232]],["title/modules/OAuthModule.html",[797,3.533,798,2.998]],["body/modules/OAuthModule.html",[0,0.216,3,0.832,4,0.944,5,0.796,22,1.651,30,0.868,35,2.131,37,1.202,38,0.016,39,1.202,40,0.868,41,0.944,43,1.523,68,1.286,72,0.573,103,1.024,114,0.009,115,0.012,116,0.009,127,1.585,207,4.438,231,3.085,232,3.552,233,3.894,255,1.3,287,2.037,511,2.459,524,4.531,530,2.158,740,4.333,798,4.531,799,3.894,800,6.276,801,5.001,802,6.276,803,5.438,804,5.001,805,6.233,806,5.001,807,3.432,808,6.858,809,5.341,810,6.276,811,4.333,812,3.894,813,2.459,814,3.894,815,3.894,816,5.001,817,3.304,818,4.333]],["title/classes/OAuthModuleConfig.html",[0,0.196,207,2.8]],["body/classes/OAuthModuleConfig.html",[0,0.287,2,1.606,3,0.913,4,1.036,5,0.874,10,1.728,21,1.124,28,1.544,30,0.952,38,0.015,40,0.952,63,2.05,72,0.761,92,1.427,114,0.01,115,0.013,116,0.01,207,4.1,237,2.592,243,1.484,249,4.39,275,2.707,457,3.385,576,1.966,586,1.606,819,5.758,820,4.755,821,5.097,822,5.566,823,5.487,824,3.912,825,4.273,826,4.755,827,4.755,828,4.273,829,3.625,830,3.912,831,4.755]],["title/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.196,832,3.235]],["body/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.282,2,1.564,3,0.889,4,1.009,5,0.851,8,2.501,10,1.7,14,2.248,21,1.094,22,2.158,30,0.928,37,1.284,38,0.015,39,1.284,40,0.928,41,1.009,43,1.628,68,1.135,72,0.749,103,1.094,114,0.01,115,0.012,116,0.01,205,4.668,215,4.864,218,3.098,220,3.811,229,1.571,230,2.444,531,3.811,746,4.631,832,4.663,833,5.667,834,5.667,835,5.502,836,5.881,837,4.631,838,4.631]],["title/classes/OAuthResourceServerConfig.html",[0,0.196,822,3.533]],["body/classes/OAuthResourceServerConfig.html",[0,0.274,2,1.493,3,0.849,4,0.963,5,0.813,10,1.652,21,1.045,28,1.435,30,1.201,38,0.015,40,1.201,41,1.367,63,2.375,72,0.728,92,1.652,114,0.01,115,0.012,116,0.01,155,2.509,207,3.148,237,2.7,243,1.38,249,4.924,275,2.589,457,3.921,576,2.277,586,1.86,819,6.278,820,4.422,821,3.638,822,5.39,824,4.532,825,4.949,826,5.507,827,5.507,828,4.949,829,4.198,830,4.935,831,5.998,839,5.102,840,5.102,841,5.102]],["title/classes/OAuthResourceServerErrorHandler.html",[0,0.196,205,2.998]],["body/classes/OAuthResourceServerErrorHandler.html",[0,0.282,2,1.564,3,0.889,4,1.009,5,0.851,8,2.501,10,1.914,14,1.837,21,1.094,22,2.158,30,0.928,37,1.284,38,0.015,39,1.284,40,0.928,41,1.009,43,1.628,68,1.135,72,0.749,103,1.094,114,0.01,115,0.012,116,0.01,205,4.668,215,4.864,218,3.098,220,3.811,229,1.571,230,2.444,531,3.811,832,3.811,833,5.667,834,5.667,835,5.502,836,5.881,837,4.631,838,4.631,842,5.344]],["title/classes/OAuthStorage.html",[0,0.196,669,1.933]],["body/classes/OAuthStorage.html",[0,0.238,2,0.678,3,0.604,4,0.437,5,0.369,9,0.944,10,1.88,11,0.83,12,0.903,14,0.796,15,0.765,18,0.995,21,0.474,22,1.199,28,2.277,30,0.778,33,1.782,34,0.987,37,1.077,38,0.016,39,1.077,40,0.778,41,0.958,43,1.365,44,0.83,46,1.82,51,1.199,54,1.621,62,1.746,63,0.866,64,0.866,68,0.402,72,0.746,73,1.896,74,1.621,75,1.034,76,1.034,77,1.034,82,0.987,83,1.676,92,1.434,103,0.474,109,0.535,114,0.004,115,0.007,116,0.004,125,1.302,126,1.152,127,0.734,169,2.187,203,1.746,223,1.084,229,0.557,230,0.866,235,1.034,237,1.417,243,0.626,255,1.166,286,2.163,293,3.277,417,1.98,420,0.903,470,0.83,498,1.548,516,0.734,521,0.579,522,0.945,530,1.249,533,1.034,542,1.121,548,0.903,550,1.609,561,1.084,562,1.2,563,0.353,564,1.084,565,1.7,566,1.084,567,1.2,568,1.2,569,1.2,570,1.2,571,1.034,572,1.2,574,1.249,575,2.376,576,2.334,577,1.819,578,1.2,579,1.417,580,1.2,581,1.034,582,1.2,583,1.548,584,1.7,585,1.2,586,1.713,587,1.882,588,1.2,589,1.084,590,1.139,591,1.2,592,1.139,593,0.734,595,0.866,596,1.034,597,1.2,598,1.882,599,0.705,601,1.7,602,1.7,603,2.001,604,1.787,605,1.2,606,1.882,607,1.2,608,1.2,609,1.2,610,1.2,612,0.987,613,0.987,614,0.944,615,2.629,616,1.2,617,1.139,619,1.621,620,1.2,621,0.765,622,1.139,623,1.139,624,2.098,625,1.675,626,1.621,628,1.084,629,1.787,631,1.2,632,0.987,633,1.139,634,0.796,635,1.034,636,1.2,637,1.2,638,1.2,639,1.2,640,1.034,641,1.2,643,1.034,644,1.2,645,2.712,646,0.987,647,2.322,648,1.084,649,0.903,650,1.034,651,1.084,652,1.139,653,1.139,654,1.2,655,2.856,656,1.2,657,1.2,658,1.2,659,1.2,660,1.787,661,1.48,662,1.882,663,1.249,664,1.548,665,1.621,666,1.548,667,1.787,668,1.787,669,1.91,670,2.322,671,2.322,672,2.322,673,1.139,674,1.2,675,1.2,676,1.2,677,2.856,678,1.034,679,0.734,680,1.2,681,1.139,682,1.2,683,1.2,684,1.2,685,1.7,686,1.48,687,1.882,688,1.91,689,1.787,690,1.2,691,1.084,692,1.2,693,1.2,694,0.987,695,0.734,696,0.765,697,1.2,698,1.034,699,1.2,700,0.734,701,0.83,702,0.734,703,1.139,704,0.866,705,1.2,706,1.2,707,1.2,708,1.2,709,1.2,710,1.2,711,1.2,712,1.2,713,1.2,714,1.2,715,1.2,716,1.2,717,1.2,718,1.2,719,1.2,720,1.2,721,1.2,722,1.2,723,1.2,724,1.2,725,1.2,726,1.2,727,1.2,728,1.2,729,1.2,730,1.2,731,1.2,732,1.2,733,1.2,734,3.149,735,3.149,736,3.149,843,2.316,844,2.316,845,2.316]],["title/classes/OAuthSuccessEvent.html",[0,0.196,782,2.998]],["body/classes/OAuthSuccessEvent.html",[0,0.3,2,1.336,3,1.198,4,0.862,5,0.727,10,1.187,30,0.793,37,1.097,38,0.016,39,1.097,40,1.251,41,0.862,46,1.954,64,1.706,72,0.825,114,0.009,115,0.011,116,0.009,129,4.031,201,2.642,259,2.646,530,2.26,750,2.817,751,3.016,752,4.76,753,4.686,754,4.965,755,3.256,757,2.817,758,3.016,759,2.817,760,3.016,761,3.016,762,2.817,763,3.016,764,3.016,765,3.016,766,3.016,767,3.016,768,3.016,769,2.817,770,2.817,771,3.016,772,3.016,773,3.016,774,2.817,775,2.817,776,3.016,777,2.137,778,3.016,779,3.016,780,3.016,781,3.256,782,3.912,783,4.959,784,4.686,785,3.016,846,4.566]],["title/interfaces/OidcDiscoveryDoc.html",[73,1.56,703,2.231]],["body/interfaces/OidcDiscoveryDoc.html",[0,0.222,3,0.542,4,0.382,5,0.322,9,0.824,10,1.663,11,0.724,12,0.789,14,0.695,15,0.667,18,0.91,21,0.414,28,2.306,33,1.679,34,0.861,38,0.016,40,1.322,41,0.382,44,0.724,46,1.702,51,1.076,54,1.455,62,1.616,63,0.756,64,0.756,68,0.351,72,0.714,73,1.773,74,1.455,75,0.902,76,0.902,77,0.902,82,0.861,83,1.353,92,1.341,103,0.414,109,0.467,114,0.004,115,0.006,116,0.004,125,1.168,126,1.034,127,0.641,169,1.757,203,1.616,223,0.946,229,0.486,230,0.756,235,0.902,237,1.834,243,0.547,255,1.065,275,1.329,286,0.861,293,3.061,417,1.834,420,0.789,470,0.724,498,1.389,516,0.641,521,0.505,522,0.848,530,0.695,533,0.902,542,1.024,548,0.789,550,1.49,561,0.946,562,1.047,563,0.308,564,0.946,565,1.526,566,0.946,567,1.047,568,1.047,569,1.047,570,1.047,571,0.902,572,1.047,574,1.121,575,2.2,576,2.162,577,1.685,578,1.047,579,1.272,580,1.047,581,0.902,582,1.047,583,1.389,584,1.526,585,1.047,586,1.614,587,1.689,588,1.047,589,0.946,590,0.994,591,1.047,592,0.994,593,0.641,595,0.756,596,0.902,597,1.047,598,1.689,599,0.616,601,1.526,602,1.526,603,1.829,604,1.604,605,1.047,606,1.689,607,1.047,608,1.047,609,1.047,610,1.047,612,0.861,613,0.861,614,0.824,615,2.122,616,1.047,617,0.994,619,1.455,620,1.047,621,0.667,622,0.994,623,0.994,624,1.918,625,1.531,626,1.455,628,0.946,629,1.604,631,1.047,632,0.861,633,0.994,634,0.695,635,0.902,636,1.047,637,1.047,638,1.047,639,1.047,640,0.902,641,1.047,643,0.902,644,1.047,645,2.536,646,0.861,647,1.689,648,0.946,649,0.789,650,0.902,651,0.946,652,0.994,653,0.994,654,1.047,655,2.671,656,1.047,657,1.047,658,1.047,659,1.047,660,0.994,661,0.824,662,1.047,663,0.695,664,0.861,665,0.902,666,0.861,667,0.994,668,0.994,669,1.389,670,1.689,671,1.689,672,1.689,673,0.994,674,1.047,675,1.047,676,1.047,677,2.855,678,0.902,679,0.641,680,1.047,681,0.994,682,1.047,683,1.047,684,1.047,685,1.526,686,1.329,687,1.689,688,2.003,689,1.604,690,1.047,691,0.946,692,1.047,693,1.047,694,0.861,695,0.641,696,0.667,697,1.047,698,0.902,699,1.047,700,1.034,701,1.168,702,1.034,703,1.604,704,1.757,705,2.435,706,2.435,707,2.435,708,2.435,709,2.435,710,2.435,711,2.435,712,2.435,713,2.435,714,2.435,715,2.435,716,2.435,717,2.435,718,2.435,719,2.435,720,2.435,721,2.435,722,2.435,723,2.435,724,2.435,725,2.435,726,2.435,727,2.435,728,2.435,729,2.435,730,2.435,731,2.435,732,2.435,733,2.435,847,1.247]],["title/interfaces/ParsedIdToken.html",[73,1.56,681,2.231]],["body/interfaces/ParsedIdToken.html",[0,0.241,3,0.618,4,0.45,5,0.379,9,0.971,10,1.747,11,0.854,12,0.929,14,0.819,15,0.786,18,1.013,21,0.488,28,2.277,33,1.803,34,1.015,38,0.016,40,1.028,41,0.45,44,0.854,46,2.169,51,1.507,54,2.037,62,1.772,63,0.89,64,0.89,68,0.414,72,0.753,73,1.922,74,2.494,75,1.063,76,2.3,77,2.3,82,1.015,83,1.507,92,1.453,103,0.488,109,0.55,114,0.005,115,0.007,116,0.005,125,1.847,126,1.177,127,0.755,169,1.927,203,1.772,223,1.115,229,0.572,230,0.89,235,1.063,237,1.449,243,0.644,255,1.187,275,1.513,286,1.015,293,3.203,417,2.011,420,0.929,470,0.854,498,1.583,516,0.755,521,0.595,522,0.966,530,0.819,533,1.063,542,1.141,548,0.929,550,1.634,561,1.115,562,1.234,563,0.363,564,1.115,565,1.738,566,1.115,567,1.234,568,1.234,569,1.234,570,1.234,571,1.063,572,1.234,574,1.277,575,2.413,576,2.292,577,1.847,578,1.234,579,1.449,580,1.234,581,1.063,582,1.234,583,1.583,584,1.738,585,1.234,586,1.733,587,1.924,588,1.234,589,1.115,590,1.172,591,1.234,592,1.172,593,0.755,595,0.89,596,1.063,597,1.234,598,1.924,599,0.726,601,1.738,602,1.738,603,2.037,604,1.827,605,1.234,606,1.924,607,1.234,608,1.234,609,1.234,610,1.234,612,1.015,613,1.015,614,0.971,615,2.364,616,1.234,617,1.172,619,1.657,620,1.234,621,0.786,622,1.172,623,1.172,624,2.136,625,1.706,626,1.657,628,1.115,629,2.245,631,1.234,632,1.015,633,1.172,634,0.819,635,1.063,636,1.234,637,1.234,638,1.234,639,1.234,640,1.063,641,1.234,643,1.063,644,1.234,645,2.748,646,1.015,647,1.924,648,1.115,649,0.929,650,1.063,651,1.115,652,1.172,653,1.172,654,1.234,655,2.894,656,1.234,657,1.234,658,1.234,659,1.234,660,1.172,661,0.971,662,1.234,663,0.819,664,1.015,665,1.063,666,1.015,667,1.172,668,1.172,669,1.583,670,1.924,671,1.924,672,1.924,673,1.172,674,1.234,675,1.234,676,1.234,677,3.066,678,1.063,679,0.755,680,1.234,681,1.827,682,2.67,683,2.67,684,2.67,685,1.738,686,1.513,687,1.924,688,1.945,689,1.827,690,1.234,691,1.115,692,1.234,693,1.234,694,1.015,695,0.755,696,0.786,697,1.234,698,1.063,699,1.234,700,0.755,701,0.854,702,0.755,703,1.172,704,0.89,705,1.234,706,1.234,707,1.234,708,1.234,709,1.234,710,1.234,711,1.234,712,1.234,713,1.234,714,1.234,715,1.234,716,1.234,717,1.234,718,1.234,719,1.234,720,1.234,721,1.234,722,1.234,723,1.234,724,1.234,725,1.234,726,1.234,727,1.234,728,1.234,729,1.234,730,1.234,731,1.234,732,1.234,733,1.234,847,1.47]],["title/classes/ReceivedTokens.html",[0,0.196,645,2.231]],["body/classes/ReceivedTokens.html",[0,0.242,2,0.701,3,0.62,4,0.452,5,0.381,9,0.976,10,1.75,11,0.858,12,0.934,14,0.823,15,0.791,18,1.017,21,0.491,28,2.273,30,0.897,33,1.807,34,1.021,38,0.016,40,0.897,41,1.057,44,0.858,46,1.959,51,1.231,54,2.044,62,2.04,63,0.895,64,0.895,68,0.416,72,0.754,73,1.926,74,2.307,75,2.044,76,1.069,77,1.069,82,1.021,83,1.706,92,1.457,103,0.491,109,0.553,114,0.005,115,0.007,116,0.005,125,1.336,126,1.182,127,0.759,169,1.932,203,1.778,223,1.121,229,0.575,230,0.895,235,1.069,237,1.455,243,0.648,255,1.344,275,1.52,286,1.021,293,3.208,417,2.416,420,0.934,470,0.858,498,1.589,516,0.759,521,0.599,522,0.97,530,0.823,533,1.069,542,1.145,548,0.934,550,1.639,561,1.121,562,1.24,563,0.365,564,1.121,565,1.745,566,1.121,567,1.24,568,1.24,569,1.24,570,1.24,571,1.069,572,1.24,574,1.282,575,2.42,576,2.296,577,1.853,578,1.24,579,1.455,580,1.24,581,1.069,582,1.24,583,1.589,584,1.745,585,1.24,586,1.737,587,1.932,588,1.24,589,1.121,590,1.178,591,1.24,592,1.178,593,0.759,595,0.895,596,1.069,597,1.24,598,1.932,599,0.729,601,1.745,602,1.745,603,2.044,604,1.834,605,1.24,606,1.932,607,1.24,608,1.24,609,1.24,610,1.24,612,1.021,613,1.021,614,0.976,615,2.372,616,1.24,617,1.178,619,1.664,620,1.24,621,0.791,622,1.178,623,1.178,624,2.144,625,1.712,626,1.664,628,1.121,629,1.834,631,1.24,632,1.021,633,1.178,634,0.823,635,1.069,636,1.24,637,1.24,638,1.24,639,1.24,640,1.069,641,1.24,643,1.069,644,1.24,645,2.918,646,1.021,647,1.932,648,1.121,649,0.934,650,1.069,651,1.121,652,1.178,653,1.178,654,1.24,655,2.902,656,1.24,657,1.24,658,1.24,659,1.24,660,1.178,661,0.976,662,1.24,663,0.823,664,1.021,665,1.069,666,1.021,667,1.178,668,1.178,669,1.589,670,1.932,671,1.932,672,1.932,673,1.178,674,1.24,675,1.24,676,1.24,677,3.073,678,1.664,679,1.182,680,2.372,681,1.178,682,1.24,683,1.24,684,1.24,685,1.745,686,1.52,687,1.932,688,1.952,689,1.834,690,1.24,691,1.121,692,1.24,693,1.24,694,1.021,695,0.759,696,0.791,697,1.24,698,1.069,699,1.24,700,0.759,701,0.858,702,0.759,703,1.178,704,0.895,705,1.24,706,1.24,707,1.24,708,1.24,709,1.24,710,1.24,711,1.24,712,1.24,713,1.24,714,1.24,715,1.24,716,1.24,717,1.24,718,1.24,719,1.24,720,1.24,721,1.24,722,1.24,723,1.24,724,1.24,725,1.24,726,1.24,727,1.24,728,1.24,729,1.24,730,1.24,731,1.24,732,1.24,733,1.24,848,2.395,849,2.395,850,2.395,851,2.395]],["title/injectables/SystemDateTimeProvider.html",[126,1.438,128,3.533]],["body/injectables/SystemDateTimeProvider.html",[0,0.281,3,0.883,4,1.001,5,0.845,10,1.831,21,1.087,22,2.149,30,1.13,38,0.015,43,1.983,68,0.921,72,0.746,103,1.333,109,1.772,114,0.01,115,0.012,116,0.01,117,5.375,118,4.598,119,2.902,120,4.598,121,5.375,123,6.365,125,2.524,126,2.064,127,1.682,128,5.07,129,3.774,130,4.598,132,3.506,527,5.642,852,5.306,853,5.306]],["title/interfaces/TokenResponse.html",[73,1.56,691,2.123]],["body/interfaces/TokenResponse.html",[0,0.239,3,0.611,4,0.444,5,0.374,9,0.958,10,1.74,11,0.842,12,0.917,14,0.808,15,0.776,18,1.004,21,0.481,28,2.283,33,1.793,34,1.001,38,0.016,40,1.068,41,0.854,44,0.842,46,1.833,51,1.833,54,1.64,62,1.759,63,1.912,64,0.878,68,0.408,72,0.75,73,1.909,74,1.64,75,1.049,76,1.049,77,1.049,82,1.001,83,1.494,92,1.444,103,0.481,109,0.543,114,0.004,115,0.007,116,0.004,125,1.834,126,1.165,127,0.745,169,1.912,203,1.759,223,1.1,229,0.565,230,0.878,235,1.049,237,1.433,243,0.636,255,1.33,275,1.497,286,1.001,293,3.192,417,2.399,420,0.917,470,0.842,498,1.566,516,0.745,521,0.587,522,0.955,530,0.808,533,1.049,542,1.131,548,0.917,550,1.622,561,1.1,562,1.217,563,0.358,564,1.1,565,1.72,566,1.1,567,1.217,568,1.217,569,1.217,570,1.217,571,1.049,572,1.217,574,1.264,575,2.395,576,2.281,577,1.834,578,1.217,579,1.433,580,1.217,581,1.049,582,1.217,583,1.566,584,1.72,585,1.217,586,1.723,587,1.903,588,1.217,589,1.1,590,1.156,591,1.217,592,1.156,593,0.745,595,0.878,596,1.049,597,1.217,598,1.903,599,0.716,601,1.72,602,1.72,603,2.019,604,1.807,605,1.217,606,1.903,607,1.217,608,1.217,609,1.217,610,1.217,612,1.001,613,1.001,614,0.958,615,2.344,616,1.217,617,1.156,619,1.64,620,1.217,621,0.776,622,1.156,623,1.156,624,2.118,625,1.691,626,1.64,628,1.1,629,1.807,631,1.217,632,1.001,633,1.156,634,0.808,635,1.049,636,1.217,637,1.217,638,1.217,639,1.217,640,1.049,641,1.217,643,1.049,644,1.217,645,2.731,646,1.001,647,1.903,648,1.1,649,0.917,650,1.049,651,1.1,652,1.156,653,1.156,654,1.217,655,2.876,656,1.217,657,1.217,658,1.217,659,1.217,660,1.156,661,0.958,662,1.217,663,0.808,664,1.001,665,1.049,666,1.001,667,1.156,668,1.156,669,1.566,670,1.903,671,1.903,672,1.903,673,1.156,674,1.217,675,1.217,676,1.217,677,3.049,678,1.049,679,0.745,680,1.217,681,1.156,682,1.217,683,1.217,684,1.217,685,2.118,686,1.844,687,2.344,688,2.181,689,2.225,690,1.903,691,1.72,692,2.65,693,2.65,694,2.181,695,1.622,696,0.776,697,1.217,698,1.049,699,1.217,700,0.745,701,0.842,702,0.745,703,1.156,704,0.878,705,1.217,706,1.217,707,1.217,708,1.217,709,1.217,710,1.217,711,1.217,712,1.217,713,1.217,714,1.217,715,1.217,716,1.217,717,1.217,718,1.217,719,1.217,720,1.217,721,1.217,722,1.217,723,1.217,724,1.217,725,1.217,726,1.217,727,1.217,728,1.217,729,1.217,730,1.217,731,1.217,732,1.217,733,1.217,847,1.45]],["title/injectables/UrlHelperService.html",[126,1.438,854,3.932]],["body/injectables/UrlHelperService.html",[0,0.201,3,0.777,4,0.881,5,0.744,21,0.956,22,1.983,28,2.09,30,1.043,33,2.136,35,1.99,37,1.444,38,0.016,39,1.444,40,1.043,41,1.134,43,1.83,46,2.315,68,0.811,72,0.535,84,4.063,103,1.361,114,0.009,115,0.011,116,0.009,126,1.905,127,1.48,132,3.085,147,2.56,164,3.112,169,2.245,286,1.99,434,3.286,530,1.605,566,2.812,589,2.812,792,3.636,854,5.207,855,6.643,856,4.67,857,6.008,858,6.008,859,6.008,860,4.67,861,6.008,862,4.67,863,4.67,864,4.67,865,6.008,866,6.008,867,4.67,868,4.67,869,4.67,870,6.008,871,4.67,872,4.67,873,4.67,874,4.67,875,4.67]],["title/interfaces/UserInfo.html",[73,1.56,698,2.025]],["body/interfaces/UserInfo.html",[0,0.244,3,0.772,4,0.462,5,0.39,9,0.997,10,1.76,11,0.877,12,0.954,14,0.841,15,0.808,18,1.031,21,0.501,28,2.275,30,0.425,33,1.823,34,1.043,38,0.016,40,0.425,41,0.462,44,0.877,46,1.868,51,1.252,54,1.692,62,1.798,63,0.914,64,0.914,68,0.425,72,0.759,73,1.946,74,1.692,75,1.092,76,1.092,77,1.092,82,1.043,83,1.533,92,1.471,103,0.501,109,0.565,114,0.005,115,0.007,116,0.005,125,1.359,126,1.202,127,0.776,169,1.954,203,1.798,223,1.145,229,0.588,230,0.914,235,1.092,237,1.479,243,0.662,255,1.207,275,1.545,286,1.616,293,3.226,417,2.04,420,0.954,470,0.877,498,1.616,516,0.776,521,0.612,522,0.986,530,0.841,533,1.092,542,1.161,548,0.954,550,1.658,561,1.145,562,1.267,563,0.373,564,1.145,565,1.775,566,1.145,567,1.267,568,1.267,569,1.267,570,1.267,571,1.092,572,1.267,574,1.304,575,2.448,576,2.312,577,1.874,578,1.267,579,1.479,580,1.267,581,1.092,582,1.267,583,1.616,584,1.775,585,1.267,586,1.752,587,1.964,588,1.267,589,1.145,590,1.203,591,1.267,592,1.203,593,0.776,595,0.914,596,1.092,597,1.267,598,1.964,599,0.745,601,1.775,602,1.775,603,2.072,604,1.865,605,1.267,606,1.964,607,1.267,608,1.267,609,1.267,610,1.267,612,1.043,613,1.043,614,0.997,615,2.405,616,1.267,617,1.203,619,1.692,620,1.267,621,0.808,622,1.203,623,1.203,624,2.173,625,1.735,626,1.692,628,1.145,629,1.865,631,1.267,632,1.043,633,1.203,634,0.841,635,1.092,636,1.267,637,1.267,638,1.267,639,1.267,640,1.092,641,1.267,643,1.092,644,1.267,645,2.783,646,1.043,647,1.964,648,1.145,649,0.954,650,1.092,651,1.145,652,1.203,653,1.203,654,1.267,655,2.931,656,1.267,657,1.267,658,1.267,659,1.267,660,1.203,661,0.997,662,1.267,663,0.841,664,1.043,665,1.092,666,1.043,667,1.203,668,1.203,669,1.616,670,1.964,671,1.964,672,1.964,673,1.203,674,1.267,675,1.267,676,1.267,677,3.1,678,1.092,679,0.776,680,1.267,681,1.203,682,1.267,683,1.267,684,1.267,685,2.173,686,1.892,687,2.405,688,2.229,689,2.283,690,1.267,691,1.145,692,1.267,693,1.267,694,1.043,695,0.776,696,1.252,697,1.964,698,1.692,699,2.709,700,0.776,701,0.877,702,0.776,703,1.203,704,0.914,705,1.267,706,1.267,707,1.267,708,1.267,709,1.267,710,1.267,711,1.267,712,1.267,713,1.267,714,1.267,715,1.267,716,1.267,717,1.267,718,1.267,719,1.267,720,1.267,721,1.267,722,1.267,723,1.267,724,1.267,725,1.267,726,1.267,727,1.267,728,1.267,729,1.267,730,1.267,731,1.267,732,1.267,733,1.267,847,1.51,876,2.447,877,2.447]],["title/classes/ValidationHandler.html",[0,0.196,12,1.77]],["body/classes/ValidationHandler.html",[0,0.209,1,2.43,2,0.997,3,0.567,4,0.643,5,0.543,6,2.644,7,4.4,8,1.595,9,1.388,10,1.932,11,1.221,12,2.402,13,1.864,14,1.668,15,1.602,16,4.068,17,1.676,18,1.077,19,2.43,20,3.206,21,0.698,22,1.602,23,3.778,25,2.43,26,3.733,28,1.903,29,4.068,30,0.842,32,2.653,33,1.721,34,2.068,35,1.452,36,0.756,37,1.166,38,0.016,39,1.358,40,0.842,41,0.916,42,3.206,43,1.478,44,2.549,45,2.653,46,2.032,48,2.653,49,4.4,50,2.653,51,2.297,52,2.653,53,2.653,54,1.521,55,2.251,56,2.653,57,4.669,59,4.823,60,4.64,61,4.029,62,1.943,63,2.112,65,3.206,67,3.733,68,0.591,69,2.43,70,2.43,71,2.653,72,0.647,73,1.943,74,1.521,75,1.521,76,1.521,77,1.521,78,1.676,79,2.653,80,3.778,81,3.778,82,2.068,83,1.602,84,3.699,85,3.778,86,2.653,87,2.653,88,2.251,89,2.653,90,2.653,91,2.653,92,0.886,93,2.653,94,2.653,95,2.653,96,2.103,97,4.795,98,2.653,99,4.795,100,2.653,101,2.653,102,2.653,103,0.994,104,4.4,105,2.653,106,2.653,107,2.653,108,2.251,109,0.787,110,2.653,111,2.251,112,2.103,113,2.653,114,0.006,115,0.009,116,0.006,526,2.653,878,3.408,879,3.408]],["title/interfaces/ValidationParams.html",[57,2.8,73,1.56]],["body/interfaces/ValidationParams.html",[0,0.213,1,2.494,3,0.582,4,0.66,5,0.557,6,1.637,7,2.723,8,1.637,10,1.823,11,1.253,12,2.236,13,1.913,14,1.699,15,1.631,16,3.265,17,1.72,18,1.097,19,2.494,20,3.265,21,0.716,23,3.849,25,2.494,26,2.311,28,2.077,29,4.116,32,2.723,33,1.746,34,2.106,35,1.49,36,0.776,38,0.016,39,0.84,40,1.184,42,3.265,44,2.444,45,2.723,46,2.437,48,2.723,49,4.464,50,2.723,51,2.169,52,2.723,53,2.723,54,1.561,55,2.311,56,2.723,57,4.419,59,4.442,60,4.442,61,3.524,62,1.699,63,1.847,65,2.311,67,3.265,68,0.607,69,2.494,70,2.494,71,2.723,72,0.657,73,1.699,74,2.78,75,2.78,76,2.78,77,2.78,78,3.063,79,4.851,80,2.723,81,2.723,82,1.49,83,1.154,84,2.703,85,3.849,86,2.723,87,2.723,88,2.311,89,2.723,90,2.723,91,2.723,92,0.909,93,2.723,94,2.723,95,2.723,96,2.158,97,4.851,98,2.723,99,4.851,100,2.723,101,2.723,102,2.723,103,1.012,104,4.464,105,2.723,106,2.723,107,2.723,108,2.311,109,0.808,110,2.723,111,2.311,112,2.158,113,2.723,114,0.007,115,0.009,116,0.007,155,2.43,275,2.014,847,2.158]],["title/classes/WebHttpUrlEncodingCodec.html",[0,0.196,880,3.932]],["body/classes/WebHttpUrlEncodingCodec.html",[0,0.199,2,1.35,3,0.767,4,0.87,5,0.735,9,1.879,14,2.049,21,0.945,22,1.967,28,2.266,30,1.212,37,1.677,38,0.016,39,1.677,40,1.212,41,1.318,43,2.126,68,0.801,72,0.528,103,1.43,114,0.009,115,0.011,116,0.009,165,4.25,218,2.673,305,4.25,374,4.25,574,2.049,576,2.136,880,5.165,881,4.612,882,5.961,883,5.961,884,5.961,885,6.604,886,5.961,887,5.961,888,5.961,889,5.961,890,5.961,891,4.612,892,5.961,893,4.612,894,5.961,895,4.612,896,5.961,897,4.612,898,4.612,899,4.612,900,4.612,901,4.612]],["title/changelog.html",[902,2.287,903,2.607,904,3.42]],["body/changelog.html",[5,0.783,13,1.195,17,2.122,18,1.328,33,1.497,36,1.266,37,0.525,38,0.009,40,0.602,41,0.412,51,0.721,64,2.132,78,1.074,83,0.721,92,0.902,109,0.801,112,1.348,114,0.004,115,0.007,116,0.004,117,1.557,119,1.195,121,2.473,145,1.443,146,1.557,161,1.443,183,2.14,201,0.975,229,0.525,230,0.816,231,1.348,232,2.545,234,4.069,237,0.852,243,1.45,255,1.555,282,3.077,287,1.758,303,1.701,380,2.14,402,1.701,404,2.473,417,2.555,420,1.353,431,1.557,433,2.473,451,2.851,511,1.074,520,0.852,521,1.495,532,0.89,536,2.36,541,1.917,542,1.786,545,2.701,548,1.683,550,2.266,564,1.022,566,1.022,574,1.843,577,0.783,579,2.091,581,2.669,583,2.094,589,1.623,592,1.074,599,1.633,601,1.022,602,1.022,617,1.074,621,0.721,633,1.074,634,1.193,661,0.89,679,0.692,685,1.022,686,1.758,691,1.022,694,1.478,698,0.975,702,1.1,777,2.509,825,1.701,904,1.893,905,2.184,906,2.184,907,2.184,908,4.645,909,4.645,910,2.184,911,2.184,912,5.982,913,2.184,914,2.184,915,2.184,916,2.184,917,2.184,918,2.184,919,2.184,920,2.184,921,2.184,922,2.184,923,2.184,924,2.184,925,2.184,926,2.184,927,5.361,928,2.184,929,2.184,930,2.184,931,2.184,932,2.184,933,3.077,934,2.184,935,2.184,936,2.184,937,2.184,938,2.184,939,2.184,940,1.557,941,2.184,942,1.195,943,2.184,944,2.184,945,5.706,946,2.184,947,2.184,948,2.184,949,2.184,950,2.184,951,0.89,952,2.184,953,3.469,954,2.184,955,2.184,956,2.184,957,2.184,958,4.645,959,2.184,960,2.184,961,2.184,962,1.266,963,2.184,964,2.473,965,2.184,966,2.184,967,1.893,968,2.184,969,4.945,970,2.184,971,2.184,972,1.701,973,2.184,974,3.504,975,1.195,976,2.184,977,4.266,978,2.184,979,2.184,980,2.184,981,2.184,982,2.184,983,1.701,984,1.893,985,3.739,986,2.184,987,2.184,988,2.184,989,2.184,990,2.184,991,1.557,992,2.184,993,2.184,994,4.315,995,5.982,996,4.315,997,4.315,998,3.469,999,2.184,1000,2.184,1001,2.184,1002,2.184,1003,2.184,1004,2.184,1005,3.469,1006,3.469,1007,2.184,1008,2.184,1009,2.184,1010,2.184,1011,2.184,1012,2.184,1013,2.184,1014,2.184,1015,4.315,1016,3.469,1017,2.184,1018,3.469,1019,2.184,1020,2.184,1021,2.184,1022,4.315,1023,2.184,1024,2.184,1025,3.006,1026,2.184,1027,2.184,1028,2.184,1029,2.184,1030,2.184,1031,2.184,1032,3.469,1033,4.315,1034,4.315,1035,4.315,1036,2.184,1037,1.701,1038,2.184,1039,4.914,1040,2.184,1041,2.184,1042,2.184,1043,2.184,1044,2.184,1045,2.184,1046,2.184,1047,2.184,1048,4.315,1049,3.469,1050,2.184,1051,2.184,1052,2.184,1053,3.469,1054,2.184,1055,2.184,1056,1.893,1057,2.184,1058,2.184,1059,2.184,1060,2.184,1061,2.184,1062,3.006,1063,2.184,1064,3.739,1065,3.36,1066,4.315,1067,2.184,1068,4.315,1069,3.739,1070,3.077,1071,4.315,1072,2.184,1073,1.893,1074,2.184,1075,2.184,1076,2.36,1077,1.557,1078,2.184,1079,1.893,1080,3.469,1081,3.469,1082,3.469,1083,3.469,1084,3.469,1085,2.473,1086,2.14,1087,3.006,1088,3.469,1089,3.691,1090,1.706,1091,3.36,1092,3.006,1093,3.469,1094,3.469,1095,3.032,1096,2.011,1097,2.184,1098,2.473,1099,2.701,1100,3.469,1101,3.006,1102,4.258,1103,3.469,1104,2.184,1105,2.184,1106,2.184,1107,2.184,1108,3.006,1109,3.006,1110,2.292,1111,3.469,1112,3.006,1113,3.006,1114,3.469,1115,3.469,1116,3.469,1117,4.315,1118,2.701,1119,3.469,1120,2.473,1121,2.14,1122,3.469,1123,3.469,1124,3.469,1125,3.469,1126,3.469,1127,3.469,1128,3.469,1129,3.469,1130,3.469,1131,3.006,1132,3.469,1133,3.469,1134,3.469,1135,3.469,1136,3.469,1137,2.184,1138,2.184,1139,2.184,1140,3.469,1141,2.184,1142,3.469,1143,2.184,1144,1.893,1145,1.893,1146,1.893,1147,1.893,1148,0.975,1149,1.893,1150,1.893,1151,1.266,1152,1.443,1153,2.184,1154,2.184,1155,2.184,1156,1.557,1157,2.184,1158,2.184,1159,2.184,1160,2.184,1161,2.184,1162,2.184,1163,2.184,1164,3.469,1165,2.184,1166,2.184,1167,3.469,1168,1.893,1169,2.184,1170,2.184,1171,3.077,1172,3.469,1173,2.184,1174,2.184,1175,2.184,1176,2.184,1177,2.184,1178,2.184,1179,1.893,1180,1.893,1181,2.184,1182,2.184,1183,2.184,1184,2.184,1185,2.184,1186,2.184,1187,2.184,1188,1.893,1189,2.184,1190,2.184]],["title/dependencies.html",[1191,3.946,1192,4.185]],["body/dependencies.html",[38,0.016,70,3.63,78,2.503,114,0.01,115,0.012,116,0.01,127,1.614,145,3.363,146,3.63,149,3.964,165,3.63,220,4.525,520,2.475,521,1.586,522,1.65,536,2.784,811,4.412,933,3.63,1192,3.964,1193,5.091,1194,7.852,1195,5.091,1196,5.091,1197,5.091,1198,5.499,1199,4.942,1200,5.091,1201,5.091,1202,5.091,1203,5.091,1204,5.091,1205,5.091,1206,5.091,1207,5.091,1208,4.412,1209,5.091,1210,3.964,1211,5.091,1212,5.091,1213,5.091,1214,5.091,1215,5.091,1216,6.346,1217,5.091,1218,5.091,1219,5.091,1220,5.091,1221,5.091,1222,5.091,1223,5.091,1224,5.091,1225,5.091,1226,5.091,1227,5.091]],["title/miscellaneous/functions.html",[1228,2.435,1229,4.657]],["body/miscellaneous/functions.html",[3,1.128,6,2.656,8,2.98,21,0.877,28,1.204,33,1.729,37,1.86,38,0.015,39,1.86,41,1.461,43,2.065,69,4.047,114,0.008,115,0.011,116,0.008,125,1.534,133,3.333,140,3.052,156,3.333,158,3.333,169,2.38,272,4.836,273,3.052,274,5.276,284,3.333,286,2.419,371,4.42,372,3.333,374,4.047,375,4.42,376,4.42,377,4.42,449,4.42,465,4.42,466,5.281,467,4.42,792,3.333,805,4.919,807,2.341,812,4.42,818,3.709,1228,2.641,1229,3.709,1230,5.676,1231,5.676,1232,6.368,1233,6.368,1234,5.676,1235,6.368,1236,5.676,1237,5.676,1238,5.676,1239,5.676,1240,6.285,1241,5.676,1242,4.28,1243,4.28,1244,4.28,1245,4.919,1246,4.28,1247,4.28,1248,4.28,1249,4.28,1250,4.28,1251,4.28,1252,4.28,1253,4.28,1254,4.28,1255,4.28,1256,5.676,1257,5.676,1258,3.052,1259,4.28,1260,4.28]],["title/index.html",[21,0.808,902,2.287,903,2.607]],["body/index.html",[0,0.071,4,0.311,5,0.262,11,0.59,13,0.901,15,1.172,17,1.355,18,1.55,30,0.286,34,0.702,36,1.177,37,0.396,38,0.015,51,0.544,67,1.088,68,1.147,72,0.316,78,0.81,83,0.544,92,0.924,96,1.7,109,0.38,111,1.82,114,0.003,115,0.005,116,0.005,119,0.901,121,1.965,127,0.522,147,0.702,155,1.747,195,1.427,218,2.059,229,1.389,232,2.588,243,0.745,249,1.82,255,1.594,282,1.174,287,1.123,297,1.943,380,1.016,396,2.146,398,2.766,399,1.283,403,2.766,404,1.174,406,1.283,420,0.642,431,1.965,434,0.901,457,1.016,473,1.283,476,1.283,509,2.192,516,1.126,517,1.283,518,2.38,520,2.986,521,1.627,522,1.664,532,1.123,535,1.174,536,3.431,537,2.766,538,2.733,539,1.174,541,2.17,542,1.714,543,2.146,544,3.598,546,1.82,547,0.771,548,0.642,549,1.965,550,2.064,551,1.965,553,1.82,554,0.617,555,1.965,556,2.146,557,2.146,558,1.283,563,0.251,574,0.947,576,1.273,577,0.59,584,0.771,586,1.04,593,1.126,595,0.615,596,0.735,599,1.265,612,1.174,613,0.702,614,1.123,621,1.751,628,0.771,632,1.514,634,0.947,643,0.735,646,1.969,650,1.229,663,0.947,664,0.702,666,0.702,678,0.735,679,0.873,686,1.692,688,1.174,689,1.355,695,1.126,696,1.751,698,0.735,700,1.126,701,1.273,702,1.316,704,1.03,742,2.388,777,1.662,798,1.82,803,1.427,809,1.283,812,3.891,813,1.355,814,1.283,815,1.283,817,1.82,821,1.174,824,1.174,830,1.965,908,2.388,909,1.427,933,1.174,940,1.965,942,2.271,951,1.447,958,2.388,962,0.955,964,1.965,969,1.427,974,1.174,983,1.283,991,1.965,1025,1.427,1037,2.146,1065,1.283,1070,1.174,1076,2.271,1079,1.427,1086,1.7,1089,2.562,1090,0.81,1091,1.283,1092,1.427,1096,3.075,1098,3.563,1101,1.427,1102,1.427,1110,1.82,1118,1.283,1121,1.7,1131,1.427,1144,1.427,1145,1.427,1146,1.427,1147,1.427,1148,2.062,1149,1.427,1150,1.427,1151,1.597,1152,1.088,1171,1.174,1198,2.388,1199,2.146,1208,1.427,1210,1.283,1258,1.965,1261,1.647,1262,3.552,1263,2.533,1264,1.647,1265,1.647,1266,2.755,1267,1.647,1268,1.647,1269,2.146,1270,1.647,1271,2.755,1272,3.598,1273,1.647,1274,1.647,1275,3.563,1276,3.552,1277,1.647,1278,2.388,1279,1.283,1280,1.647,1281,1.647,1282,4.152,1283,1.647,1284,2.755,1285,1.427,1286,2.755,1287,1.647,1288,1.647,1289,1.647,1290,3.053,1291,1.647,1292,1.647,1293,1.647,1294,2.755,1295,1.647,1296,1.647,1297,2.961,1298,2.388,1299,0.81,1300,2.146,1301,1.283,1302,1.174,1303,1.283,1304,1.427,1305,2.146,1306,2.146,1307,0.853,1308,1.427,1309,2.146,1310,3.552,1311,1.647,1312,1.647,1313,2.562,1314,1.7,1315,1.647,1316,6.7,1317,4.82,1318,4.152,1319,1.647,1320,1.647,1321,1.647,1322,1.647,1323,2.755,1324,1.647,1325,1.647,1326,1.647,1327,2.755,1328,1.088,1329,1.647,1330,2.755,1331,1.647,1332,1.647,1333,2.755,1334,1.647,1335,1.647,1336,1.647,1337,1.647,1338,3.552,1339,2.755,1340,1.647,1341,1.647,1342,1.427,1343,1.647,1344,1.427,1345,1.283,1346,1.647,1347,1.647,1348,1.647,1349,1.647,1350,1.647,1351,1.647,1352,1.088,1353,1.647,1354,1.647,1355,1.647,1356,1.647,1357,4.621,1358,1.427,1359,1.283,1360,2.755,1361,1.647,1362,1.088,1363,0.955,1364,1.647,1365,1.174,1366,2.755,1367,1.283,1368,1.7,1369,1.427,1370,1.427,1371,2.755,1372,1.647,1373,1.647,1374,1.427,1375,1.647,1376,1.647,1377,1.174,1378,1.647,1379,2.146,1380,1.427,1381,1.647,1382,1.647,1383,1.427,1384,1.647,1385,1.647,1386,1.647,1387,2.271,1388,1.647,1389,3.552,1390,1.647,1391,1.647,1392,1.647,1393,1.647,1394,1.647,1395,4.621,1396,1.647,1397,3.552,1398,1.647,1399,2.851,1400,1.82,1401,3.552,1402,2.146,1403,1.647,1404,2.755,1405,2.755,1406,2.562,1407,2.755,1408,2.755,1409,1.647,1410,1.427,1411,1.647,1412,3.598,1413,1.647,1414,1.647,1415,1.174,1416,1.283,1417,1.647,1418,1.427,1419,1.427,1420,3.552,1421,1.647,1422,1.647,1423,3.078,1424,2.146,1425,1.283,1426,1.427,1427,1.283,1428,1.647,1429,1.7,1430,1.647,1431,1.283,1432,1.647,1433,0.702,1434,1.174,1435,1.7,1436,1.647,1437,1.647,1438,0.901,1439,0.955,1440,0.955,1441,1.174,1442,1.7,1443,1.647,1444,1.427,1445,2.388,1446,2.755,1447,2.146,1448,1.283,1449,1.647,1450,1.647,1451,1.647,1452,1.174,1453,1.427,1454,0.955,1455,1.427,1456,1.016,1457,1.647,1458,1.647,1459,1.82,1460,1.088,1461,1.016,1462,0.853,1463,0.853,1464,1.647,1465,1.647,1466,2.755,1467,1.647,1468,1.647,1469,1.647,1470,1.82,1471,1.088,1472,1.647,1473,1.647,1474,1.427,1475,1.647,1476,1.647,1477,1.647,1478,1.647,1479,1.647,1480,2.146,1481,1.016,1482,1.647,1483,1.647,1484,1.82,1485,1.174,1486,1.647,1487,1.647,1488,1.647,1489,1.427,1490,1.82,1491,1.174,1492,1.283,1493,1.647,1494,1.174,1495,1.647,1496,1.427,1497,1.647,1498,2.388,1499,1.427,1500,0.955,1501,1.283,1502,1.647,1503,2.755,1504,1.647,1505,1.647,1506,1.647,1507,1.427,1508,1.427,1509,1.647,1510,1.427,1511,1.088,1512,1.283,1513,0.901,1514,2.755,1515,1.647,1516,1.647,1517,1.647,1518,1.647,1519,2.755,1520,2.755,1521,1.647,1522,1.647,1523,1.647,1524,1.647,1525,1.647,1526,1.647,1527,1.647,1528,1.647,1529,1.283,1530,1.647,1531,1.647,1532,1.647,1533,1.647,1534,1.647,1535,1.647,1536,1.647,1537,1.647,1538,1.647,1539,1.647,1540,1.174,1541,1.647,1542,3.078,1543,1.427,1544,1.647,1545,1.647,1546,1.647,1547,1.647,1548,1.647]],["title/license.html",[902,2.287,903,2.607,1069,3.42]],["body/license.html",[18,1.404,38,0.012,114,0.01,115,0.012,116,0.01,219,4.392,297,2.772,378,3.946,593,1.607,622,2.492,975,2.772,1056,5.484,1179,4.392,1180,4.392,1275,3.614,1279,3.946,1345,3.946,1510,4.392,1513,2.772,1549,6.9,1550,5.068,1551,6.328,1552,5.068,1553,5.068,1554,5.068,1555,5.068,1556,5.068,1557,6.328,1558,7.846,1559,5.068,1560,5.068,1561,5.068,1562,4.559,1563,5.068,1564,3.946,1565,5.068,1566,5.068,1567,5.068,1568,5.068,1569,5.068,1570,5.068,1571,5.068,1572,6.328,1573,5.068,1574,5.068,1575,5.068,1576,5.068,1577,5.068,1578,6.328,1579,6.328,1580,5.068,1581,5.068,1582,5.068,1583,5.068,1584,5.068,1585,5.068,1586,5.068,1587,5.068,1588,5.068,1589,5.068,1590,5.068,1591,4.392,1592,5.068,1593,5.068,1594,5.068,1595,5.068,1596,5.068,1597,5.068,1598,5.068,1599,5.068,1600,4.392,1601,5.068,1602,5.068,1603,5.068,1604,5.068,1605,5.068]],["title/modules.html",[799,4.593]],["body/modules.html",[38,0.014,114,0.012,115,0.014,116,0.012,798,4.149,799,4.891,1540,4.479,1606,6.281,1607,6.281]],["title/overview.html",[1608,5.111]],["body/overview.html",[2,1.789,38,0.013,114,0.012,115,0.013,116,0.012,132,4.037,281,4.758,297,3.342,407,4.758,432,5.516,434,3.342,797,4.758,847,3.77,1192,5.516,1608,5.296,1609,7.083]],["title/miscellaneous/typealiases.html",[1228,2.435,1610,5.374]],["body/miscellaneous/typealiases.html",[21,1.124,38,0.016,40,0.952,114,0.01,115,0.013,116,0.01,259,3.18,751,3.625,754,4.39,757,3.385,758,3.625,759,3.385,760,3.625,761,3.625,762,3.385,763,3.625,764,3.625,765,3.625,766,3.625,767,3.625,768,3.625,769,3.385,770,3.385,771,3.625,772,3.625,773,3.625,774,3.385,775,3.385,776,3.625,777,2.568,778,3.625,779,3.625,780,3.625,1228,3.385,1611,5.487,1612,5.487]],["title/miscellaneous/variables.html",[1228,2.435,1613,4.657]],["body/miscellaneous/variables.html",[6,2.614,8,2.614,21,0.855,35,3.069,36,0.927,38,0.015,40,0.969,68,0.969,78,2.746,109,1.453,114,0.008,115,0.011,116,0.011,125,2.001,273,2.978,274,4.991,276,4.349,277,4.349,287,2.935,301,3.253,302,3.253,305,3.982,306,3.253,307,3.253,308,3.253,309,3.253,310,3.253,311,3.253,312,3.253,313,3.253,314,3.253,315,3.253,316,3.253,317,3.253,318,3.253,319,3.253,320,3.253,321,3.253,322,3.253,323,3.253,324,3.253,325,3.253,326,3.253,327,3.253,328,3.253,329,3.253,330,3.253,331,3.253,332,3.253,333,3.253,334,3.253,335,3.253,336,3.253,337,3.253,338,3.253,339,3.253,340,3.253,341,3.253,342,3.253,343,3.253,344,3.253,345,3.253,346,3.253,347,3.253,348,3.253,349,3.253,350,3.253,351,3.253,352,3.253,353,3.253,354,3.253,355,3.253,356,3.253,357,3.253,358,3.253,359,3.253,360,3.253,361,3.253,362,3.253,363,3.253,364,3.253,365,3.253,366,3.253,367,3.253,368,3.253,369,3.253,370,3.253,461,4.349,462,3.253,509,3.446,510,3.62,511,2.746,516,1.324,517,3.253,518,1.436,520,2.454,521,1.572,522,1.636,531,3.982,532,2.563,533,1.864,534,3.62,535,2.978,536,2.285,537,3.253,538,2.285,539,2.978,540,2.978,541,1.629,542,1.396,543,3.253,544,4.349,545,3.253,546,2.759,547,1.955,548,1.629,549,2.978,550,1.324,551,2.978,552,3.62,553,2.759,554,0.725,555,2.978,556,3.253,557,3.253,558,3.253,1228,2.577,1240,5.82,1613,3.62,1614,5.585,1615,4.177,1616,4.177,1617,4.177,1618,4.177]],["title/additional-documentation/getting-started.html",[554,0.606,563,0.532,902,2.024,903,2.306]],["body/additional-documentation/getting-started.html",[38,0.014,114,0.012,115,0.014,116,0.012,532,2.531,902,4.145,903,4.724,1471,4.104,1513,3.397,1619,4.837,1620,6.212]],["title/additional-documentation/preserving-state-(like-the-requested-url).html",[243,0.767,417,1.106,554,0.492,563,0.432,1621,2.458,1622,1.874]],["body/additional-documentation/preserving-state-(like-the-requested-url).html",[3,0.99,38,0.015,41,1.123,114,0.011,115,0.013,116,0.011,243,1.886,417,2.885,533,2.655,571,2.655,581,2.655,951,2.424,1494,4.242,1529,4.633,1621,5.156,1622,4.607,1623,5.95,1624,5.95,1625,4.242,1626,5.95,1627,5.95]],["title/additional-documentation/refreshing-a-token.html",[255,0.908,554,0.606,563,0.532,1363,2.024]],["body/additional-documentation/refreshing-a-token.html",[15,2.051,17,2.422,35,2.098,36,1.511,38,0.012,114,0.009,115,0.012,116,0.009,119,3.725,164,2.55,203,1.693,224,3.834,232,2.55,255,1.917,287,2.006,434,2.693,452,3.253,516,1.561,532,2.532,541,2.424,542,1.843,547,2.304,550,2.159,593,1.561,599,2.074,612,2.098,613,2.098,614,2.006,625,1.84,694,2.098,695,1.561,702,1.561,942,3.725,975,3.725,1077,3.511,1085,3.511,1086,3.038,1352,3.253,1362,3.253,1363,3.602,1365,4.432,1367,3.834,1400,4.106,1429,3.038,1431,3.834,1447,3.834,1455,2.55,1459,3.253,1564,3.834,1628,3.253,1629,3.511,1630,4.267,1631,4.267,1632,3.834,1633,5.386,1634,3.511,1635,4.267,1636,3.834,1637,4.267,1638,4.267,1639,4.267,1640,3.511,1641,3.834,1642,4.84,1643,3.834,1644,3.834,1645,4.84,1646,4.84,1647,3.834,1648,3.834,1649,3.834,1650,3.511,1651,3.834,1652,3.253,1653,3.834,1654,3.834,1655,3.834,1656,3.834]],["title/additional-documentation/silent-refresh.html",[554,0.606,563,0.532,579,1.362,599,1.063]],["body/additional-documentation/silent-refresh.html",[3,0.48,5,0.819,11,1.541,15,1.42,17,1.42,18,1.141,28,1.21,30,0.501,33,1.566,35,2.19,36,1.468,38,0.015,46,0.953,51,0.953,62,1.479,68,0.501,72,0.331,83,2.01,92,1.118,103,0.592,109,0.994,114,0.008,115,0.008,116,0.005,119,2.811,147,1.231,155,1.42,160,2.249,164,1.496,203,1.767,211,2.249,226,2.503,229,1.235,230,1.921,243,1.54,255,1.767,287,2.094,420,1.127,434,1.58,451,1.908,452,1.908,470,1.035,498,1.833,516,0.916,520,1.678,521,0.722,522,1.118,532,2.094,536,1.58,538,1.58,541,2.49,542,1.793,546,2.842,547,1.352,550,2.154,575,2.013,579,2.709,583,1.833,586,1.667,593,1.805,595,1.921,596,1.92,599,2.153,603,1.289,621,1.88,623,2.528,625,2.276,640,1.92,649,1.127,650,1.92,660,1.42,661,1.177,663,0.993,679,1.364,685,2.013,694,1.231,695,1.364,696,1.88,700,0.916,704,1.079,807,1.58,813,2.528,829,1.908,902,1.674,942,2.353,951,2.094,962,1.674,974,2.06,975,3.115,991,2.06,1070,2.06,1076,1.58,1085,2.06,1086,1.782,1087,2.503,1090,1.42,1095,2.654,1098,2.06,1148,1.92,1152,3.396,1245,2.503,1302,2.06,1307,1.496,1313,1.782,1352,1.908,1362,2.842,1363,2.979,1365,3.068,1387,3.115,1399,1.782,1400,2.842,1402,2.249,1410,2.503,1415,2.06,1416,2.249,1433,1.231,1434,2.06,1435,3.172,1438,2.811,1439,1.674,1440,1.674,1441,2.06,1442,1.782,1448,2.249,1454,1.674,1455,1.496,1456,1.782,1460,1.908,1461,1.782,1462,1.496,1463,1.496,1491,2.06,1496,3.728,1500,1.674,1511,1.908,1513,1.58,1542,2.503,1543,2.503,1562,1.908,1634,2.06,1640,2.06,1641,2.249,1642,3.35,1643,2.249,1644,2.249,1645,3.35,1646,3.35,1647,2.249,1648,2.249,1649,2.249,1650,2.06,1651,2.249,1652,1.908,1653,2.249,1654,2.249,1655,2.249,1656,2.249,1657,2.889,1658,4.302,1659,2.249,1660,3.35,1661,2.889,1662,2.889,1663,2.889,1664,2.889,1665,2.889,1666,2.889,1667,4.302,1668,5.695,1669,2.06,1670,2.889,1671,2.889,1672,2.889,1673,2.889,1674,2.889,1675,3.728,1676,2.503,1677,1.674,1678,1.908,1679,2.889,1680,2.06,1681,2.06,1682,1.674,1683,2.889,1684,2.889,1685,2.889,1686,2.503,1687,4.454,1688,3.35,1689,2.503,1690,2.889,1691,2.889,1692,2.889,1693,2.889,1694,4.003,1695,2.889,1696,2.889,1697,2.503,1698,2.889,1699,2.889,1700,2.889,1701,2.889,1702,2.889,1703,2.889,1704,2.889,1705,2.889,1706,4.302,1707,2.889,1708,4.302,1709,2.503,1710,2.249,1711,3.728,1712,2.889,1713,2.889,1714,2.889,1715,2.889,1716,2.889,1717,2.889,1718,2.889,1719,2.889,1720,2.889,1721,2.889,1722,2.503,1723,2.889,1724,2.889,1725,2.249,1726,4.302,1727,2.889,1728,2.889,1729,2.889,1730,2.889,1731,2.889,1732,2.889,1733,2.249,1734,2.889,1735,2.889,1736,2.889,1737,2.889,1738,2.889,1739,2.889,1740,2.889]],["title/additional-documentation/token-refresh.html",[255,0.908,554,0.606,563,0.532,599,1.063]],["body/additional-documentation/token-refresh.html",[15,2.051,17,2.422,35,2.098,36,1.511,38,0.012,114,0.009,115,0.012,116,0.009,119,3.725,164,2.55,203,1.693,224,3.834,232,2.55,255,1.917,287,2.006,434,2.693,452,3.253,516,1.561,532,2.532,541,2.424,542,1.843,547,2.304,550,2.159,593,1.561,599,2.074,612,2.098,613,2.098,614,2.006,625,1.84,694,2.098,695,1.561,702,1.561,942,3.725,975,3.725,1077,3.511,1085,3.511,1086,3.038,1352,3.253,1362,3.253,1363,3.602,1365,4.432,1367,3.834,1400,4.106,1429,3.038,1431,3.834,1447,3.834,1455,2.55,1459,3.253,1564,3.834,1628,3.253,1629,3.511,1630,4.267,1631,4.267,1632,3.834,1633,5.386,1634,3.511,1635,4.267,1636,3.834,1637,4.267,1638,4.267,1639,4.267,1640,3.511,1641,3.834,1642,4.84,1643,3.834,1644,3.834,1645,4.84,1646,4.84,1647,3.834,1648,3.834,1649,3.834,1650,3.511,1651,3.834,1652,3.253,1653,3.834,1654,3.834,1655,3.834,1656,3.834]],["title/additional-documentation/working-with-httpinterceptors.html",[554,0.606,563,0.532,1168,3.025,1741,3.491]],["body/additional-documentation/working-with-httpinterceptors.html",[0,0.258,10,0.984,14,1.796,18,1.159,28,1.065,38,0.016,41,0.986,55,3.45,62,1.301,63,1.952,68,1.244,72,0.598,84,2.07,92,1.358,103,1.468,114,0.007,115,0.01,116,0.007,126,1.656,127,1.2,196,2.947,197,5.182,201,1.689,203,1.796,204,3.28,205,4.469,206,3.28,207,3.222,209,3.28,210,4.526,211,2.947,212,4.526,214,3.28,215,3.951,216,3.28,217,5.182,218,2.194,228,4.657,229,1.437,230,2.528,231,3.222,232,1.96,233,2.947,234,3.724,235,2.877,236,3.28,237,1.476,240,3.28,243,1.024,244,3.28,245,3.28,246,3.28,247,3.28,248,5.587,249,4.26,250,3.28,253,3.28,255,1.555,268,3.28,269,4.526,271,3.28,287,2.128,457,2.335,470,1.356,518,1.301,520,1.476,521,0.946,522,0.984,548,1.476,574,1.796,586,1.529,593,1.2,614,1.542,649,1.476,651,1.771,669,2.548,821,2.699,824,3.724,830,3.724,832,2.699,835,2.947,836,4.067,985,3.28,1109,3.28,1298,3.28,1299,1.861,1307,1.96,1344,3.28,1345,2.947,1415,2.699,1424,2.947,1448,2.947,1452,2.699,1491,2.699,1498,4.526,1499,3.28,1500,2.194,1501,2.947,1634,2.699,1686,3.28,1742,3.785,1743,3.785,1744,3.785,1745,3.28,1746,3.28,1747,3.785,1748,3.785,1749,3.785,1750,3.785,1751,3.785,1752,3.785,1753,3.785,1754,3.785,1755,3.785,1756,4.526,1757,2.5,1758,3.785,1759,3.785,1760,3.785,1761,3.785,1762,3.785,1763,3.785,1764,3.785,1765,3.785,1766,3.28,1767,3.785,1768,2.947,1769,3.785,1770,3.785,1771,3.785,1772,3.785,1773,3.785,1774,4.067,1775,3.785,1776,3.785,1777,3.785,1778,3.785,1779,3.785,1780,3.785]],["title/additional-documentation/callback-after-login.html",[554,0.606,563,0.532,951,1.422,1781,2.718]],["body/additional-documentation/callback-after-login.html",[38,0.015,51,2.253,62,1.973,63,2.144,114,0.011,115,0.013,116,0.011,451,3.791,571,3.046,619,2.56,629,2.822,634,2.347,650,2.56,951,2.781,1328,3.791,1485,4.091,1500,3.326,1591,4.972,1622,3.791,1625,4.091,1781,5.315,1782,5.738,1783,5.738,1784,5.738,1785,5.738,1786,5.738,1787,5.738]],["title/additional-documentation/popup-based-login.html",[554,0.543,563,0.477,583,1.334,951,1.275,1120,2.232]],["body/additional-documentation/popup-based-login.html",[17,2.711,18,1.479,38,0.014,114,0.01,115,0.013,116,0.01,518,1.896,530,1.896,532,2.715,538,3.016,547,3.119,577,1.976,579,2.794,583,2.84,599,1.679,614,2.247,646,2.84,667,2.711,696,1.82,984,4.778,1065,4.293,1096,3.196,1118,4.293,1152,4.403,1171,3.932,1278,4.778,1290,3.643,1299,2.711,1352,3.643,1427,4.293,1433,2.349,1461,3.402,1659,4.293,1689,4.778,1709,4.778,1733,4.293,1788,4.778,1789,5.514,1790,4.778,1791,5.514,1792,5.514,1793,5.514,1794,5.514,1795,4.293,1796,5.514,1797,5.514,1798,5.514,1799,4.293,1800,5.514]],["title/additional-documentation/custom-query-parameters.html",[37,0.752,554,0.543,563,0.477,574,1.076,640,1.397]],["body/additional-documentation/custom-query-parameters.html",[33,1.831,37,1.445,38,0.015,114,0.011,115,0.013,116,0.011,541,2.345,542,1.503,574,2.413,586,1.76,625,2.247,640,2.683,1156,4.288,1801,5.211,1802,6.013,1803,6.013,1804,6.013,1805,6.013,1806,6.013,1807,6.013,1808,6.013]],["title/additional-documentation/events.html",[554,0.685,563,0.601,626,1.761]],["body/additional-documentation/events.html",[5,0.724,18,1.009,28,1.279,36,1.009,38,0.015,62,1.563,68,0.789,78,2.236,83,1.501,114,0.009,115,0.011,116,0.009,215,3.004,230,1.699,234,4.211,255,1.182,259,2.636,417,2.304,518,2.031,520,1.774,521,1.476,522,1.182,536,2.487,541,1.774,542,1.137,564,2.128,565,2.128,579,2.304,599,1.998,602,2.764,603,2.029,626,3.291,628,3.368,635,2.029,648,2.128,700,1.441,750,3.644,757,2.806,759,2.806,762,2.806,769,2.806,770,2.806,774,2.806,789,3.941,942,2.487,975,2.487,977,3.242,1076,3.23,1095,2.806,1099,3.541,1110,3.004,1120,3.242,1290,3.004,1313,3.644,1314,3.644,1368,2.806,1415,3.242,1500,2.636,1540,3.242,1622,3.902,1632,4.599,1688,3.541,1710,3.541,1809,4.547,1810,4.547,1811,4.547,1812,3.941,1813,4.547,1814,4.547,1815,3.941,1816,3.941,1817,4.547,1818,4.547,1819,4.547,1820,4.547,1821,4.547,1822,3.941,1823,4.547,1824,4.547,1825,4.547,1826,4.547,1827,4.547,1828,4.547,1829,5.906,1830,7.509,1831,5.906,1832,4.547,1833,4.547,1834,4.547,1835,4.547,1836,3.941,1837,4.547,1838,4.547,1839,3.941,1840,5.906,1841,5.906,1842,4.547,1843,4.547,1844,4.547,1845,4.547,1846,4.547,1847,4.547]],["title/additional-documentation/routing-with-the-hashstrategy.html",[554,0.606,563,0.532,1121,2.154,1512,2.718]],["body/additional-documentation/routing-with-the-hashstrategy.html",[13,2.916,18,1.183,19,4.656,33,1.624,36,1.449,38,0.015,62,1.833,72,0.611,83,1.76,92,1.386,114,0.01,115,0.012,116,0.01,287,2.172,498,2.272,518,1.833,565,2.495,575,2.495,595,2.44,596,2.914,601,2.495,604,2.622,744,4.152,797,4.152,1086,3.29,1121,4.029,1188,4.62,1285,6.117,1307,2.761,1434,3.802,1452,3.802,1481,3.29,1490,3.522,1500,3.09,1507,4.62,1511,3.522,1512,5.085,1669,3.802,1711,6.375,1725,4.152,1733,4.152,1848,4.152,1849,5.331,1850,4.62,1851,7.059,1852,5.331,1853,5.331,1854,5.331,1855,5.331,1856,5.331,1857,5.331,1858,5.331,1859,5.331,1860,5.331,1861,4.152,1862,5.331]],["title/additional-documentation/adapt-id_token-validation.html",[51,1.033,511,1.539,554,0.543,563,0.477,1863,2.713]],["body/additional-documentation/adapt-id_token-validation.html",[11,1.866,12,2.725,30,0.904,38,0.015,51,2.124,59,3.714,60,3.714,61,3.714,62,2.213,67,4.252,68,0.904,73,1.791,78,2.561,82,2.219,84,2.849,109,1.203,114,0.01,115,0.012,116,0.01,509,4.31,511,3.165,516,2.04,518,1.791,520,2.031,521,1.302,522,1.354,524,3.441,548,2.51,625,2.405,643,2.324,648,2.437,649,2.031,652,3.165,663,1.791,664,2.219,668,2.561,701,1.866,702,1.651,817,3.441,972,4.056,1290,3.441,1402,4.056,1433,2.219,1652,3.441,1694,4.056,1768,4.056,1790,4.513,1848,4.056,1863,4.513,1864,5.208,1865,5.208,1866,5.208,1867,5.208,1868,4.513,1869,5.208,1870,4.513,1871,5.208,1872,5.208,1873,4.513,1874,5.208,1875,5.208]],["title/additional-documentation/session-checks.html",[554,0.606,563,0.532,977,2.489,1095,2.154]],["body/additional-documentation/session-checks.html",[30,0.75,36,1.42,38,0.015,68,0.75,72,0.495,83,1.885,92,1.123,114,0.008,115,0.011,116,0.008,147,1.841,229,1.372,255,1.485,258,3.365,297,2.363,433,3.081,518,1.964,520,1.685,521,1.08,522,1.123,532,2.327,535,3.081,536,3.124,538,2.363,541,1.685,542,1.428,547,2.673,550,1.37,555,3.081,574,1.486,576,2.047,579,2.495,586,1.265,590,2.125,599,2.215,621,1.426,625,1.615,626,1.928,634,1.486,643,1.928,688,1.841,695,1.37,696,1.426,700,1.811,704,1.615,775,3.524,777,2.022,813,2.809,962,2.505,964,3.081,972,3.365,975,3.124,977,5.369,983,4.448,1073,3.744,1090,2.125,1095,3.948,1098,3.081,1148,3.038,1152,2.855,1263,3.081,1307,2.238,1314,2.666,1362,2.855,1368,3.524,1387,2.363,1427,3.365,1429,3.948,1433,1.841,1435,3.948,1438,3.124,1439,2.505,1442,2.666,1462,2.238,1463,2.238,1470,2.855,1490,2.855,1494,3.081,1600,3.744,1629,3.081,1652,3.773,1675,3.744,1677,2.505,1678,2.855,1682,2.505,1725,3.365,1766,3.744,1836,3.744,1850,3.744,1876,4.321,1877,4.321,1878,4.321,1879,4.321,1880,4.321,1881,4.321,1882,4.321,1883,4.321,1884,4.321,1885,4.321,1886,4.321,1887,3.365,1888,5.712,1889,4.321,1890,5.712,1891,4.321,1892,4.321,1893,4.321,1894,4.321,1895,4.321,1896,4.321,1897,4.321,1898,4.321,1899,4.321,1900,4.321,1901,4.321,1902,4.321]],["title/additional-documentation/server-side-rendering.html",[229,0.752,554,0.543,563,0.477,664,1.334,1903,2.713]],["body/additional-documentation/server-side-rendering.html",[38,0.013,114,0.011,115,0.013,116,0.011,229,1.776,514,5.142,518,2.04,576,2.126,664,3.149,1062,5.142,1089,3.661,1299,2.918,1305,4.621,1306,4.621,1757,3.92,1774,4.621,1788,5.142,1903,6.404,1904,5.934,1905,5.934,1906,5.142,1907,5.934,1908,5.934,1909,5.934]],["title/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[518,0.761,541,0.864,542,0.554,554,0.384,563,0.337,701,0.794,702,0.702,1433,0.944,1562,1.463]],["body/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[0,0.196,11,1.633,15,1.504,18,1.312,38,0.015,40,0.791,72,0.522,109,1.052,114,0.009,115,0.011,116,0.009,203,2.033,229,1.421,243,1.879,275,1.856,297,2.492,470,1.633,518,1.567,532,1.856,541,1.777,542,1.139,547,2.132,553,3.01,554,0.791,577,1.633,586,1.731,593,1.444,595,1.703,621,2.167,635,2.033,661,1.856,663,1.567,665,2.033,666,1.942,679,2.081,686,1.856,695,1.444,696,2.167,700,1.444,701,2.119,702,1.875,777,2.132,807,3.234,813,2.241,829,3.01,940,3.249,951,2.675,1089,2.811,1090,2.241,1148,2.639,1151,2.641,1297,3.249,1299,2.241,1313,2.811,1314,2.811,1374,3.949,1379,3.548,1387,3.591,1399,3.649,1406,2.811,1433,2.52,1438,2.492,1439,2.641,1440,2.641,1454,2.641,1455,2.36,1462,2.36,1463,2.36,1471,3.01,1481,2.811,1485,3.249,1492,3.548,1513,2.492,1562,3.01,1625,3.249,1628,3.01,1660,3.548,1669,3.249,1677,3.428,1682,2.641,1795,3.548,1887,3.548,1910,3.949,1911,3.249,1912,3.249,1913,4.556,1914,4.556,1915,3.548,1916,3.249,1917,3.548,1918,3.949,1919,3.949,1920,3.949,1921,4.556,1922,4.556,1923,4.556,1924,3.949,1925,3.949,1926,4.556]],["title/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[36,0.491,511,1.089,554,0.384,563,0.337,679,0.702,701,0.794,702,0.702,813,1.089,1927,2.214]],["body/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[18,1.001,30,1.02,38,0.015,64,1.686,68,0.783,72,0.517,92,1.173,114,0.009,115,0.011,116,0.009,147,1.922,229,1.084,243,1.941,287,1.838,420,1.759,498,2.504,511,3.213,516,1.43,518,1.551,520,1.759,521,1.127,522,1.528,581,2.013,586,1.912,595,1.686,621,1.489,649,1.759,663,1.551,679,2.275,688,1.922,695,1.862,696,1.489,700,2.071,701,2.637,702,2.333,704,2.442,813,3.404,817,3.881,951,1.838,962,2.615,1090,2.218,1148,2.622,1156,4.659,1279,3.513,1290,2.98,1368,4.032,1387,3.574,1416,3.513,1435,4.032,1438,2.467,1439,2.615,1440,2.615,1441,3.217,1442,2.783,1454,2.615,1455,2.336,1456,2.783,1460,2.98,1461,2.783,1462,2.336,1463,2.336,1508,3.909,1513,2.467,1677,2.615,1678,2.98,1680,3.217,1681,3.217,1682,2.615,1822,3.909,1928,6.534,1929,4.511,1930,5.999,1931,4.511,1932,5.091,1933,4.511,1934,4.511,1935,4.511,1936,4.511,1937,4.511,1938,4.511,1939,4.511,1940,4.511,1941,4.511,1942,4.511,1943,4.511,1944,4.511,1945,3.909,1946,3.909,1947,4.511]],["title/additional-documentation/using-systemjs.html",[36,0.775,554,0.606,563,0.532,1948,3.025]],["body/additional-documentation/using-systemjs.html",[36,1.224,38,0.015,114,0.01,115,0.013,116,0.01,145,3.643,223,2.58,520,2.902,521,1.86,522,1.862,807,3.016,933,4.752,1171,4.752,1314,3.402,1369,4.778,1688,4.293,1948,6.207,1949,5.514,1950,5.514,1951,5.514,1952,5.514,1953,6.665,1954,6.665,1955,5.514,1956,5.514,1957,5.514,1958,5.514,1959,5.514,1960,5.514,1961,5.514,1962,5.514]],["title/additional-documentation/using-implicit-flow.html",[36,0.695,541,1.221,542,0.782,554,0.543,563,0.477]],["body/additional-documentation/using-implicit-flow.html",[0,0.23,30,0.679,36,1.185,38,0.016,39,1.283,46,1.29,68,1.255,72,0.697,84,3.327,103,1.094,109,0.903,114,0.007,115,0.01,116,0.007,127,1.693,147,1.666,203,2.486,229,0.939,232,2.025,235,1.744,243,1.444,509,3.295,516,1.239,518,1.344,520,2.549,521,1.71,522,1.837,530,1.344,539,2.788,540,2.788,541,2.372,542,1.71,546,3.528,550,1.239,553,2.583,554,0.927,577,1.401,586,1.144,593,1.239,595,1.461,612,1.666,613,1.666,621,1.29,624,1.83,663,1.344,678,2.383,679,1.693,695,1.693,696,1.29,700,1.239,704,1.461,777,1.83,807,2.138,813,1.922,828,3.044,951,2.946,962,2.266,991,2.788,1090,1.922,1148,2.383,1151,2.266,1263,2.788,1383,3.388,1387,3.327,1400,2.583,1406,2.412,1425,3.044,1433,2.275,1435,4.033,1438,2.138,1439,2.266,1440,2.266,1442,2.412,1454,2.266,1455,2.025,1456,2.412,1460,2.583,1461,2.412,1462,2.025,1463,2.025,1484,2.583,1489,3.388,1490,2.583,1511,2.583,1529,3.044,1640,2.788,1677,2.266,1678,2.583,1680,2.788,1681,2.788,1682,2.266,1756,3.388,1757,2.583,1816,3.388,1848,3.044,1861,3.044,1870,3.388,1911,4.661,1912,3.808,1963,3.909,1964,3.909,1965,3.909,1966,3.909,1967,3.909,1968,3.909,1969,3.909,1970,5.34,1971,3.909,1972,3.909,1973,3.909,1974,3.909,1975,3.909,1976,3.388,1977,3.909,1978,3.909,1979,3.388,1980,3.388,1981,3.909,1982,5.34,1983,3.909,1984,3.909,1985,3.909]],["title/additional-documentation/using-password-flow.html",[36,0.695,542,0.782,554,0.543,563,0.477,1258,2.232]],["body/additional-documentation/using-password-flow.html",[0,0.184,3,0.475,11,1.023,17,2.097,18,1.345,36,1.564,38,0.016,39,0.686,40,0.496,43,0.87,51,0.943,72,0.489,103,0.585,109,0.66,114,0.005,115,0.008,116,0.005,162,1.887,169,2.116,183,2.632,201,1.274,203,1.947,228,3.321,229,1.528,232,1.479,243,1.381,255,1.713,275,1.738,380,2.632,470,1.528,512,4.907,516,0.905,518,1.755,522,1.109,532,2.469,540,2.036,541,1.114,542,1.831,547,2.65,550,0.905,576,2.278,577,1.023,584,1.336,586,1.774,593,0.905,599,1.299,619,2.278,621,2.098,624,1.336,625,1.594,632,1.817,634,0.982,646,1.217,661,1.164,663,2.423,665,1.274,666,1.217,678,2.527,679,1.921,686,1.164,695,1.618,696,2.235,700,1.352,701,2.029,702,1.795,741,2.475,744,2.224,942,1.562,951,1.738,1076,1.562,1077,3.041,1089,2.632,1090,2.097,1110,3.373,1112,3.696,1120,2.036,1121,1.762,1148,2.278,1199,3.321,1258,5.026,1263,2.036,1299,2.98,1313,1.762,1328,1.887,1342,3.696,1359,3.321,1363,1.655,1368,2.632,1380,3.696,1387,3.315,1406,3.15,1429,2.632,1433,2.413,1440,2.472,1444,2.475,1445,6.108,1452,3.041,1453,3.696,1454,2.472,1455,2.209,1459,3.373,1462,2.644,1463,2.644,1474,2.475,1481,1.762,1484,1.887,1485,3.64,1491,2.036,1500,1.655,1511,1.887,1562,3.373,1622,1.887,1650,2.036,1659,3.321,1669,2.036,1677,2.959,1682,2.472,1687,2.475,1694,2.224,1722,2.475,1757,1.887,1768,2.224,1815,2.475,1868,2.475,1873,3.696,1887,3.321,1911,3.041,1912,3.041,1916,3.041,1917,3.321,1918,2.475,1919,2.475,1920,2.475,1979,3.696,1980,3.696,1986,2.856,1987,2.856,1988,2.856,1989,2.856,1990,2.856,1991,2.856,1992,2.856,1993,2.856,1994,2.856,1995,2.475,1996,2.475,1997,2.856,1998,2.856,1999,2.856,2000,4.265,2001,2.856,2002,4.265,2003,4.265,2004,4.265,2005,4.265,2006,4.265,2007,4.265,2008,2.475,2009,2.856,2010,2.856,2011,2.856,2012,2.856,2013,2.856,2014,2.856,2015,2.856,2016,2.856,2017,2.856,2018,4.265,2019,2.856,2020,2.856,2021,2.856,2022,2.856,2023,2.856,2024,4.265,2025,2.856,2026,4.265,2027,2.856,2028,2.856,2029,2.856,2030,2.856,2031,2.856,2032,2.856]],["title/additional-documentation/configure-custom-oauthstorage.html",[554,0.543,563,0.477,574,1.076,669,1.334,1433,1.334]],["body/additional-documentation/configure-custom-oauthstorage.html",[0,0.266,18,1.368,36,1.368,38,0.016,68,1.07,72,0.706,103,0.995,114,0.009,115,0.012,116,0.009,119,2.658,144,3.785,155,2.39,218,2.817,287,1.98,458,3.785,470,1.742,518,1.671,520,1.896,521,1.215,522,1.264,538,2.658,574,2.327,577,1.742,632,2.627,649,1.896,661,2.9,665,3.349,666,2.627,669,3.033,798,3.211,809,3.785,813,3.329,814,3.785,815,3.785,817,3.211,974,4.395,1070,3.466,1210,3.785,1275,3.466,1299,2.39,1307,2.517,1406,3.803,1412,5.342,1423,5.866,1424,3.785,1425,3.785,1426,5.342,1433,2.071,1434,4.827,1513,2.658,1540,3.466,1710,3.785,1774,3.785,2033,4.861,2034,4.212,2035,4.861,2036,6.164,2037,4.861,2038,4.861]],["title/additional-documentation/manually-skipping-login-form.html",[554,0.492,563,0.432,951,1.156,1481,1.75,1484,1.874,2039,2.458]],["body/additional-documentation/manually-skipping-login-form.html",[15,1.58,18,1.355,36,1.063,38,0.016,44,1.716,83,2.015,103,1.377,109,1.106,114,0.009,115,0.012,116,0.009,229,1.151,243,1.295,255,1.587,258,3.729,538,2.619,542,1.197,549,3.414,554,0.831,561,2.857,571,2.137,577,1.716,593,1.518,603,2.137,632,2.04,651,2.241,679,1.518,696,1.58,940,3.414,951,1.951,975,2.619,1064,4.15,1076,2.619,1095,2.955,1108,4.15,1110,3.163,1113,4.15,1148,2.137,1151,2.776,1307,2.48,1313,2.955,1328,3.163,1359,3.729,1429,2.955,1456,2.955,1481,2.955,1484,3.163,1490,3.163,1494,3.414,1781,3.729,1812,4.15,1839,4.15,1861,3.729,1906,4.15,1976,4.15,2039,4.15,2040,6.106,2041,4.788,2042,4.788,2043,4.788,2044,6.106,2045,4.788,2046,6.106,2047,4.788,2048,4.788,2049,4.788,2050,4.788,2051,4.788,2052,4.788,2053,4.788,2054,4.788,2055,4.788,2056,4.788,2057,4.788,2058,4.788,2059,4.788,2060,4.788]],["title/additional-documentation/original-config-api.html",[554,0.543,563,0.477,807,1.712,1399,1.931,1628,2.068]],["body/additional-documentation/original-config-api.html",[0,0.185,15,1.413,18,0.95,30,0.743,35,1.824,38,0.015,39,1.028,72,0.49,109,0.988,111,2.828,114,0.008,115,0.011,116,0.008,201,1.91,203,1.951,229,1.53,243,1.722,255,1.113,275,1.744,470,2.034,511,3.132,516,1.357,518,1.472,521,1.07,522,1.113,532,1.744,547,2.003,551,3.052,554,0.743,586,1.661,593,1.799,595,1.599,619,1.91,621,2.102,635,1.91,663,1.472,679,2.019,695,1.357,696,2.238,700,1.357,701,2.43,702,2.15,704,1.599,807,3.709,813,2.105,829,2.828,942,2.341,951,2.595,1076,2.341,1089,3.502,1090,2.105,1099,3.333,1121,2.641,1148,1.91,1151,2.481,1297,3.052,1314,2.641,1317,3.709,1328,2.828,1379,3.333,1387,3.483,1399,4.184,1406,3.502,1418,3.709,1419,3.709,1433,1.824,1438,2.341,1439,2.481,1440,2.481,1441,3.052,1454,2.481,1455,2.217,1456,2.641,1460,2.828,1461,2.641,1462,2.217,1463,2.217,1471,2.828,1492,3.333,1513,2.341,1619,3.333,1625,3.052,1628,3.75,1629,3.052,1660,4.42,1677,2.481,1678,2.828,1680,3.052,1681,3.052,1682,2.481,1745,3.709,1746,3.709,1795,3.333,1910,3.709,1911,3.052,1912,3.052,1915,3.333,1916,3.052,1917,3.333,1924,3.709,1925,3.709,1930,4.919,1932,3.709,1945,3.709,1946,3.709,1995,3.709,1996,3.709,2008,3.709,2061,4.28,2062,4.28,2063,4.28,2064,4.28,2065,4.28,2066,4.28,2067,4.28,2068,4.28,2069,4.28]],["title/additional-documentation/authorization-servers.html",[554,0.606,563,0.532,1480,2.718,2070,3.025]],["body/additional-documentation/authorization-servers.html",[36,1.32,38,0.013,114,0.011,115,0.013,116,0.011,521,1.487,621,1.964,634,2.398,688,2.535,700,1.886,964,4.242,1096,3.449,1358,5.156,1370,5.156,1480,5.761,1636,4.633,1676,5.156,1757,3.931,1799,4.633,2034,5.156,2071,5.95,2072,6.974,2073,5.95,2074,5.95,2075,5.95]],["title/additional-documentation/authorization-servers/using-identity-server.html",[36,0.695,229,0.752,554,0.543,563,0.477,1148,1.397]],["body/additional-documentation/authorization-servers/using-identity-server.html",[36,1.375,38,0.014,114,0.012,115,0.014,116,0.012,229,1.715,634,2.13,1096,3.591,1148,3.186,1299,3.046,1377,4.417,1470,4.092]],["title/additional-documentation/authorization-servers/using-keycloak.html",[36,0.775,554,0.606,563,0.532,1269,2.718]],["body/additional-documentation/authorization-servers/using-keycloak.html",[36,1.382,38,0.014,114,0.012,115,0.014,116,0.012,634,2.142,1096,3.61,1269,5.577,1299,3.063,1377,4.442,1470,4.115]],["title/additional-documentation/authorization-servers/auth0.html",[554,0.685,563,0.601,1272,3.073]],["body/additional-documentation/authorization-servers/auth0.html",[5,0.751,18,1.342,36,1.482,37,1.134,38,0.015,39,1.134,41,0.89,68,0.819,72,0.541,92,1.227,114,0.009,115,0.011,116,0.009,147,2.011,255,1.736,297,2.581,380,3.732,520,2.359,521,1.512,522,1.573,532,1.922,550,1.917,554,0.819,586,1.381,599,1.842,634,1.622,646,2.011,649,1.84,663,1.622,679,1.496,686,2.464,695,1.496,700,1.496,704,1.763,777,2.831,902,2.735,962,2.735,967,5.242,1037,3.674,1076,2.581,1090,2.32,1091,3.674,1096,2.735,1151,3.506,1156,3.364,1272,5.483,1275,3.364,1299,2.32,1307,2.444,1309,3.674,1363,2.735,1368,3.732,1377,3.364,1399,2.911,1433,2.577,1435,4.119,1438,2.581,1442,2.911,1459,3.117,1462,2.444,1463,2.444,1470,3.117,1471,3.117,1501,3.674,1619,3.674,1697,4.089,1799,4.71,1801,4.089,1915,3.674,1916,3.364,2070,4.089,2076,4.718,2077,4.718,2078,4.718,2079,6.049,2080,6.049,2081,4.718,2082,4.718,2083,4.718,2084,4.718,2085,4.718,2086,4.718,2087,4.718,2088,4.718,2089,4.718,2090,6.049,2091,6.049,2092,4.718,2093,4.718,2094,4.718,2095,4.718,2096,4.718]],["title/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[554,0.492,563,0.432,1300,2.209,1301,2.209,1302,2.023,1303,2.209]],["body/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[36,1.56,38,0.013,114,0.011,115,0.013,116,0.011,518,2.073,563,0.919,1297,4.299,1300,5.792,1301,4.695,1302,4.299,1303,5.473,1304,5.225,1305,5.473,1306,5.473,1307,3.122,1308,5.225,1309,4.695]]],"invertedIndex":[["",{"_index":38,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["0",{"_index":164,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"injectables/UrlHelperService.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["0.1.3",{"_index":1012,"title":{},"body":{"changelog.html":{}}}],["0.1.4",{"_index":1013,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1227,"title":{},"body":{"dependencies.html":{}}}],["0.33",{"_index":1654,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["0.43.0",{"_index":1224,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":1651,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["026dcb3",{"_index":1035,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":1142,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":1139,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":1137,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":996,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["07bb62d",{"_index":1135,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":1138,"title":{},"body":{"changelog.html":{}}}],["0c0a4a7",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["0f03d39",{"_index":1119,"title":{},"body":{"changelog.html":{}}}],["0x06ca6351",{"_index":337,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x0fc19dc6",{"_index":325,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x106aa070",{"_index":354,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x12835b01",{"_index":316,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x14292967",{"_index":338,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x19a4c116",{"_index":355,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x1e376c08",{"_index":356,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x20000000",{"_index":426,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["0x240ca1cc",{"_index":326,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x243185be",{"_index":317,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x2748774c",{"_index":357,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x27b70a85",{"_index":339,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x2de92c6f",{"_index":327,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x2e1b2138",{"_index":340,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x34b0bcb5",{"_index":358,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x391c0cb3",{"_index":359,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x3956c25b",{"_index":311,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x428a2f98",{"_index":307,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x4a7484aa",{"_index":328,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x4d2c6dfc",{"_index":341,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x4ed8aa4a",{"_index":360,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x53380d13",{"_index":342,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x550c7dc3",{"_index":318,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x59f111f1",{"_index":312,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x5b9cca4f",{"_index":361,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x5cb0a9dc",{"_index":329,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x650a7354",{"_index":343,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x682e6ff3",{"_index":362,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x71374491",{"_index":308,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x72be5d74",{"_index":319,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x748f82ee",{"_index":363,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x766a0abb",{"_index":344,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x76f988da",{"_index":330,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x78a5636f",{"_index":364,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x80deb1fe",{"_index":320,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x81c2c92e",{"_index":345,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x84c87814",{"_index":365,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x8cc70208",{"_index":366,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x90befffa",{"_index":367,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x923f82a4",{"_index":313,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x92722c85",{"_index":346,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x983e5152",{"_index":331,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0x9bdc06a7",{"_index":321,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa2bfe8a1",{"_index":347,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa4506ceb",{"_index":368,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa81a664b",{"_index":348,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xa831c66d",{"_index":332,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xab1c5ed5",{"_index":314,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xb00327c8",{"_index":333,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xb5c0fbcf",{"_index":309,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xbef9a3f7",{"_index":369,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xbf597fc7",{"_index":334,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc19bf174",{"_index":322,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc24b8b70",{"_index":349,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc67178f2",{"_index":370,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc6e00bf3",{"_index":335,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xc76c51a3",{"_index":350,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd192e819",{"_index":351,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd5a79147",{"_index":336,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd6990624",{"_index":352,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xd807aa98",{"_index":315,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xe49b69c1",{"_index":323,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xe9b5dba5",{"_index":310,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xefbe4786",{"_index":324,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xf40e3585",{"_index":353,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["0xff",{"_index":429,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["1",{"_index":434,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"injectables/UrlHelperService.html":{},"index.html":{},"overview.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["1.0",{"_index":1880,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["1.3.0",{"_index":1212,"title":{},"body":{"dependencies.html":{}}}],["1.4.3",{"_index":1206,"title":{},"body":{"dependencies.html":{}}}],["1.5.1",{"_index":1209,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":396,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["10.0.0",{"_index":994,"title":{},"body":{"changelog.html":{}}}],["10.0.3",{"_index":1207,"title":{},"body":{"dependencies.html":{}}}],["10.2.0",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["10.3.0",{"_index":1213,"title":{},"body":{"dependencies.html":{}}}],["10.x",{"_index":1323,"title":{},"body":{"index.html":{}}}],["1061",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":404,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{}}}],["12",{"_index":1321,"title":{},"body":{"index.html":{}}}],["12.0.0",{"_index":905,"title":{},"body":{"changelog.html":{}}}],["12.x",{"_index":1322,"title":{},"body":{"index.html":{}}}],["13",{"_index":406,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["13.x",{"_index":1320,"title":{},"body":{"index.html":{}}}],["132c624",{"_index":1066,"title":{},"body":{"changelog.html":{}}}],["14",{"_index":1318,"title":{},"body":{"index.html":{}}}],["14.x",{"_index":1319,"title":{},"body":{"index.html":{}}}],["15",{"_index":398,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["15.0.0",{"_index":1194,"title":{},"body":{"dependencies.html":{}}}],["15.x",{"_index":1315,"title":{},"body":{"index.html":{}}}],["16",{"_index":402,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{}}}],["169d749",{"_index":1038,"title":{},"body":{"changelog.html":{}}}],["17",{"_index":394,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["18",{"_index":400,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["1816e7b",{"_index":1050,"title":{},"body":{"changelog.html":{}}}],["19",{"_index":395,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["1_0.html#tokenendpoint",{"_index":690,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["1_0.html#userinfo",{"_index":697,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["1cae011",{"_index":1114,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":96,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["2.0",{"_index":1431,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["2.0.0",{"_index":1222,"title":{},"body":{"dependencies.html":{}}}],["2.1",{"_index":1263,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["2.3.0",{"_index":1216,"title":{},"body":{"dependencies.html":{}}}],["2.9.2",{"_index":1203,"title":{},"body":{"dependencies.html":{}}}],["2/oidc",{"_index":1515,"title":{},"body":{"index.html":{}}}],["20",{"_index":1543,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["20.000",{"_index":1739,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["2017",{"_index":1550,"title":{},"body":{"license.html":{}}}],["2020",{"_index":995,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":906,"title":{},"body":{"changelog.html":{}}}],["22",{"_index":407,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"overview.html":{}}}],["2204c5a",{"_index":944,"title":{},"body":{"changelog.html":{}}}],["23",{"_index":1140,"title":{},"body":{"changelog.html":{}}}],["24",{"_index":428,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["25",{"_index":405,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["256",{"_index":303,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{}}}],["28",{"_index":1143,"title":{},"body":{"changelog.html":{}}}],["2nd",{"_index":2094,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["3",{"_index":401,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["3.1",{"_index":1742,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["3.4.1",{"_index":1211,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":997,"title":{},"body":{"changelog.html":{}}}],["31c6273",{"_index":1107,"title":{},"body":{"changelog.html":{}}}],["32",{"_index":301,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["38c7c3f",{"_index":1040,"title":{},"body":{"changelog.html":{}}}],["3d331f2",{"_index":1136,"title":{},"body":{"changelog.html":{}}}],["3f44eca",{"_index":1122,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":433,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["4.3",{"_index":1284,"title":{},"body":{"index.html":{}}}],["4.x",{"_index":1327,"title":{},"body":{"index.html":{}}}],["401",{"_index":1750,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["403",{"_index":1751,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["40f5ae5",{"_index":1019,"title":{},"body":{"changelog.html":{}}}],["415e053",{"_index":1004,"title":{},"body":{"changelog.html":{}}}],["4202",{"_index":1390,"title":{},"body":{"index.html":{}}}],["4202]/index.html",{"_index":1391,"title":{},"body":{"index.html":{}}}],["4202]/silent",{"_index":1392,"title":{},"body":{"index.html":{}}}],["429ed2c",{"_index":1103,"title":{},"body":{"changelog.html":{}}}],["4607d55",{"_index":1033,"title":{},"body":{"changelog.html":{}}}],["4711",{"_index":1806,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["4bf8901",{"_index":1100,"title":{},"body":{"changelog.html":{}}}],["4def1c1",{"_index":1009,"title":{},"body":{"changelog.html":{}}}],["4th",{"_index":1681,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["5",{"_index":432,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"overview.html":{}}}],["5.x",{"_index":1330,"title":{},"body":{"index.html":{}}}],["51e438a",{"_index":911,"title":{},"body":{"changelog.html":{}}}],["58a8132",{"_index":1059,"title":{},"body":{"changelog.html":{}}}],["58c6354",{"_index":1094,"title":{},"body":{"changelog.html":{}}}],["59f65d2",{"_index":938,"title":{},"body":{"changelog.html":{}}}],["5c5288c",{"_index":1060,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":403,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["6.5.3",{"_index":1217,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1219,"title":{},"body":{"dependencies.html":{}}}],["61sdfs.eu.auth0.com",{"_index":2081,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["61sdfs.eu.auth0.com/v2/logout",{"_index":2085,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["64",{"_index":302,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["65c2b95",{"_index":1063,"title":{},"body":{"changelog.html":{}}}],["678ff95",{"_index":1054,"title":{},"body":{"changelog.html":{}}}],["687",{"_index":1115,"title":{},"body":{"changelog.html":{}}}],["7",{"_index":399,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["7.x",{"_index":1326,"title":{},"body":{"index.html":{}}}],["7009",{"_index":1146,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["70fd826",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["71b705c",{"_index":1127,"title":{},"body":{"changelog.html":{}}}],["728",{"_index":910,"title":{},"body":{"changelog.html":{}}}],["735",{"_index":1169,"title":{},"body":{"changelog.html":{}}}],["741",{"_index":1163,"title":{},"body":{"changelog.html":{}}}],["75",{"_index":1643,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["755",{"_index":1154,"title":{},"body":{"changelog.html":{}}}],["773",{"_index":1053,"title":{},"body":{"changelog.html":{}}}],["77cb37a",{"_index":1105,"title":{},"body":{"changelog.html":{}}}],["7a15194",{"_index":1017,"title":{},"body":{"changelog.html":{}}}],["7eac8ae",{"_index":1130,"title":{},"body":{"changelog.html":{}}}],["8",{"_index":431,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{}}}],["8.0.12",{"_index":1007,"title":{},"body":{"changelog.html":{}}}],["8.0.19",{"_index":1008,"title":{},"body":{"changelog.html":{}}}],["8.x",{"_index":1325,"title":{},"body":{"index.html":{}}}],["808969225",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["825",{"_index":1039,"title":{},"body":{"changelog.html":{}}}],["84d95a7",{"_index":1001,"title":{},"body":{"changelog.html":{}}}],["8ab853b",{"_index":1084,"title":{},"body":{"changelog.html":{}}}],["8fa99ff",{"_index":1124,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":537,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["9.0.0",{"_index":1208,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["9.1.0",{"_index":1147,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["9.2",{"_index":1002,"title":{},"body":{"changelog.html":{}}}],["9.2.0",{"_index":1141,"title":{},"body":{"changelog.html":{}}}],["9.2.1",{"_index":1016,"title":{},"body":{"changelog.html":{}}}],["9.2.2",{"_index":1018,"title":{},"body":{"changelog.html":{}}}],["9.3.0",{"_index":1020,"title":{},"body":{"changelog.html":{}}}],["9.x",{"_index":1324,"title":{},"body":{"index.html":{}}}],["92ee76d",{"_index":1031,"title":{},"body":{"changelog.html":{}}}],["93902a5",{"_index":1088,"title":{},"body":{"changelog.html":{}}}],["970",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["972",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["9761bad",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["9]{3",{"_index":107,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["9e257d0",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["9e95c73",{"_index":1047,"title":{},"body":{"changelog.html":{}}}],["_restorestate",{"_index":493,"title":{},"body":{"classes/Hash.html":{}}}],["_restorestate(from",{"_index":499,"title":{},"body":{"classes/Hash.html":{}}}],["_savestate",{"_index":494,"title":{},"body":{"classes/Hash.html":{}}}],["_savestate(out",{"_index":443,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["_throw(err",{"_index":1761,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["a021627fd9d3the",{"_index":1907,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["a05bd8a",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1513,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["abstract",{"_index":10,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["abstraction",{"_index":151,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["abstractvalidationhandler",{"_index":1,"title":{"classes/AbstractValidationHandler.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["accept",{"_index":947,"title":{},"body":{"changelog.html":{}}}],["access",{"_index":1110,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["access_token",{"_index":63,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{}}}],["accesstoken",{"_index":75,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["according",{"_index":1144,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["account",{"_index":2077,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["acr_values_supported",{"_index":716,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["action",{"_index":1600,"title":{},"body":{"license.html":{},"additional-documentation/session-checks.html":{}}}],["activate",{"_index":1888,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["activated",{"_index":1881,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["active",{"_index":1301,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["actual",{"_index":578,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ad",{"_index":1303,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["adapt",{"_index":1863,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["add",{"_index":974,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["added",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["adding",{"_index":1951,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["addition",{"_index":1885,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["additional",{"_index":563,"title":{"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["adhere",{"_index":1940,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["adjust",{"_index":1647,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["advanced",{"_index":1697,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["against",{"_index":61,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["alert(1",{"_index":182,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["alg",{"_index":49,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["alg.match(/^.s[0",{"_index":106,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["alg.substr(2",{"_index":113,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["algorithm",{"_index":29,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["algorithms",{"_index":153,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aliases",{"_index":1611,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["alice/alice",{"_index":1385,"title":{},"body":{"index.html":{}}}],["align",{"_index":1428,"title":{},"body":{"index.html":{}}}],["allocate",{"_index":480,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["allow",{"_index":1085,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["allowedurls",{"_index":830,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["allows",{"_index":882,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["already",{"_index":13,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["alternative",{"_index":1683,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["although",{"_index":2003,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ambient",{"_index":1043,"title":{},"body":{"changelog.html":{}}}],["analyzing",{"_index":1190,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1570,"title":{},"body":{"license.html":{}}}],["angular",{"_index":520,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["angular/animations",{"_index":1193,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":811,"title":{},"body":{"modules/OAuthModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":218,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["angular/compiler",{"_index":1195,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":127,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["angular/elements",{"_index":1196,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":1197,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":1198,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["angular/router",{"_index":1201,"title":{},"body":{"dependencies.html":{}}}],["another",{"_index":1669,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["any).array(valuetohash",{"_index":175,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["anymore",{"_index":637,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["aot",{"_index":2035,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["api",{"_index":1399,"title":{"additional-documentation/original-config-api.html":{}},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["api's",{"_index":2086,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["apis",{"_index":1396,"title":{},"body":{"index.html":{}}}],["app",{"_index":1151,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["app's",{"_index":2082,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["app.component.html",{"_index":1971,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["app/app.component",{"_index":1407,"title":{},"body":{"index.html":{}}}],["app/home.html",{"_index":1975,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["appcomponent",{"_index":1406,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["applicable",{"_index":1843,"title":{},"body":{"additional-documentation/events.html":{}}}],["application",{"_index":546,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["applications",{"_index":555,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["appmodule",{"_index":1426,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["approach",{"_index":1674,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["approutermodule",{"_index":1855,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["arbitrary",{"_index":1703,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["argument",{"_index":1528,"title":{},"body":{"index.html":{}}}],["arising",{"_index":1603,"title":{},"body":{"license.html":{}}}],["arr",{"_index":1249,"title":{},"body":{"miscellaneous/functions.html":{}}}],["array",{"_index":457,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["arraybuffer",{"_index":138,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aspnetcore",{"_index":1909,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["asset",{"_index":1721,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["assets",{"_index":1724,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["associated",{"_index":1559,"title":{},"body":{"license.html":{}}}],["asstring",{"_index":91,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["assumes",{"_index":1378,"title":{},"body":{"index.html":{}}}],["async",{"_index":25,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["at_hash",{"_index":60,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["athash",{"_index":97,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["attacks",{"_index":606,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["attempts",{"_index":1704,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["audience",{"_index":2087,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth",{"_index":621,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{}}}],["auth.config",{"_index":1967,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["auth0",{"_index":1272,"title":{"additional-documentation/authorization-servers/auth0.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["auth0's",{"_index":2088,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth_config",{"_index":1614,"title":{},"body":{"miscellaneous/variables.html":{}}}],["authcodeflowconfig",{"_index":1436,"title":{},"body":{"index.html":{}}}],["authconfig",{"_index":1435,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["authenticated",{"_index":1906,"title":{},"body":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["authentication",{"_index":1542,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["authorization",{"_index":2070,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["authorization_endpoint",{"_index":705,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["authorizations",{"_index":2072,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["authors",{"_index":1593,"title":{},"body":{"license.html":{}}}],["authstorage",{"_index":1773,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["automate",{"_index":1495,"title":{},"body":{"index.html":{}}}],["automatic",{"_index":1080,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1362,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["available",{"_index":1540,"title":{},"body":{"index.html":{},"modules.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["avoid",{"_index":604,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["await",{"_index":88,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["awesome",{"_index":1187,"title":{},"body":{"changelog.html":{}}}],["azure",{"_index":1300,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["b",{"_index":162,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["b486546",{"_index":1029,"title":{},"body":{"changelog.html":{}}}],["b64decodeunicode",{"_index":1230,"title":{},"body":{"miscellaneous/functions.html":{}}}],["b64decodeunicode(str",{"_index":1244,"title":{},"body":{"miscellaneous/functions.html":{}}}],["back",{"_index":1795,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["backend",{"_index":1268,"title":{},"body":{"index.html":{}}}],["backwards",{"_index":2062,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["base",{"_index":1932,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["base64",{"_index":70,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"dependencies.html":{}}}],["base64urlencode",{"_index":69,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/functions.html":{}}}],["base64urlencode(leftmosthalf",{"_index":98,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["base64urlencode(str",{"_index":1246,"title":{},"body":{"miscellaneous/functions.html":{}}}],["based",{"_index":1120,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["bases",{"_index":1421,"title":{},"body":{"index.html":{}}}],["bbff95b",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["bearer",{"_index":268,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["beaugrand",{"_index":1950,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["beeing",{"_index":987,"title":{},"body":{"changelog.html":{}}}],["before",{"_index":942,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["beginning",{"_index":535,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["behavior",{"_index":2075,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["below",{"_index":2001,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["best",{"_index":612,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["better",{"_index":1988,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["between",{"_index":1650,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["big",{"_index":1172,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1893,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["bitlenhi",{"_index":425,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["bitlenlo",{"_index":427,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["blocked",{"_index":988,"title":{},"body":{"changelog.html":{}}}],["blockers",{"_index":989,"title":{},"body":{"changelog.html":{}}}],["blocksize",{"_index":276,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["blog",{"_index":1305,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["bob/bob",{"_index":1384,"title":{},"body":{"index.html":{}}}],["boolean",{"_index":237,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["bootstrap",{"_index":1210,"title":{},"body":{"dependencies.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bootstrapapplication",{"_index":1404,"title":{},"body":{"index.html":{}}}],["bootstrapapplication(appcomponent",{"_index":1408,"title":{},"body":{"index.html":{}}}],["bootstrapping",{"_index":1473,"title":{},"body":{"index.html":{}}}],["breaking",{"_index":1519,"title":{},"body":{"index.html":{}}}],["brecht",{"_index":1174,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1607,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":1199,"title":{},"body":{"dependencies.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["browsers",{"_index":1376,"title":{},"body":{"index.html":{}}}],["buffer",{"_index":140,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["buffer.length",{"_index":483,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["bufpos",{"_index":482,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["bug",{"_index":908,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bugfixes",{"_index":1341,"title":{},"body":{"index.html":{}}}],["build",{"_index":1070,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bump",{"_index":1006,"title":{},"body":{"changelog.html":{}}}],["bundle",{"_index":557,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bundling",{"_index":1289,"title":{},"body":{"index.html":{}}}],["button",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["bytearray",{"_index":143,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["bytearray].map(value",{"_index":188,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["byteshashed",{"_index":422,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["c",{"_index":378,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"license.html":{}}}],["c2b2753",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["c799ead",{"_index":1111,"title":{},"body":{"changelog.html":{}}}],["c9a2c55",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["ca435c0",{"_index":1024,"title":{},"body":{"changelog.html":{}}}],["cae715e",{"_index":1014,"title":{},"body":{"changelog.html":{}}}],["calchash",{"_index":20,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["calchash(valuetohash",{"_index":27,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["calculates",{"_index":32,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["call",{"_index":1400,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["callback",{"_index":1781,"title":{"additional-documentation/callback-after-login.html":{}},"body":{"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["called",{"_index":619,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["calling",{"_index":1494,"title":{},"body":{"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["calls",{"_index":825,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"changelog.html":{}}}],["cand",{"_index":181,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["candhash",{"_index":173,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["care",{"_index":1634,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["carefully",{"_index":534,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["carlier",{"_index":1175,"title":{},"body":{"changelog.html":{}}}],["carry",{"_index":2045,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["case",{"_index":1500,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["cases",{"_index":1694,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["catch",{"_index":1506,"title":{},"body":{"index.html":{}}}],["catch(err",{"_index":1730,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["catcherror",{"_index":221,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["catcherror((_",{"_index":261,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["change",{"_index":1520,"title":{},"body":{"index.html":{}}}],["changelog",{"_index":904,"title":{"changelog.html":{}},"body":{"changelog.html":{}}}],["changes",{"_index":1073,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["charactes",{"_index":883,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["charge",{"_index":1554,"title":{},"body":{"license.html":{}}}],["check",{"_index":603,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["check_session_iframe",{"_index":710,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["checks",{"_index":1095,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["checkurl(url",{"_index":236,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["chore",{"_index":998,"title":{},"body":{"changelog.html":{}}}],["chore(deps",{"_index":1005,"title":{},"body":{"changelog.html":{}}}],["chore(release",{"_index":1015,"title":{},"body":{"changelog.html":{}}}],["circular",{"_index":1765,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["cites",{"_index":2004,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["cjs",{"_index":1959,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["claim",{"_index":1596,"title":{},"body":{"license.html":{}}}],["claim_types_supported",{"_index":728,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["claims",{"_index":678,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims.given_name",{"_index":1980,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims_parameter_supported",{"_index":730,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["claims_supported",{"_index":729,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["claimsathash",{"_index":99,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"classes/ReceivedTokens.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"classes/ReceivedTokens.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"overview.html":{}}}],["clean",{"_index":278,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["clear",{"_index":633,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["clears",{"_index":1477,"title":{},"body":{"index.html":{}}}],["cli",{"_index":1719,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cli.json",{"_index":1723,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["click",{"_index":950,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":663,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["client_id",{"_index":2090,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["clientid",{"_index":1442,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["clientids",{"_index":1386,"title":{},"body":{"index.html":{}}}],["closes",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["code",{"_index":550,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["code_challenge",{"_index":1058,"title":{},"body":{"changelog.html":{}}}],["code_error",{"_index":765,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["codeflow",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["codes",{"_index":1749,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["collisions",{"_index":477,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["come",{"_index":1676,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["commands",{"_index":1355,"title":{},"body":{"index.html":{}}}],["commit",{"_index":1078,"title":{},"body":{"changelog.html":{}}}],["commonjs",{"_index":1288,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":810,"title":{},"body":{"modules/OAuthModule.html":{}}}],["communication",{"_index":1734,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["community",{"_index":1278,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["compat",{"_index":1218,"title":{},"body":{"dependencies.html":{}}}],["compatibility",{"_index":1419,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["compatible",{"_index":647,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["compensates",{"_index":1664,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["complex",{"_index":1714,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["compliant",{"_index":2071,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["compodoc/compodoc",{"_index":1356,"title":{},"body":{"index.html":{}}}],["component",{"_index":1911,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["components",{"_index":1397,"title":{},"body":{"index.html":{}}}],["conditions",{"_index":1577,"title":{},"body":{"license.html":{}}}],["config",{"_index":807,"title":{"additional-documentation/original-config-api.html":{}},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["configuration",{"_index":1368,"title":{},"body":{"index.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["configure",{"_index":1433,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["configured",{"_index":991,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["configuring",{"_index":1640,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["connect",{"_index":688,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/authorization-servers.html":{}}}],["connection",{"_index":1604,"title":{},"body":{"license.html":{}}}],["considered",{"_index":1532,"title":{},"body":{"index.html":{}}}],["consistent",{"_index":1945,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["console",{"_index":648,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["console.debug(\"logged",{"_index":1786,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.debug('given_name",{"_index":2026,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('hash",{"_index":179,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["console.debug('ok",{"_index":2032,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('refresh",{"_index":1728,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.debug('state",{"_index":1626,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["console.debug('your",{"_index":1901,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["console.debug(context",{"_index":1787,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.error('actual",{"_index":102,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["console.error('exptected",{"_index":101,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["console.error('refresh",{"_index":1731,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.error(err",{"_index":560,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["console.error(event",{"_index":1826,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.log(e));or",{"_index":1818,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.warn(event",{"_index":1827,"title":{},"body":{"additional-documentation/events.html":{}}}],["const",{"_index":147,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/UrlHelperService.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["constants",{"_index":304,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["constructor",{"_index":201,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/JwksValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["constructor(key",{"_index":283,"title":{},"body":{"classes/HMAC.html":{}}}],["constructor(oauthservice",{"_index":202,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["constructor(private",{"_index":1912,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["constructor(readonly",{"_index":781,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["constructor(type",{"_index":753,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["contain",{"_index":1338,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1861,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["context",{"_index":1783,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["contract",{"_index":1601,"title":{},"body":{"license.html":{}}}],["contribute",{"_index":1349,"title":{},"body":{"index.html":{}}}],["contributer",{"_index":1027,"title":{},"body":{"changelog.html":{}}}],["contributers",{"_index":1173,"title":{},"body":{"changelog.html":{}}}],["contribution",{"_index":1789,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["contributions",{"_index":1343,"title":{},"body":{"index.html":{}}}],["contributors",{"_index":1548,"title":{},"body":{"index.html":{}}}],["control",{"_index":2041,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["controls",{"_index":638,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["convenience",{"_index":1466,"title":{},"body":{"index.html":{}}}],["cookie",{"_index":1671,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cookies",{"_index":1093,"title":{},"body":{"changelog.html":{}}}],["copied",{"_index":1718,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["copies",{"_index":1572,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1557,"title":{},"body":{"license.html":{}}}],["copying",{"_index":1068,"title":{},"body":{"changelog.html":{}}}],["copyright",{"_index":1549,"title":{},"body":{"license.html":{}}}],["core",{"_index":689,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{}}}],["correctly",{"_index":919,"title":{},"body":{"changelog.html":{}}}],["corrupted",{"_index":941,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":2096,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["cought",{"_index":1760,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["counter",{"_index":449,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["counter[0",{"_index":460,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["counterparts",{"_index":1530,"title":{},"body":{"index.html":{}}}],["create",{"_index":667,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/popup-based-login.html":{}}}],["created",{"_index":1311,"title":{},"body":{"index.html":{}}}],["createdefaultlogger",{"_index":1233,"title":{},"body":{"miscellaneous/functions.html":{}}}],["createdefaultstorage",{"_index":1235,"title":{},"body":{"miscellaneous/functions.html":{}}}],["creates",{"_index":1764,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["credentials",{"_index":2021,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["credits",{"_index":1264,"title":{},"body":{"index.html":{}}}],["critical",{"_index":1340,"title":{},"body":{"index.html":{}}}],["cross",{"_index":1716,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["crypto",{"_index":152,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["ctr[1",{"_index":485,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["ctr[2",{"_index":486,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["ctr[3",{"_index":487,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["current",{"_index":1429,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["cust",{"_index":1034,"title":{},"body":{"changelog.html":{}}}],["custom",{"_index":574,"title":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customhashfragment",{"_index":566,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["customize",{"_index":2033,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customparameters",{"_index":946,"title":{},"body":{"changelog.html":{}}}],["customqueryparams",{"_index":1801,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["customredirecturi",{"_index":567,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["customurlvalidation",{"_index":831,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["cycle",{"_index":1334,"title":{},"body":{"index.html":{}}}],["d",{"_index":161,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"changelog.html":{}}}],["da16494",{"_index":966,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1597,"title":{},"body":{"license.html":{}}}],["daniel",{"_index":1176,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":169,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-password-flow.html":{}}}],["data.length",{"_index":507,"title":{},"body":{"classes/Hash.html":{}}}],["data[datapos",{"_index":410,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["datalength",{"_index":411,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["datapos",{"_index":415,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["date",{"_index":123,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["date.now",{"_index":130,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["datetimeprovider",{"_index":117,"title":{"classes/DateTimeProvider.html":{}},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{}}}],["datetimeprovider:10",{"_index":853,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["datetimeprovider:14",{"_index":852,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["deal",{"_index":1561,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1605,"title":{},"body":{"license.html":{}}}],["debug",{"_index":788,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["debug(message",{"_index":654,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["debugging",{"_index":1814,"title":{},"body":{"additional-documentation/events.html":{}}}],["decide",{"_index":1874,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["declarations",{"_index":815,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["decodekey",{"_index":886,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodekey(k",{"_index":890,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(hash",{"_index":864,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["decodeuricomponent(k",{"_index":900,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(v",{"_index":901,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeutf8",{"_index":1236,"title":{},"body":{"miscellaneous/functions.html":{}}}],["decodeutf8(s",{"_index":156,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["decodevalue",{"_index":887,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodevalue(v",{"_index":892,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["default",{"_index":287,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["defaultextension",{"_index":1960,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["defaulthashhandler",{"_index":131,"title":{"injectables/DefaultHashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{}}}],["defaultoauthinterceptor",{"_index":196,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["defaults",{"_index":1679,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["define",{"_index":1720,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["defined",{"_index":30,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["defines",{"_index":615,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["deleted",{"_index":1884,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["demand",{"_index":1342,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demands",{"_index":1444,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demo",{"_index":1090,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["demonstration",{"_index":1784,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["dep",{"_index":1026,"title":{},"body":{"changelog.html":{}}}],["dependancy",{"_index":1104,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":1192,"title":{"dependencies.html":{}},"body":{"dependencies.html":{},"overview.html":{}}}],["dependency",{"_index":548,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["depending",{"_index":1468,"title":{},"body":{"index.html":{}}}],["deprecated",{"_index":624,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["deps",{"_index":1954,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["described",{"_index":1659,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["describes",{"_index":2061,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["description",{"_index":9,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}}}],["design",{"_index":2029,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["details",{"_index":1099,"title":{},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/original-config-api.html":{}}}],["detects",{"_index":620,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["different",{"_index":1822,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["digest",{"_index":279,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["digestlength",{"_index":277,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["directed",{"_index":2057,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["directly",{"_index":1491,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["directory",{"_index":1302,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["disable",{"_index":601,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["disableathashcheck",{"_index":1036,"title":{},"body":{"changelog.html":{}}}],["disabled",{"_index":1834,"title":{},"body":{"additional-documentation/events.html":{}}}],["disablenoncecheck",{"_index":568,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["disableoauth2statecheck",{"_index":569,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["discovery",{"_index":701,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["discovery_document_load_error",{"_index":760,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["discovery_document_loaded",{"_index":757,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["discovery_document_validation_error",{"_index":761,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["display",{"_index":1486,"title":{},"body":{"index.html":{}}}],["display_values_supported",{"_index":727,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["displayed",{"_index":636,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["distribute",{"_index":1568,"title":{},"body":{"license.html":{}}}],["dklen",{"_index":1257,"title":{},"body":{"miscellaneous/functions.html":{}}}],["docs",{"_index":1098,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["docs(readme",{"_index":1061,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":702,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["documentation",{"_index":1275,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["documentation/refreshing",{"_index":1504,"title":{},"body":{"index.html":{}}}],["documentation/using",{"_index":1517,"title":{},"body":{"index.html":{}}}],["documented",{"_index":1075,"title":{},"body":{"changelog.html":{}}}],["doesn't",{"_index":1926,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["doing",{"_index":617,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["domain",{"_index":1717,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["domains",{"_index":1938,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["don't",{"_index":1485,"title":{},"body":{"index.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["dosn't",{"_index":2065,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["draft",{"_index":1430,"title":{},"body":{"index.html":{}}}],["dummy",{"_index":512,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["dummyclientsecret",{"_index":1453,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["during",{"_index":1710,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["dynamic",{"_index":1200,"title":{},"body":{"dependencies.html":{}}}],["e",{"_index":183,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["e.g",{"_index":1715,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["e.type",{"_index":258,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["e2599e0",{"_index":1116,"title":{},"body":{"changelog.html":{}}}],["e2e",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["e89aa6d",{"_index":1071,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":1337,"title":{},"body":{"index.html":{}}}],["ease",{"_index":1367,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["easier",{"_index":1662,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["easiest",{"_index":1767,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["edge",{"_index":1696,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["elements",{"_index":1205,"title":{},"body":{"dependencies.html":{}}}],["email",{"_index":1463,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["enable",{"_index":1921,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["encode",{"_index":1537,"title":{},"body":{"index.html":{}}}],["encodekey",{"_index":888,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodekey(k",{"_index":894,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encoder",{"_index":165,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"dependencies.html":{}}}],["encoder.encode(valuetohash",{"_index":170,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodeuricomponent",{"_index":1527,"title":{},"body":{"index.html":{}}}],["encodeuricomponent(k",{"_index":898,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeuricomponent(v",{"_index":899,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeutf8",{"_index":1238,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(arr",{"_index":1248,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(fsha256(decodeutf8(valuetohash",{"_index":174,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodevalue",{"_index":889,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodevalue(v",{"_index":896,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encounter",{"_index":1829,"title":{},"body":{"additional-documentation/events.html":{}}}],["end",{"_index":1309,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["end_session_endpoint",{"_index":711,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["endpoint",{"_index":686,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["endpoints",{"_index":1930,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["endpont",{"_index":2014,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ends",{"_index":1882,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["enforce",{"_index":1449,"title":{},"body":{"index.html":{}}}],["enhancements",{"_index":1347,"title":{},"body":{"index.html":{}}}],["ensure",{"_index":476,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["ensures",{"_index":1929,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["enter",{"_index":1986,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["enters",{"_index":1361,"title":{},"body":{"index.html":{}}}],["enum",{"_index":1846,"title":{},"body":{"additional-documentation/events.html":{}}}],["environment",{"_index":1283,"title":{},"body":{"index.html":{}}}],["environmentproviders",{"_index":1260,"title":{},"body":{"miscellaneous/functions.html":{}}}],["environments",{"_index":610,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["erazerbrecht",{"_index":1170,"title":{},"body":{"changelog.html":{}}}],["err",{"_index":531,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"miscellaneous/variables.html":{}}}],["err));when",{"_index":1732,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["error",{"_index":230,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["error('algorithm",{"_index":110,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["error(message",{"_index":659,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["errorhandler",{"_index":204,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["errors",{"_index":1746,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["escapedkey",{"_index":873,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["escapedvalue",{"_index":874,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["esm",{"_index":1030,"title":{},"body":{"changelog.html":{}}}],["etc",{"_index":1423,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["event",{"_index":975,"title":{},"body":{"changelog.html":{},"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["events",{"_index":626,"title":{"additional-documentation/events.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["events.ts",{"_index":1847,"title":{},"body":{"additional-documentation/events.html":{}}}],["eventtype",{"_index":754,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["example",{"_index":1307,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["examples",{"_index":1377,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["execute",{"_index":1472,"title":{},"body":{"index.html":{}}}],["existing",{"_index":1420,"title":{},"body":{"index.html":{}}}],["exists",{"_index":447,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["expanding",{"_index":474,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["expected",{"_index":1835,"title":{},"body":{"additional-documentation/events.html":{}}}],["expects",{"_index":2089,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["experience",{"_index":2073,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["expired",{"_index":2030,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["expires",{"_index":1365,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["expires_in",{"_index":693,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["explicit",{"_index":1108,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["explicitly",{"_index":1873,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["export",{"_index":72,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["exports",{"_index":816,"title":{},"body":{"modules/OAuthModule.html":{}}}],["express",{"_index":1584,"title":{},"body":{"license.html":{}}}],["extend",{"_index":2038,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["extends",{"_index":129,"title":{},"body":{"classes/DateTimeProvider.html":{},"classes/JwksValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["extensions",{"_index":1011,"title":{},"body":{"changelog.html":{}}}],["extensive",{"_index":1820,"title":{},"body":{"additional-documentation/events.html":{}}}],["extract",{"_index":469,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["extracted",{"_index":475,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["extraction",{"_index":1166,"title":{},"body":{"changelog.html":{}}}],["f",{"_index":379,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["f42f943",{"_index":1021,"title":{},"body":{"changelog.html":{}}}],["f5bd96c",{"_index":926,"title":{},"body":{"changelog.html":{}}}],["fact",{"_index":1665,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["factor",{"_index":1648,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["factory",{"_index":144,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["fail",{"_index":1942,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["fails",{"_index":1927,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{}}],["fall",{"_index":1794,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["fallback",{"_index":1713,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["false",{"_index":498,"title":{},"body":{"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["far",{"_index":1661,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["fast",{"_index":149,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"dependencies.html":{}}}],["fb3afe4",{"_index":1041,"title":{},"body":{"changelog.html":{}}}],["feat(oauth",{"_index":1032,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":958,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["feel",{"_index":1344,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fetch",{"_index":1474,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["fetching",{"_index":2018,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ff7d1d9",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["fhash",{"_index":171,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["field",{"_index":50,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["file",{"_index":5,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["files",{"_index":1560,"title":{},"body":{"license.html":{}}}],["fillbuffer",{"_index":1239,"title":{},"body":{"miscellaneous/functions.html":{}}}],["fillbuffer(buffer",{"_index":1250,"title":{},"body":{"miscellaneous/functions.html":{}}}],["filled",{"_index":463,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["filter",{"_index":222,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["filter((e",{"_index":257,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["final",{"_index":438,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finalized",{"_index":419,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finalizes",{"_index":416,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finally",{"_index":1712,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["find",{"_index":1619,"title":{},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["fine",{"_index":1509,"title":{},"body":{"index.html":{}}}],["finish",{"_index":280,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finish(out",{"_index":295,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["finished",{"_index":492,"title":{},"body":{"classes/Hash.html":{}}}],["fired",{"_index":1642,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["first",{"_index":1456,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["fitness",{"_index":1589,"title":{},"body":{"license.html":{}}}],["fix",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["fix(lib",{"_index":1067,"title":{},"body":{"changelog.html":{}}}],["fixed",{"_index":1117,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":909,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["flag",{"_index":607,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["flight",{"_index":1969,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["flow",{"_index":542,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["flow.html",{"_index":1518,"title":{},"body":{"index.html":{}}}],["flow.md",{"_index":1049,"title":{},"body":{"changelog.html":{}}}],["flows",{"_index":584,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["focusing",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["folder",{"_index":1351,"title":{},"body":{"index.html":{}}}],["followed",{"_index":588,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["following",{"_index":593,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["follows",{"_index":2034,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers.html":{}}}],["for(var",{"_index":1699,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["form",{"_index":1484,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["format",{"_index":1958,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["former",{"_index":1866,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["forroot",{"_index":803,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{}}}],["forroot(config",{"_index":804,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forward",{"_index":1705,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["forwards",{"_index":1479,"title":{},"body":{"index.html":{}}}],["found",{"_index":1774,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["foundation",{"_index":1432,"title":{},"body":{"index.html":{}}}],["four",{"_index":1457,"title":{},"body":{"index.html":{}}}],["fragment",{"_index":575,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["free",{"_index":1345,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fsha256",{"_index":148,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["fsha256(valuetohash",{"_index":172,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["full",{"_index":1845,"title":{},"body":{"additional-documentation/events.html":{}}}],["function",{"_index":155,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"classes/OAuthResourceServerConfig.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["functions",{"_index":1229,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":1575,"title":{},"body":{"license.html":{}}}],["further",{"_index":1371,"title":{},"body":{"index.html":{}}}],["g",{"_index":380,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["geheim",{"_index":2007,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then",{"_index":2028,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then((resp",{"_index":2023,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["general",{"_index":1446,"title":{},"body":{"index.html":{}}}],["generate",{"_index":1354,"title":{},"body":{"index.html":{}}}],["gethashfragmentparams",{"_index":857,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["gethashfragmentparams(customhashfragment",{"_index":859,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["getitem",{"_index":734,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["getitem(key",{"_index":670,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["gets",{"_index":1057,"title":{},"body":{"changelog.html":{}}}],["getting",{"_index":902,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["github.com/manfredsteyer/angular",{"_index":913,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1735,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["go",{"_index":1410,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["gone",{"_index":1841,"title":{},"body":{"additional-documentation/events.html":{}}}],["google",{"_index":1935,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["grant",{"_index":967,"title":{},"body":{"changelog.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["grant_types_supported",{"_index":718,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["granted",{"_index":1553,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1606,"title":{},"body":{"modules.html":{}}}],["great",{"_index":1788,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{}}}],["guard",{"_index":1113,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["guards",{"_index":1281,"title":{},"body":{"index.html":{}}}],["guide",{"_index":1620,"title":{},"body":{"additional-documentation/getting-started.html":{}}}],["guidelines",{"_index":1079,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["h",{"_index":381,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["half",{"_index":1653,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["hallo",{"_index":1982,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["handle",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["handle(req",{"_index":251,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["handleerror",{"_index":834,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["handleerror(err",{"_index":835,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler",{"_index":231,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler.ts",{"_index":8,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["handler.ts:11",{"_index":746,"title":{},"body":{"classes/NullValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{}}}],["handler.ts:12",{"_index":508,"title":{},"body":{"classes/HashHandler.html":{}}}],["handler.ts:20",{"_index":879,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:25",{"_index":525,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["handler.ts:27",{"_index":878,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:33",{"_index":136,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:41",{"_index":66,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:46",{"_index":58,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:5",{"_index":842,"title":{},"body":{"classes/OAuthResourceServerErrorHandler.html":{}}}],["handler.ts:52",{"_index":142,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:60",{"_index":139,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:71",{"_index":47,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:8",{"_index":747,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["handler.ts:88",{"_index":31,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handlers",{"_index":80,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["handling",{"_index":1744,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["hash",{"_index":33,"title":{"classes/Hash.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hash().update(key).finish(pad).clean",{"_index":445,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hash(data",{"_index":1251,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hash.indexof",{"_index":865,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(1",{"_index":868,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(questionmarkposition",{"_index":867,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hashalg",{"_index":85,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["hasharray",{"_index":167,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashblocks",{"_index":371,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["hashblocks(this.temp",{"_index":412,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hashblocks(w",{"_index":1252,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hashhandler",{"_index":154,"title":{"classes/HashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashing",{"_index":1265,"title":{},"body":{"index.html":{}}}],["hashlocationstrategy",{"_index":1287,"title":{},"body":{"index.html":{}}}],["hashstrategy",{"_index":1512,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hashstring",{"_index":176,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hasreceivedtokens",{"_index":2044,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["header",{"_index":55,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["headers",{"_index":269,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["helper",{"_index":71,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["helper.service.ts",{"_index":856,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:25",{"_index":862,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:5",{"_index":860,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.ts",{"_index":1232,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hence",{"_index":1358,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["here",{"_index":1299,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["here's",{"_index":1828,"title":{},"body":{"additional-documentation/events.html":{}}}],["hereby",{"_index":1552,"title":{},"body":{"license.html":{}}}],["hexcode",{"_index":189,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcode.padstart(2",{"_index":192,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes",{"_index":187,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes.join",{"_index":193,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexstring(buffer",{"_index":186,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hidden",{"_index":1667,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["hkdf",{"_index":465,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["hkdf(key",{"_index":1253,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hkdfsalt",{"_index":461,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["hmac",{"_index":272,"title":{"classes/HMAC.html":{}},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["hmac(key",{"_index":1254,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hmac(okm",{"_index":479,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac(salt",{"_index":472,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.finish(buffer",{"_index":453,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.update(buffer",{"_index":446,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.update(counter",{"_index":450,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac.update(info",{"_index":448,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["hmac_",{"_index":478,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["holders",{"_index":1594,"title":{},"body":{"license.html":{}}}],["home",{"_index":1785,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["homecomponent",{"_index":1425,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["hook",{"_index":643,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["hooked",{"_index":81,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["html",{"_index":1708,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["http",{"_index":1747,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["http://localhost:4200",{"_index":1381,"title":{},"body":{"index.html":{}}}],["http://localhost:8080/#/home",{"_index":1862,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["http://openid.net/specs/openid",{"_index":687,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["http://www.angular.at/api",{"_index":1501,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["httpclient",{"_index":1409,"title":{},"body":{"index.html":{}}}],["httpclientmodule",{"_index":1412,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["httperrorresponse",{"_index":1770,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpevent",{"_index":216,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httphandler",{"_index":212,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptor",{"_index":217,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptors",{"_index":1741,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{}}],["httpmodule",{"_index":1129,"title":{},"body":{"changelog.html":{}}}],["httpparametercodec",{"_index":885,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["httprequest",{"_index":210,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpresponse",{"_index":836,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["https://dev",{"_index":2080,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["https://github.com/jeroenheijmans/sample",{"_index":1280,"title":{},"body":{"index.html":{}}}],["https://github.com/lankaapura/angular",{"_index":1908,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://github.com/manfredsteyer/angular",{"_index":969,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["https://idsvr4.azurewebsites.net",{"_index":1437,"title":{},"body":{"index.html":{}}}],["https://manfredsteyer.github.io/angular",{"_index":1276,"title":{},"body":{"index.html":{}}}],["https://medium.com/lankapura/angular",{"_index":1905,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://steyer",{"_index":1677,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["i.e",{"_index":1934,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["i=0",{"_index":1700,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["id",{"_index":679,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["id_token",{"_index":51,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["id_token's",{"_index":53,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["id_token_encryption_alg_values_supported",{"_index":724,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["id_token_encryption_enc_values_supported",{"_index":725,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["id_token_signing_alg_values_supported",{"_index":723,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["idclaims",{"_index":680,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ideas",{"_index":1346,"title":{},"body":{"index.html":{}}}],["identity",{"_index":1148,"title":{"additional-documentation/authorization-servers/using-identity-server.html":{}},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{}}}],["identityserver",{"_index":1293,"title":{},"body":{"index.html":{}}}],["idsvr",{"_index":1062,"title":{},"body":{"changelog.html":{},"additional-documentation/server-side-rendering.html":{}}}],["idtoken",{"_index":74,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["idtokenclaims",{"_index":77,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["idtokenclaimsjson",{"_index":682,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["idtokenexpiresat",{"_index":684,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["idtokenheader",{"_index":76,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["idtokenheaderjson",{"_index":683,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ie",{"_index":1118,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["iframe",{"_index":1668,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iframes",{"_index":582,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ignores",{"_index":2095,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["implcit",{"_index":1999,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["implemantion",{"_index":1758,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["implement",{"_index":1756,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["implementation",{"_index":11,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["implementations",{"_index":668,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["implemented",{"_index":1878,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["implementing",{"_index":539,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["implements",{"_index":14,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["implicit",{"_index":541,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{}},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["implied",{"_index":1585,"title":{},"body":{"license.html":{}}}],["import",{"_index":68,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["important",{"_index":1458,"title":{},"body":{"index.html":{}}}],["importprovidersfrom",{"_index":1413,"title":{},"body":{"index.html":{}}}],["importprovidersfrom(httpclientmodule",{"_index":1414,"title":{},"body":{"index.html":{}}}],["imports",{"_index":814,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["included",{"_index":622,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"license.html":{}}}],["includes",{"_index":616,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["including",{"_index":1056,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":999,"title":{},"body":{"changelog.html":{}}}],["increment",{"_index":454,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["indeed",{"_index":1701,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["index",{"_index":21,"title":{"index.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["index.html",{"_index":1439,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["indexable",{"_index":876,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["inferhashalgorithm",{"_index":24,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["inferhashalgorithm(jwtheader",{"_index":45,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["infers",{"_index":48,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["info(message",{"_index":656,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["info.state",{"_index":1627,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["information",{"_index":1314,"title":{},"body":{"index.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/original-config-api.html":{}}}],["informs",{"_index":1809,"title":{},"body":{"additional-documentation/events.html":{}}}],["inherited",{"_index":527,"title":{},"body":{"classes/JwksValidationHandler.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["initial",{"_index":1711,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initialize",{"_index":473,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{}}}],["initializes",{"_index":1467,"title":{},"body":{"index.html":{}}}],["initialnavigation",{"_index":1858,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initimplicitflow",{"_index":1529,"title":{},"body":{"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-implicit-flow.html":{}}}],["initloginflow",{"_index":1065,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["initloginflowinpopup",{"_index":984,"title":{},"body":{"changelog.html":{},"additional-documentation/popup-based-login.html":{}}}],["inject",{"_index":1769,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injectable",{"_index":126,"title":{"injectables/DefaultHashHandler.html":{},"injectables/MemoryStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{}},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["injectables",{"_index":132,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"injectables/MemoryStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"overview.html":{}}}],["injecting",{"_index":1763,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injection",{"_index":652,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["injectiontoken",{"_index":1162,"title":{},"body":{"changelog.html":{}}}],["injectiontoken('auth_config",{"_index":1618,"title":{},"body":{"miscellaneous/variables.html":{}}}],["inline",{"_index":1023,"title":{},"body":{"changelog.html":{}}}],["inside",{"_index":455,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["install",{"_index":543,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["installing",{"_index":1393,"title":{},"body":{"index.html":{}}}],["instance",{"_index":452,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["instanceof",{"_index":1825,"title":{},"body":{"additional-documentation/events.html":{}}}],["instead",{"_index":577,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["int32array",{"_index":373,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["intended",{"_index":1964,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["interaction",{"_index":1673,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["intercept",{"_index":200,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["intercept(req",{"_index":209,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["intercepted",{"_index":826,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["interceptor",{"_index":195,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"index.html":{}}}],["interceptors",{"_index":197,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["interesting",{"_index":2042,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["interface",{"_index":73,"title":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["interfaces",{"_index":847,"title":{},"body":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"overview.html":{}}}],["internal",{"_index":441,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["internally",{"_index":598,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["introduce",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["introduced",{"_index":1398,"title":{},"body":{"index.html":{}}}],["invalid_nonce_in_state",{"_index":759,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["ionic",{"_index":1546,"title":{},"body":{"index.html":{}}}],["isn't",{"_index":741,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["isresponse(str",{"_index":1698,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["issue",{"_index":1042,"title":{},"body":{"changelog.html":{}}}],["issuer",{"_index":704,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["issues",{"_index":1091,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["issuing",{"_index":1666,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iterations",{"_index":1256,"title":{},"body":{"miscellaneous/functions.html":{}}}],["ivy",{"_index":1046,"title":{},"body":{"changelog.html":{}}}],["j",{"_index":383,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["java",{"_index":1271,"title":{},"body":{"index.html":{}}}],["jeroenheijmans",{"_index":1186,"title":{},"body":{"changelog.html":{}}}],["jie",{"_index":1177,"title":{},"body":{"changelog.html":{}}}],["job",{"_index":1188,"title":{},"body":{"changelog.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["js",{"_index":145,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"dependencies.html":{},"additional-documentation/using-systemjs.html":{}}}],["jsrsasign",{"_index":933,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["jwks",{"_index":78,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["jwks';instead",{"_index":1525,"title":{},"body":{"index.html":{}}}],["jwks_load_error",{"_index":758,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["jwks_uri",{"_index":712,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["jwksvalidationhandler",{"_index":509,"title":{"classes/JwksValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["jwksvalidationhandler();in",{"_index":1871,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["jwt",{"_index":965,"title":{},"body":{"changelog.html":{}}}],["jwtheader",{"_index":52,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["jwtheader['alg",{"_index":105,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["k",{"_index":305,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/variables.html":{}}}],["keep",{"_index":1686,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["kevin",{"_index":1949,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["key",{"_index":286,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"miscellaneous/functions.html":{}}}],["keycloak",{"_index":1269,"title":{"additional-documentation/authorization-servers/using-keycloak.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{}}}],["keys",{"_index":1867,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["kicks",{"_index":1996,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["kind",{"_index":1583,"title":{},"body":{"license.html":{}}}],["known",{"_index":1663,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["known/openid",{"_index":2010,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["labat",{"_index":1185,"title":{},"body":{"changelog.html":{}}}],["labels",{"_index":1348,"title":{},"body":{"index.html":{}}}],["laing",{"_index":1183,"title":{},"body":{"changelog.html":{}}}],["later",{"_index":1868,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["leads",{"_index":1766,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{}}}],["left",{"_index":424,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["leftmosthalf",{"_index":93,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["len",{"_index":377,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["length",{"_index":467,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["levels",{"_index":1823,"title":{},"body":{"additional-documentation/events.html":{}}}],["leveraging",{"_index":1848,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["liability",{"_index":1598,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1595,"title":{},"body":{"license.html":{}}}],["lib",{"_index":634,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["library",{"_index":518,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["library's",{"_index":1943,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["license",{"_index":1069,"title":{"license.html":{}},"body":{"changelog.html":{}}}],["life",{"_index":1645,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["lifetime",{"_index":1895,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["limitation",{"_index":1564,"title":{},"body":{"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["limited",{"_index":1586,"title":{},"body":{"license.html":{}}}],["lin",{"_index":1178,"title":{},"body":{"changelog.html":{}}}],["line",{"_index":1722,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["linjie997",{"_index":1155,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":1308,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["links",{"_index":1312,"title":{},"body":{"index.html":{}}}],["list",{"_index":1632,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{}}}],["listed",{"_index":1754,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["listen",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["lite",{"_index":1221,"title":{},"body":{"dependencies.html":{}}}],["load",{"_index":2008,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["loaddiscoverydocumentandlogin",{"_index":1064,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["loaddiscoverydocumentandtrylogin",{"_index":2040,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["loaded",{"_index":1687,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["loading",{"_index":2024,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["loadkeys",{"_index":79,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["loaduserprofile",{"_index":1837,"title":{},"body":{"additional-documentation/events.html":{}}}],["local",{"_index":1883,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["localhost:[4200",{"_index":1389,"title":{},"body":{"index.html":{}}}],["localstorage",{"_index":665,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["location",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["location.hash",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["location.origin",{"_index":1692,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["location.search",{"_index":1691,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["locationstrategy",{"_index":1849,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["log",{"_index":789,"title":{},"body":{"classes/OAuthLogger.html":{},"additional-documentation/events.html":{}}}],["log(message",{"_index":657,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["logged",{"_index":1670,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["loggin",{"_index":2015,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["logging",{"_index":646,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["login",{"_index":951,"title":{"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}},"body":{"changelog.html":{},"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["loginhint",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["loginoptions",{"_index":561,"title":{"classes/LoginOptions.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["logoff",{"_index":1977,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["logout",{"_index":777,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"changelog.html":{},"index.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["logouturl",{"_index":2084,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["logs",{"_index":1821,"title":{},"body":{"additional-documentation/events.html":{}}}],["long",{"_index":1844,"title":{},"body":{"additional-documentation/events.html":{}}}],["longer",{"_index":1819,"title":{},"body":{"additional-documentation/events.html":{}}}],["look",{"_index":1297,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["lookup",{"_index":1516,"title":{},"body":{"index.html":{}}}],["lower",{"_index":1499,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["main",{"_index":1688,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-systemjs.html":{}}}],["main.ts",{"_index":1401,"title":{},"body":{"index.html":{}}}],["maintain",{"_index":1944,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["major",{"_index":1336,"title":{},"body":{"index.html":{}}}],["make",{"_index":17,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["making",{"_index":1800,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["management",{"_index":1879,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["mandatory",{"_index":1531,"title":{},"body":{"index.html":{}}}],["manfred",{"_index":1179,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["manner",{"_index":585,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["manually",{"_index":1481,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["map",{"_index":223,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/using-systemjs.html":{}}}],["map((_",{"_index":263,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mark",{"_index":591,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["matching",{"_index":115,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["max/geheim",{"_index":1383,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["mccloghry",{"_index":1182,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":1792,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["means",{"_index":1652,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["meanwhile",{"_index":1965,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["memorystorage",{"_index":673,"title":{"injectables/MemoryStorage.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["mentioned",{"_index":1629,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/original-config-api.html":{}}}],["merchantability",{"_index":1588,"title":{},"body":{"license.html":{}}}],["merge",{"_index":219,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"license.html":{}}}],["mergemap",{"_index":225,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mergemap((token",{"_index":267,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["message",{"_index":623,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{}}}],["meta",{"_index":1953,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["method",{"_index":15,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["methods",{"_index":22,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}}}],["mind",{"_index":1448,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["minutes",{"_index":1544,"title":{},"body":{"index.html":{}}}],["miscellaneous",{"_index":1228,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":1128,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["moderating",{"_index":1189,"title":{},"body":{"changelog.html":{}}}],["modern",{"_index":1375,"title":{},"body":{"index.html":{}}}],["modify",{"_index":1566,"title":{},"body":{"license.html":{}}}],["module",{"_index":797,"title":{"modules/OAuthModule.html":{}},"body":{"overview.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["module.config",{"_index":233,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["module.config.ts",{"_index":820,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:11",{"_index":839,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:12",{"_index":841,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:13",{"_index":840,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:2",{"_index":823,"title":{},"body":{"classes/OAuthModuleConfig.html":{}}}],["moduleconfig",{"_index":206,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["modules",{"_index":799,"title":{"modules.html":{}},"body":{"modules/OAuthModule.html":{},"modules.html":{}}}],["modulewithproviders",{"_index":808,"title":{},"body":{"modules/OAuthModule.html":{}}}],["moment",{"_index":1897,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["moos",{"_index":1164,"title":{},"body":{"changelog.html":{}}}],["more",{"_index":1313,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["moved",{"_index":517,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["msec",{"_index":1738,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["much",{"_index":1331,"title":{},"body":{"index.html":{}}}],["multiple",{"_index":953,"title":{},"body":{"changelog.html":{}}}],["multiplying",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["name",{"_index":39,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["namely",{"_index":519,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["navigation",{"_index":1851,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["need",{"_index":538,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needed",{"_index":549,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needs",{"_index":1892,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["net",{"_index":1294,"title":{},"body":{"index.html":{}}}],["net/.net",{"_index":1267,"title":{},"body":{"index.html":{}}}],["never",{"_index":608,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["new",{"_index":109,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["newer",{"_index":1329,"title":{},"body":{"index.html":{}}}],["newest",{"_index":1891,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["next",{"_index":211,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req",{"_index":248,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req).catch(err",{"_index":1780,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ngmodule",{"_index":809,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["ngmodules",{"_index":1422,"title":{},"body":{"index.html":{}}}],["ngx",{"_index":1214,"title":{},"body":{"dependencies.html":{}}}],["ngzone",{"_index":1134,"title":{},"body":{"changelog.html":{}}}],["node_modules/jsrsasign/lib/jsrsasign",{"_index":1961,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["nonce",{"_index":602,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/events.html":{}}}],["noninfringement",{"_index":1592,"title":{},"body":{"license.html":{}}}],["normally",{"_index":631,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["notable",{"_index":1072,"title":{},"body":{"changelog.html":{}}}],["note",{"_index":547,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["notes",{"_index":1657,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["nothing",{"_index":743,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["notice",{"_index":1578,"title":{},"body":{"license.html":{}}}],["notification",{"_index":1876,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notifications",{"_index":1889,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notified",{"_index":1898,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["now",{"_index":121,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{},"index.html":{}}}],["nowadays",{"_index":551,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/original-config-api.html":{}}}],["npm",{"_index":544,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["null",{"_index":530,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["nullvalidationhandler",{"_index":524,"title":{"classes/NullValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["nullvalidationhandler:11",{"_index":528,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["nullvalidationhandler:8",{"_index":529,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["number",{"_index":125,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["oauth",{"_index":232,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oauth.interceptor.ts",{"_index":199,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:23",{"_index":208,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:44",{"_index":213,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth2",{"_index":521,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["oauth2/oidc",{"_index":540,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oauthclient",{"_index":1403,"title":{},"body":{"index.html":{}}}],["oautherrorevent",{"_index":750,"title":{"classes/OAuthErrorEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"additional-documentation/events.html":{}}}],["oauthevent",{"_index":752,"title":{"classes/OAuthEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthinfoevent",{"_index":785,"title":{"classes/OAuthInfoEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthlogger",{"_index":653,"title":{"classes/OAuthLogger.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["oauthmodule",{"_index":798,"title":{"modules/OAuthModule.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"modules.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmodule.forroot",{"_index":1424,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmoduleconfig",{"_index":207,"title":{"classes/OAuthModuleConfig.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthnoopresourceservererrorhandler",{"_index":832,"title":{"classes/OAuthNoopResourceServerErrorHandler.html":{}},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthresourceserverconfig",{"_index":822,"title":{"classes/OAuthResourceServerConfig.html":{}},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["oauthresourceservererrorhandler",{"_index":205,"title":{"classes/OAuthResourceServerErrorHandler.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthservice",{"_index":203,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["oauthstorage",{"_index":669,"title":{"classes/OAuthStorage.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthsuccessevent",{"_index":782,"title":{"classes/OAuthSuccessEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["object",{"_index":46,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["observable",{"_index":215,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["obtaining",{"_index":1556,"title":{},"body":{"license.html":{}}}],["occur",{"_index":1813,"title":{},"body":{"additional-documentation/events.html":{}}}],["of(null",{"_index":262,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["of(this.oauthservice.getaccesstoken()).pipe(filter((token",{"_index":254,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["officially",{"_index":1296,"title":{},"body":{"index.html":{}}}],["offline_access",{"_index":1459,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["oidc",{"_index":522,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["oidc';please",{"_index":1526,"title":{},"body":{"index.html":{}}}],["oidc.module.ts",{"_index":801,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.module.ts:14",{"_index":806,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.umd.js",{"_index":1957,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["oidc/docs",{"_index":1277,"title":{},"body":{"index.html":{}}}],["oidc/docs/additional",{"_index":1503,"title":{},"body":{"index.html":{}}}],["oidc/issues/728#issuecomment",{"_index":914,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/1020",{"_index":993,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/919",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/935",{"_index":973,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/936",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/938",{"_index":981,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/965",{"_index":990,"title":{},"body":{"changelog.html":{}}}],["oidcdiscoverydoc",{"_index":703,"title":{"interfaces/OidcDiscoveryDoc.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ok",{"_index":1729,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["okm",{"_index":471,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["okta",{"_index":1310,"title":{},"body":{"index.html":{}}}],["older",{"_index":1317,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["one",{"_index":516,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["online",{"_index":1541,"title":{},"body":{"index.html":{}}}],["onloginerror",{"_index":570,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["ontokenreceived",{"_index":571,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["open",{"_index":2076,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["opened",{"_index":956,"title":{},"body":{"changelog.html":{}}}],["opener",{"_index":1709,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["openid",{"_index":700,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["opens",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["opht1tkt9e9fvqtzpbvf1thvhjrxvyvx",{"_index":2083,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["optimization",{"_index":442,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["option",{"_index":983,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/session-checks.html":{}}}],["optional",{"_index":41,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["optionalparams",{"_index":655,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["options",{"_index":564,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/events.html":{}}}],["orig",{"_index":180,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["original",{"_index":1628,"title":{"additional-documentation/original-config-api.html":{}},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["originally",{"_index":1963,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["otherparam",{"_index":1807,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["otherwise",{"_index":1510,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":297,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"index.html":{},"license.html":{},"overview.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["out[i",{"_index":436,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["output",{"_index":451,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["outside",{"_index":1133,"title":{},"body":{"changelog.html":{}}}],["over",{"_index":1646,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["override",{"_index":19,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["overview",{"_index":1608,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owner",{"_index":2000,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["p",{"_index":375,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["package",{"_index":1191,"title":{"dependencies.html":{}},"body":{}}],["package.json",{"_index":1000,"title":{},"body":{"changelog.html":{}}}],["packages",{"_index":1865,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["paddedhexcode",{"_index":191,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["padlength",{"_index":435,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["page",{"_index":554,"title":{"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["pair",{"_index":871,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["pairs",{"_index":870,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["param",{"_index":104,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parameter",{"_index":1156,"title":{},"body":{"changelog.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["parameters",{"_index":37,"title":{"additional-documentation/custom-query-parameters.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"miscellaneous/functions.html":{},"index.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["params",{"_index":64,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["params.idtokenclaims['at_hash'].replace(/=/g",{"_index":100,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parent",{"_index":1706,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["parse",{"_index":1925,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["parsed",{"_index":54,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parsedidtoken",{"_index":681,"title":{"interfaces/ParsedIdToken.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["parsequerystring",{"_index":858,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["parsequerystring(querystring",{"_index":861,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["particular",{"_index":1590,"title":{},"body":{"license.html":{}}}],["pass",{"_index":581,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["passed",{"_index":34,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["passes",{"_index":1759,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["passing",{"_index":1125,"title":{},"body":{"changelog.html":{}}}],["password",{"_index":1258,"title":{"additional-documentation/using-password-flow.html":{}},"body":{"miscellaneous/functions.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["passwords",{"_index":884,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["path",{"_index":1508,"title":{},"body":{"index.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pathlocationstrategy",{"_index":1286,"title":{},"body":{"index.html":{}}}],["pbkdf2",{"_index":1241,"title":{},"body":{"miscellaneous/functions.html":{}}}],["pbkdf2(password",{"_index":1255,"title":{},"body":{"miscellaneous/functions.html":{}}}],["perform",{"_index":1725,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["performs",{"_index":1850,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["permission",{"_index":1551,"title":{},"body":{"license.html":{}}}],["permissions",{"_index":1454,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["permit",{"_index":1573,"title":{},"body":{"license.html":{}}}],["person",{"_index":1555,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1574,"title":{},"body":{"license.html":{}}}],["perspective",{"_index":1987,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["phil",{"_index":1181,"title":{},"body":{"changelog.html":{}}}],["pingone",{"_index":1937,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pipe",{"_index":265,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pipe(catcherror((err",{"_index":252,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pkce",{"_index":1357,"title":{},"body":{"index.html":{}}}],["place",{"_index":1417,"title":{},"body":{"index.html":{}}}],["plan",{"_index":1335,"title":{},"body":{"index.html":{}}}],["please",{"_index":532,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["pls",{"_index":1097,"title":{},"body":{"changelog.html":{}}}],["plus",{"_index":939,"title":{},"body":{"changelog.html":{}}}],["pmccloghrylaing",{"_index":1157,"title":{},"body":{"changelog.html":{}}}],["popperjs/core",{"_index":1202,"title":{},"body":{"dependencies.html":{}}}],["popup",{"_index":583,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["popup_blocked",{"_index":779,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["popup_closed",{"_index":778,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["portions",{"_index":1581,"title":{},"body":{"license.html":{}}}],["pos",{"_index":376,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["possible",{"_index":1994,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["post",{"_index":1306,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["postlogoutredirecturi",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["ppanthony",{"_index":1955,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["practice",{"_index":613,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["practices",{"_index":1450,"title":{},"body":{"index.html":{}}}],["predefined",{"_index":1165,"title":{},"body":{"changelog.html":{}}}],["prefixes",{"_index":1498,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["prepared",{"_index":1261,"title":{},"body":{"index.html":{}}}],["present",{"_index":592,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["preserving",{"_index":1621,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["prevent",{"_index":985,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["preventclearhashafterlogin",{"_index":572,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["prevents",{"_index":1733,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["previously",{"_index":2052,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["prf.finish(u",{"_index":491,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["prf.reset",{"_index":488,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["prf.update(ctr",{"_index":490,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["prf.update(salt",{"_index":489,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["private",{"_index":235,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["production",{"_index":609,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["profile",{"_index":1462,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["progressing",{"_index":2055,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["project",{"_index":1074,"title":{},"body":{"changelog.html":{}}}],["project's",{"_index":1910,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["projects/.../base64",{"_index":1231,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../events.ts",{"_index":1612,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../factories.ts",{"_index":1234,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../fast",{"_index":1240,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../hash",{"_index":1237,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../jwks",{"_index":1616,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../provider.ts",{"_index":1242,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../tokens.ts",{"_index":1615,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/angular",{"_index":800,"title":{},"body":{"modules/OAuthModule.html":{}}}],["projects/lib/src/base64",{"_index":1243,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/date",{"_index":118,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["projects/lib/src/encoder.ts",{"_index":881,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:10",{"_index":897,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:14",{"_index":891,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:18",{"_index":893,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:6",{"_index":895,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/events.ts",{"_index":751,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["projects/lib/src/events.ts:28",{"_index":786,"title":{},"body":{"classes/OAuthEvent.html":{}}}],["projects/lib/src/events.ts:32",{"_index":846,"title":{},"body":{"classes/OAuthSuccessEvent.html":{}}}],["projects/lib/src/events.ts:38",{"_index":787,"title":{},"body":{"classes/OAuthInfoEvent.html":{}}}],["projects/lib/src/events.ts:44",{"_index":756,"title":{},"body":{"classes/OAuthErrorEvent.html":{}}}],["projects/lib/src/factories.ts",{"_index":1247,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/interceptors/default",{"_index":198,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["projects/lib/src/interceptors/resource",{"_index":833,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["projects/lib/src/oauth",{"_index":819,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["projects/lib/src/provider.ts",{"_index":1259,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/token",{"_index":6,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/lib/src/tokens.ts",{"_index":1617,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/types.ts",{"_index":562,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:100",{"_index":845,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:107",{"_index":737,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:111",{"_index":738,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:115",{"_index":739,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:125",{"_index":850,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:126",{"_index":848,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:127",{"_index":849,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:128",{"_index":851,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:13",{"_index":627,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:162",{"_index":877,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:20",{"_index":642,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:28",{"_index":618,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:40",{"_index":573,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:50",{"_index":611,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:59",{"_index":600,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:67",{"_index":630,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:74",{"_index":594,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:84",{"_index":791,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:85",{"_index":794,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:86",{"_index":795,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:87",{"_index":796,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:88",{"_index":793,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:98",{"_index":843,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:99",{"_index":844,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/url",{"_index":855,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["promise",{"_index":44,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["promise(resolve",{"_index":2058,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve",{"_index":2046,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve(null",{"_index":748,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["promise.resolve(true",{"_index":749,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["properly",{"_index":459,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["properties",{"_index":275,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["property",{"_index":625,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{}}}],["proposes",{"_index":1630,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["protected",{"_index":23,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["provding",{"_index":1755,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["provide",{"_index":649,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["provided",{"_index":1279,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["providehttpclient",{"_index":1405,"title":{},"body":{"index.html":{}}}],["provideoauthclient",{"_index":812,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{},"index.html":{}}}],["provideoauthclient(config",{"_index":818,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["provider",{"_index":813,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["provider.ts",{"_index":120,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["provider.ts:4",{"_index":124,"title":{},"body":{"classes/DateTimeProvider.html":{}}}],["provider.ts:5",{"_index":122,"title":{},"body":{"classes/DateTimeProvider.html":{}}}],["providers",{"_index":817,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["provides",{"_index":1768,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["providing",{"_index":2019,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["prs",{"_index":1339,"title":{},"body":{"index.html":{}}}],["public",{"_index":84,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["publish",{"_index":1567,"title":{},"body":{"license.html":{}}}],["published",{"_index":1830,"title":{},"body":{"additional-documentation/events.html":{}}}],["publishes",{"_index":1811,"title":{},"body":{"additional-documentation/events.html":{}}}],["pull",{"_index":1149,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["purpose",{"_index":1591,"title":{},"body":{"license.html":{},"additional-documentation/callback-after-login.html":{}}}],["put",{"_index":1752,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["puts",{"_index":418,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["pwa",{"_index":1545,"title":{},"body":{"index.html":{}}}],["query",{"_index":640,"title":{"additional-documentation/custom-query-parameters.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/custom-query-parameters.html":{}}}],["querying",{"_index":1366,"title":{},"body":{"index.html":{}}}],["querystring",{"_index":589,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["querystring.split",{"_index":875,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["question",{"_index":590,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/session-checks.html":{}}}],["questionmarkposition",{"_index":866,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["quite",{"_index":1997,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["read",{"_index":533,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"miscellaneous/variables.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["reading",{"_index":1852,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["readme",{"_index":1471,"title":{},"body":{"index.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["readonly",{"_index":783,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["ready",{"_index":1003,"title":{},"body":{"changelog.html":{}}}],["real",{"_index":515,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["reason",{"_index":755,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["receive",{"_index":972,"title":{},"body":{"changelog.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["received",{"_index":62,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["receivedtokens",{"_index":645,"title":{"classes/ReceivedTokens.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["receives",{"_index":2049,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["receiving",{"_index":2067,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["recommend",{"_index":1304,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["recommended",{"_index":1514,"title":{},"body":{"index.html":{}}}],["recommented",{"_index":552,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["redhat",{"_index":1270,"title":{},"body":{"index.html":{}}}],["redhat's",{"_index":1295,"title":{},"body":{"index.html":{}}}],["redirect",{"_index":595,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["redirected",{"_index":1360,"title":{},"body":{"index.html":{}}}],["redirecting",{"_index":1373,"title":{},"body":{"index.html":{}}}],["redirects",{"_index":1492,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["redirecturi",{"_index":962,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["redirecturis",{"_index":1388,"title":{},"body":{"index.html":{}}}],["refactor",{"_index":1022,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":599,"title":{"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["refresh.html",{"_index":1152,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["refresh.html\";please",{"_index":1685,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["refresh_token",{"_index":694,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["refresh_tokens",{"_index":1635,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["refreshed",{"_index":1842,"title":{},"body":{"additional-documentation/events.html":{}}}],["refreshes",{"_index":580,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["refreshing",{"_index":1363,"title":{"additional-documentation/refreshing-a-token.html":{}},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["refreshtoken",{"_index":1638,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["regarding",{"_index":1369,"title":{},"body":{"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["regards",{"_index":1521,"title":{},"body":{"index.html":{}}}],["register",{"_index":1887,"title":{},"body":{"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["registerd",{"_index":1441,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["registered",{"_index":828,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["registration_endpoint",{"_index":713,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["related",{"_index":1745,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["relations",{"_index":1992,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["release",{"_index":1333,"title":{},"body":{"index.html":{}}}],["removal",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["remove",{"_index":1025,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["removed",{"_index":1533,"title":{},"body":{"index.html":{}}}],["removeitem",{"_index":735,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["removeitem(key",{"_index":671,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["removing",{"_index":639,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["rendering",{"_index":1903,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"additional-documentation/server-side-rendering.html":{}}}],["replace",{"_index":1161,"title":{},"body":{"changelog.html":{}}}],["replaced",{"_index":1051,"title":{},"body":{"changelog.html":{}}}],["replacements",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["replay",{"_index":605,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["represents",{"_index":677,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["req",{"_index":214,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.clone",{"_index":271,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers",{"_index":1778,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers.set('authorization",{"_index":270,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["req.url.tolowercase",{"_index":244,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["request",{"_index":1455,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["request_object_signing_alg_values_supported",{"_index":726,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["requested",{"_index":1622,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["requests",{"_index":1150,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["require','jsrsasign",{"_index":1962,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["requirements",{"_index":1633,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["reset",{"_index":281,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"overview.html":{}}}],["resolve",{"_index":2056,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolve(true",{"_index":2060,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolves",{"_index":1838,"title":{},"body":{"additional-documentation/events.html":{}}}],["resource",{"_index":228,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["resources",{"_index":1273,"title":{},"body":{"index.html":{}}}],["resourceserver",{"_index":821,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["resourceservererrorhandler",{"_index":827,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["respect",{"_index":1636,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["respective",{"_index":1298,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["respond",{"_index":1672,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["response",{"_index":685,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["response_modes_supported",{"_index":717,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["response_types",{"_index":1055,"title":{},"body":{"changelog.html":{}}}],["response_types_supported",{"_index":715,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["responsetype",{"_index":1037,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["restriction",{"_index":1563,"title":{},"body":{"license.html":{}}}],["result",{"_index":114,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["results",{"_index":116,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/functions.html":{},"index.html":{},"license.html":{},"modules.html":{},"overview.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["retrieved",{"_index":1832,"title":{},"body":{"additional-documentation/events.html":{}}}],["retrieving",{"_index":597,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["return",{"_index":103,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["returned",{"_index":1702,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["returns",{"_index":43,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"injectables/SystemDateTimeProvider.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-password-flow.html":{}}}],["returnto",{"_index":2091,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["reverse",{"_index":1534,"title":{},"body":{"index.html":{}}}],["revocation",{"_index":1101,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revocation_endpoint",{"_index":733,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["revocationendpoint",{"_index":992,"title":{},"body":{"changelog.html":{}}}],["revoke",{"_index":1102,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revoketokenandlogout",{"_index":945,"title":{},"body":{"changelog.html":{}}}],["rfc",{"_index":1145,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rights",{"_index":1565,"title":{},"body":{"license.html":{}}}],["risk",{"_index":745,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["robin",{"_index":1184,"title":{},"body":{"changelog.html":{}}}],["roblabat",{"_index":1160,"title":{},"body":{"changelog.html":{}}}],["root",{"_index":1854,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["rotation",{"_index":2078,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["route",{"_index":1507,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["router",{"_index":1285,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routermodule.forroot(app_routes",{"_index":1856,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routes",{"_index":1853,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routing",{"_index":1121,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"changelog.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["run",{"_index":1131,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["running",{"_index":1044,"title":{},"body":{"changelog.html":{}}}],["runs",{"_index":1380,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["rxjs",{"_index":220,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"dependencies.html":{}}}],["rxjs/add/operator/catch",{"_index":1772,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/observable",{"_index":1771,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/operators",{"_index":227,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["s",{"_index":158,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["safe",{"_index":1359,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["sake",{"_index":1418,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["salt",{"_index":466,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["same",{"_index":420,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sample",{"_index":1089,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["save",{"_index":545,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["saveafter",{"_index":1524,"title":{},"body":{"index.html":{}}}],["saved",{"_index":1833,"title":{},"body":{"additional-documentation/events.html":{}}}],["saveoption",{"_index":1394,"title":{},"body":{"index.html":{}}}],["scenario",{"_index":2069,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["scope",{"_index":695,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["scope/state",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["scopes_supported",{"_index":714,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["script",{"_index":1153,"title":{},"body":{"changelog.html":{}}}],["search",{"_index":1695,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["seconds",{"_index":1740,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["secret",{"_index":1445,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["section",{"_index":1511,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["security",{"_index":614,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{}}}],["see",{"_index":1076,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["selector",{"_index":1968,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["sell",{"_index":1571,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1215,"title":{},"body":{"dependencies.html":{}}}],["send",{"_index":829,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["sendaccesstoken",{"_index":249,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["sending",{"_index":943,"title":{},"body":{"changelog.html":{}}}],["sends",{"_index":1886,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sense",{"_index":1112,"title":{},"body":{"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["separatorindex",{"_index":872,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["server",{"_index":229,"title":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{}}}],["server's",{"_index":1374,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity",{"_index":1678,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["server.azurewebsites.net/identity/.well",{"_index":2009,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/authorize",{"_index":1914,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/endsession",{"_index":1923,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/token",{"_index":2013,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/userinfo",{"_index":2017,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.code",{"_index":1443,"title":{},"body":{"index.html":{}}}],["servers",{"_index":1480,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["service",{"_index":234,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["service_documentation",{"_index":731,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["session",{"_index":977,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["session's",{"_index":1894,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_changed",{"_index":773,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["session_error",{"_index":774,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["session_state",{"_index":1123,"title":{},"body":{"changelog.html":{}}}],["session_terminated",{"_index":775,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/session-checks.html":{}}}],["session_terminated')).subscribe(e",{"_index":1900,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_unchanged",{"_index":776,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["sessionchecksenabled",{"_index":1890,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sessionstorage",{"_index":666,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["set",{"_index":586,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["set('authorization",{"_index":1779,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["setitem",{"_index":736,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["setitem(key",{"_index":672,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["sets",{"_index":1797,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["setstorage",{"_index":1918,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["setting",{"_index":1086,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["settings",{"_index":1799,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["setup",{"_index":1402,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["several",{"_index":1933,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sha",{"_index":112,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{}}}],["sha256",{"_index":146,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"dependencies.html":{}}}],["sha256(accesstoken",{"_index":90,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["sha256js",{"_index":150,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["sha256js.ts",{"_index":274,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["sha256js.ts:139",{"_index":497,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:140",{"_index":496,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:149",{"_index":495,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:157",{"_index":505,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:173",{"_index":502,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:190",{"_index":506,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:220",{"_index":504,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:257",{"_index":503,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:264",{"_index":501,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:271",{"_index":500,"title":{},"body":{"classes/Hash.html":{}}}],["sha256js.ts:286",{"_index":289,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:287",{"_index":291,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:292",{"_index":285,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:327",{"_index":298,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:334",{"_index":292,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:343",{"_index":300,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:349",{"_index":296,"title":{},"body":{"classes/HMAC.html":{}}}],["sha256js.ts:360",{"_index":294,"title":{},"body":{"classes/HMAC.html":{}}}],["shaking",{"_index":1523,"title":{},"body":{"index.html":{}}}],["shall",{"_index":1579,"title":{},"body":{"license.html":{}}}],["share",{"_index":1931,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sharing",{"_index":1956,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["ship",{"_index":1993,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["short",{"_index":1815,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["showdebuginformation",{"_index":1464,"title":{},"body":{"index.html":{}}}],["shown",{"_index":1470,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["shows",{"_index":1757,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers.html":{}}}],["side",{"_index":664,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/server-side-rendering.html":{}}}],["sign",{"_index":940,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["signature",{"_index":67,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["signs",{"_index":1877,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["silent",{"_index":579,"title":{"additional-documentation/silent-refresh.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["silent_refresh_error",{"_index":768,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["silent_refresh_timeout",{"_index":770,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silently_refreshed",{"_index":769,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silentrefresh",{"_index":1726,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["silentrefreshredirecturi",{"_index":1675,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["silentrefreshtimeout",{"_index":1737,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["similar",{"_index":1998,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["simple",{"_index":660,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{}}}],["single",{"_index":553,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["site",{"_index":1092,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["size",{"_index":1332,"title":{},"body":{"index.html":{}}}],["sizes",{"_index":558,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["skip",{"_index":744,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["skipping",{"_index":2039,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["skips",{"_index":1869,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["smaller",{"_index":556,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["snippet",{"_index":1816,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["software",{"_index":1558,"title":{},"body":{"license.html":{}}}],["solution",{"_index":1434,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["something",{"_index":2048,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["somevalue",{"_index":1808,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"injectables/SystemDateTimeProvider.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{}}}],["sources",{"_index":1274,"title":{},"body":{"index.html":{}}}],["spa",{"_index":1387,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["spa's",{"_index":1440,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["spas",{"_index":1447,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["spec",{"_index":1836,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["special",{"_index":2074,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["specific",{"_index":1461,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["specification",{"_index":1941,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["specifies",{"_index":1631,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["specs",{"_index":1370,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["src",{"_index":1350,"title":{},"body":{"index.html":{}}}],["standalone",{"_index":1395,"title":{},"body":{"index.html":{}}}],["standard",{"_index":1077,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["start",{"_index":1947,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["started",{"_index":903,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{}}}],["starting",{"_index":1803,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["starts",{"_index":1966,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["startup",{"_index":1995,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["state",{"_index":417,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/events.html":{}}}],["static",{"_index":802,"title":{},"body":{"modules/OAuthModule.html":{}}}],["status",{"_index":1748,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["steyer",{"_index":1180,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["still",{"_index":1416,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["stopautomaticrefresh",{"_index":1081,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":1082,"title":{},"body":{"changelog.html":{}}}],["storage",{"_index":661,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["storagefactory",{"_index":2036,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["store",{"_index":1478,"title":{},"body":{"index.html":{}}}],["stored",{"_index":1839,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["storing",{"_index":662,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["str",{"_index":1245,"title":{},"body":{"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{}}}],["strategy",{"_index":1658,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["stream",{"_index":1812,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["strict",{"_index":2068,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["strictdiscoverydocumentvalidation",{"_index":1928,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["string",{"_index":28,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["string.fromcharcode(e",{"_index":184,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["strong",{"_index":1990,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["sub",{"_index":699,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["subject",{"_index":1576,"title":{},"body":{"license.html":{}}}],["subject_types_supported",{"_index":719,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["sublicense",{"_index":1569,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1580,"title":{},"body":{"license.html":{}}}],["succeeded",{"_index":1624,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["successful",{"_index":1782,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["successfully",{"_index":628,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/events.html":{}}}],["such",{"_index":1452,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["sufficient",{"_index":1693,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["suited",{"_index":1989,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["summary.json",{"_index":1353,"title":{},"body":{"index.html":{}}}],["super",{"_index":559,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["super(type",{"_index":784,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["support",{"_index":964,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/authorization-servers.html":{}}}],["supported",{"_index":111,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/original-config-api.html":{}}}],["supports",{"_index":1427,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["sure",{"_index":1352,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["switching",{"_index":1497,"title":{},"body":{"index.html":{}}}],["symbol",{"_index":587,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["system.config",{"_index":1952,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["systemdatetimeprovider",{"_index":128,"title":{"injectables/SystemDateTimeProvider.html":{}},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["systemjs",{"_index":1948,"title":{"additional-documentation/using-systemjs.html":{}},"body":{"additional-documentation/using-systemjs.html":{}}}],["t1",{"_index":384,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["t2",{"_index":385,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["table",{"_index":1028,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":224,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["take(1",{"_index":266,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["takes",{"_index":1415,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["targeting",{"_index":1793,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["task",{"_index":1496,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["tasks",{"_index":1810,"title":{},"body":{"additional-documentation/events.html":{}}}],["telling",{"_index":513,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["tells",{"_index":1487,"title":{},"body":{"index.html":{}}}],["template",{"_index":1981,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["templateurl",{"_index":1970,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["tenant",{"_index":1805,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["terminated",{"_index":1902,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["tested",{"_index":1282,"title":{},"body":{"index.html":{}}}],["testen",{"_index":1985,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["testing",{"_index":1266,"title":{},"body":{"index.html":{}}}],["tests",{"_index":925,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":1220,"title":{},"body":{"dependencies.html":{}}}],["textencoder",{"_index":166,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["thanks",{"_index":1171,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-systemjs.html":{}}}],["that's",{"_index":2005,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["then(info",{"_index":1727,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["things",{"_index":1791,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["third",{"_index":1656,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.authservice.events.subscribe(event",{"_index":1824,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.authstorage.getitem('access_token",{"_index":1777,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.blocksize",{"_index":444,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.buffer",{"_index":414,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.buffer[padlength",{"_index":430,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.buffer[this.bufferlength",{"_index":409,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.bufferlength",{"_index":408,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.byteshashed",{"_index":423,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.calchash(params.accesstoken",{"_index":89,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.checkurl(url",{"_index":247,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.configure",{"_index":1972,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.data.delete(key",{"_index":675,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["this.data.get(key",{"_index":674,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["this.data.set(key",{"_index":676,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["this.document",{"_index":1052,"title":{},"body":{"changelog.html":{}}}],["this.errorhandler.handleerror(err",{"_index":253,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.finish(out",{"_index":440,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.finished",{"_index":421,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.inferhashalgorithm(params.idtokenheader",{"_index":86,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.inner.blocksize",{"_index":288,"title":{},"body":{"classes/HMAC.html":{}}}],["this.inner.digestlength",{"_index":290,"title":{},"body":{"classes/HMAC.html":{}}}],["this.moduleconfig",{"_index":245,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver",{"_index":246,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls",{"_index":240,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find((u",{"_index":241,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find(u",{"_index":1775,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation",{"_index":238,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation(url",{"_index":239,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.sendaccesstoken",{"_index":250,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.oauthservice",{"_index":2043,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.clientid",{"_index":1916,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.configure(authcodeflowconfig",{"_index":1475,"title":{},"body":{"index.html":{}}}],["this.oauthservice.configure(authconfig",{"_index":1973,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.customqueryparams",{"_index":1804,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["this.oauthservice.dummyclientsecret",{"_index":2006,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.events(filter(e",{"_index":2050,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.events.pipe",{"_index":256,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.events.pipe(filter(e",{"_index":1899,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["this.oauthservice.events.subscribe(e",{"_index":1817,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflow('max",{"_index":2022,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max",{"_index":2027,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.getaccesstoken",{"_index":264,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.getidentityclaims",{"_index":1979,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.hasvalidaccesstoken",{"_index":2053,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.hasvalididtoken",{"_index":2054,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initcodeflow();there",{"_index":1465,"title":{},"body":{"index.html":{}}}],["this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');after",{"_index":1623,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["this.oauthservice.initloginflow",{"_index":1976,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initloginflow();also",{"_index":1469,"title":{},"body":{"index.html":{}}}],["this.oauthservice.issuer",{"_index":2063,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument().then",{"_index":2064,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument(url).then",{"_index":2011,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandlogin",{"_index":1488,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin",{"_index":1489,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin();logging",{"_index":1476,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaduserprofile",{"_index":2025,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loginurl",{"_index":1913,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.logout",{"_index":1978,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.logout();if",{"_index":1482,"title":{},"body":{"index.html":{}}}],["this.oauthservice.logouturl",{"_index":1922,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.redirecturi",{"_index":1915,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.refreshtoken().then",{"_index":2031,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.refreshtoken();automatically",{"_index":1639,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.revoketokenandlogout",{"_index":2092,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.revoketokenandlogout();skipping",{"_index":1483,"title":{},"body":{"index.html":{}}}],["this.oauthservice.scope",{"_index":1917,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.setstorage(sessionstorage",{"_index":1920,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.setupautomaticsilentrefresh();by",{"_index":1641,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.silentrefreshredirecturi",{"_index":1684,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["this.oauthservice.tokenendpoint",{"_index":2012,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.tokenvalidationhandler",{"_index":1870,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.trylogin",{"_index":1625,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.trylogin().then(_",{"_index":1859,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.oauthservice.userinfoendpoint",{"_index":2016,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.parsequerystring(hash",{"_index":869,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["this.router.navigate",{"_index":1860,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.state",{"_index":413,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.state[i",{"_index":437,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["this.tohashstring(hasharray",{"_index":177,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.tohashstring2(hasharray",{"_index":178,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.window.addeventlistener('unload",{"_index":2059,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["those",{"_index":1637,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["three",{"_index":1680,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["through",{"_index":651,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["throw",{"_index":108,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["throwerror",{"_index":837,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["throwerror(err",{"_index":838,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["time",{"_index":119,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["timeout",{"_index":226,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{}}}],["timeout(this.oauthservice.waitfortokeninmsec",{"_index":260,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["timeoutfactor",{"_index":1649,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["timer",{"_index":1840,"title":{},"body":{"additional-documentation/events.html":{}}}],["timers",{"_index":1083,"title":{},"body":{"changelog.html":{}}}],["timespan",{"_index":1736,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["together",{"_index":1904,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["tohashstring",{"_index":134,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["tohashstring(buffer",{"_index":137,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["tohashstring(hexstring",{"_index":194,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["tohashstring2",{"_index":135,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["tohashstring2(bytearray",{"_index":141,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["token",{"_index":255,"title":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["token's",{"_index":1644,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["token(s",{"_index":635,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["token.html",{"_index":1505,"title":{},"body":{"index.html":{}}}],["token_endpoint",{"_index":706,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_endpoint_auth_methods_supported",{"_index":707,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_endpoint_auth_signing_alg_values_supported",{"_index":708,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_error",{"_index":764,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_expires",{"_index":772,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_received",{"_index":259,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["token_received')).subscribe",{"_index":2051,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["token_refresh_error",{"_index":767,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_refreshed",{"_index":766,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_revoke_error",{"_index":780,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_type",{"_index":692,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["token_validation_error",{"_index":771,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["tokenhash",{"_index":87,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["tokenhash.length",{"_index":95,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["tokenhash.substr(0",{"_index":94,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["tokenresponse",{"_index":691,"title":{"interfaces/TokenResponse.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["tokens",{"_index":83,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["tokensetup",{"_index":1132,"title":{},"body":{"changelog.html":{}}}],["tokenvalidationhandler",{"_index":644,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["tokenvalidator",{"_index":1864,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["tort",{"_index":1602,"title":{},"body":{"license.html":{}}}],["traditional",{"_index":1411,"title":{},"body":{"index.html":{}}}],["transmit",{"_index":2002,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["transmitted",{"_index":1802,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["transmitting",{"_index":1743,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["tree",{"_index":1522,"title":{},"body":{"index.html":{}}}],["tries",{"_index":1924,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["triggers",{"_index":1655,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["true",{"_index":92,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["true);the",{"_index":2093,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["trust",{"_index":1991,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["try",{"_index":1328,"title":{},"body":{"index.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["trylogin",{"_index":565,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["trylogincodeflow",{"_index":1159,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1919,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["tsickle",{"_index":1223,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1225,"title":{},"body":{"dependencies.html":{}}}],["turn",{"_index":1946,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["tutorial",{"_index":1539,"title":{},"body":{"index.html":{}}}],["tutorials",{"_index":1538,"title":{},"body":{"index.html":{}}}],["two",{"_index":1790,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["type",{"_index":40,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/HashHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"classes/OAuthStorage.html":{},"classes/OAuthSuccessEvent.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"changelog.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["typealiases",{"_index":1610,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typed",{"_index":456,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["typeerror('expected",{"_index":159,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["typeof",{"_index":157,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["types",{"_index":2079,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["typo",{"_index":1048,"title":{},"body":{"changelog.html":{}}}],["u",{"_index":382,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["ui_locales_supported",{"_index":732,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["uint32array",{"_index":306,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["uint8array",{"_index":284,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["uint8array([1",{"_index":468,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["uint8array(buffer",{"_index":185,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["uint8array(d.length",{"_index":163,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["uint8array(digestlength",{"_index":462,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/variables.html":{}}}],["uint8array(hmac_.digestlength",{"_index":481,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["uint8array(length",{"_index":484,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["uint8array(this.digestlength",{"_index":439,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["unchanged",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["under",{"_index":1798,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["unfortunately",{"_index":1896,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["universal",{"_index":1045,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":1490,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["upcoming",{"_index":1262,"title":{},"body":{"index.html":{}}}],["update",{"_index":282,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"changelog.html":{},"index.html":{}}}],["update(data",{"_index":299,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["upgrade",{"_index":1106,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1536,"title":{},"body":{"index.html":{}}}],["uri",{"_index":596,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["url",{"_index":243,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["url.startswith(u",{"_index":1776,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["url.tolowercase().startswith(u.tolowercase",{"_index":242,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["url?x=1",{"_index":1126,"title":{},"body":{"changelog.html":{}}}],["urlhelperservice",{"_index":854,"title":{"injectables/UrlHelperService.html":{}},"body":{"injectables/UrlHelperService.html":{}}}],["urls",{"_index":824,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["usage",{"_index":1158,"title":{},"body":{"changelog.html":{}}}],["use",{"_index":18,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["usecase",{"_index":1460,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["useclass",{"_index":1875,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["used",{"_index":576,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/using-password-flow.html":{}}}],["usefactory",{"_index":2037,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["usehash",{"_index":1857,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["user",{"_index":696,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["user's",{"_index":2020,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["user_profile_load_error",{"_index":763,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["user_profile_loaded",{"_index":762,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["userinfo",{"_index":698,"title":{"interfaces/UserInfo.html":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"changelog.html":{},"index.html":{}}}],["userinfo_encryption_alg_values_supported",{"_index":721,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["userinfo_encryption_enc_values_supported",{"_index":722,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["userinfo_endpoint",{"_index":709,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["userinfo_signing_alg_values_supported",{"_index":720,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["username/password",{"_index":1382,"title":{},"body":{"index.html":{}}}],["username/passwort",{"_index":1983,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["users",{"_index":514,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/server-side-rendering.html":{}}}],["uses",{"_index":470,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["usesilentrefresh",{"_index":1087,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["using",{"_index":36,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-systemjs.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["utils",{"_index":523,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["v",{"_index":374,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{}}}],["v[0",{"_index":386,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[1",{"_index":387,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[2",{"_index":388,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[3",{"_index":389,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[4",{"_index":390,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[5",{"_index":391,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[6",{"_index":392,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["v[7",{"_index":393,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["valid",{"_index":1493,"title":{},"body":{"index.html":{}}}],["validate",{"_index":82,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["validateathash",{"_index":16,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validateathash(params",{"_index":56,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validateathash(validationparams",{"_index":526,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{}}}],["validated",{"_index":629,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"additional-documentation/callback-after-login.html":{}}}],["validates",{"_index":59,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["validatesignature",{"_index":26,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validatesignature(validationparams",{"_index":65,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validating",{"_index":742,"title":{},"body":{"classes/NullValidationHandler.html":{},"index.html":{}}}],["validation",{"_index":511,"title":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"miscellaneous/variables.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["validation/fast",{"_index":273,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["validation/hash",{"_index":133,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["validation/jwks",{"_index":510,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["validation/null",{"_index":740,"title":{},"body":{"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{}}}],["validation/validation",{"_index":7,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validationhandler",{"_index":12,"title":{"classes/ValidationHandler.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/NullValidationHandler.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["validationhandlerclass",{"_index":805,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["validationparams",{"_index":57,"title":{"interfaces/ValidationParams.html":{}},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["validations",{"_index":1372,"title":{},"body":{"index.html":{}}}],["value",{"_index":35,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"modules/OAuthModule.html":{},"injectables/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/original-config-api.html":{}}}],["value.tostring(16",{"_index":190,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["values",{"_index":641,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["valuetohash",{"_index":42,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["var",{"_index":160,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/silent-refresh.html":{}}}],["variables",{"_index":1613,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["various",{"_index":1939,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vdveer",{"_index":1167,"title":{},"body":{"changelog.html":{}}}],["versatility",{"_index":1502,"title":{},"body":{"index.html":{}}}],["version",{"_index":536,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["versions",{"_index":1316,"title":{},"body":{"index.html":{}}}],["via",{"_index":1290,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vital",{"_index":1451,"title":{},"body":{"index.html":{}}}],["void",{"_index":293,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["voucher",{"_index":1682,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["w",{"_index":372,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"miscellaneous/functions.html":{}}}],["w[i",{"_index":397,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["want",{"_index":632,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["warn",{"_index":790,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["warn(message",{"_index":658,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["warning",{"_index":1872,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["warranties",{"_index":1587,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1582,"title":{},"body":{"license.html":{}}}],["way",{"_index":1109,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["we've",{"_index":1292,"title":{},"body":{"index.html":{}}}],["web",{"_index":1379,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["webcomponents/custom",{"_index":1204,"title":{},"body":{"dependencies.html":{}}}],["webhttpurlencodingcodec",{"_index":880,"title":{"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["webpack",{"_index":1291,"title":{},"body":{"index.html":{}}}],["websocket",{"_index":1010,"title":{},"body":{"changelog.html":{}}}],["well",{"_index":650,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["when/some",{"_index":1364,"title":{},"body":{"index.html":{}}}],["whenever",{"_index":1831,"title":{},"body":{"additional-documentation/events.html":{}}}],["whether",{"_index":1599,"title":{},"body":{"license.html":{}}}],["white",{"_index":1753,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["widow",{"_index":1707,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["window",{"_index":986,"title":{},"body":{"changelog.html":{}}}],["window.crypto.subtle.digest(algorithm",{"_index":168,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["window.location.hash",{"_index":863,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["window.location.origin",{"_index":1438,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["window.opener",{"_index":1689,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["window.parent",{"_index":1796,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["window.parent).postmessage(location.hash",{"_index":1690,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["windowref",{"_index":982,"title":{},"body":{"changelog.html":{}}}],["wish",{"_index":2047,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["within",{"_index":1660,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["without",{"_index":1562,"title":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}},"body":{"license.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["work",{"_index":1096,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/using-identity-server.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["working",{"_index":1168,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{"changelog.html":{}}}],["works",{"_index":458,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["workshops",{"_index":1547,"title":{},"body":{"index.html":{}}}],["write",{"_index":1762,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ws02",{"_index":1936,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["yes",{"_index":792,"title":{},"body":{"classes/OAuthLogger.html":{},"injectables/UrlHelperService.html":{},"miscellaneous/functions.html":{}}}],["you're",{"_index":1535,"title":{},"body":{"index.html":{}}}],["you've",{"_index":1974,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["yourself",{"_index":2066,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["zeroes",{"_index":464,"title":{},"body":{"classes/HMAC.html":{},"classes/Hash.html":{}}}],["zone.js",{"_index":1226,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":1609,"title":{},"body":{"overview.html":{}}}],["zum",{"_index":1984,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}]],"pipeline":["stemmer"]},
+    "store": {"classes/AbstractValidationHandler.html":{"url":"classes/AbstractValidationHandler.html","title":"class - AbstractValidationHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  AbstractValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/validation-handler.ts\n        \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                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Protected\n                                    Abstract\n                                calcHash\n                            \n                            \n                                    Protected\n                                inferHashAlgorithm\n                            \n                            \n                                    Async\n                                validateAtHash\n                            \n                            \n                                    Abstract\n                                validateSignature\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Protected\n                        Abstract\n                        calcHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    calcHash(valueToHash: string, algorithm: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:88\n                \n            \n\n\n            \n                \n                    Calculates the hash for the passed value by using\nthe passed hash algorithm.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    valueToHash\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    algorithm\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        Protected\n                        inferHashAlgorithm\n                        \n                    \n                \n            \n            \n                \n                    \n                    inferHashAlgorithm(jwtHeader: object)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:71\n                \n            \n\n\n            \n                \n                    Infers the name of the hash algorithm to use\nfrom the alg field of an id_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                    Description\n                                \n                            \n                            \n                                \n                                    jwtHeader\n                                    \n                                                object\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                    \n                                        the id_token's parsed header\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                    \n                        Async\n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateAtHash(params: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:46\n                \n            \n\n\n            \n                \n                    Validates the at_hash in an id_token against the received access_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    params\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        validateSignature\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:41\n                \n            \n\n\n            \n                \n                    Validates the signature of an id_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { base64UrlEncode } from '../base64-helper';\n\nexport 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   * Validates the signature of an id_token.\n   */\n  public abstract validateSignature(\n    validationParams: ValidationParams\n  ): Promise;\n\n  /**\n   * Validates the at_hash in an id_token against the received access_token.\n   */\n  public abstract validateAtHash(\n    validationParams: ValidationParams\n  ): Promise;\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   * 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  async validateAtHash(params: ValidationParams): Promise {\n    let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n    let tokenHash = await this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n    let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);\n\n    let atHash = base64UrlEncode(leftMostHalf);\n\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(\n    valueToHash: string,\n    algorithm: string\n  ): Promise;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/DateTimeProvider.html":{"url":"classes/DateTimeProvider.html","title":"class - DateTimeProvider","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  DateTimeProvider\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/date-time-provider.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                new\n                            \n                            \n                                    Abstract\n                                now\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        new\n                        \n                    \n                \n            \n            \n                \n                    \n                    new()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/date-time-provider.ts:5\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         Date\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        now\n                        \n                    \n                \n            \n            \n                \n                    \n                    now()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/date-time-provider.ts:4\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         number\n\n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\nexport abstract class DateTimeProvider {\n  abstract now(): number;\n  abstract new(): Date;\n}\n\n@Injectable()\nexport class SystemDateTimeProvider extends DateTimeProvider {\n  now(): number {\n    return Date.now();\n  }\n\n  new(): Date {\n    return new Date();\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"injectables/DefaultHashHandler.html":{"url":"injectables/DefaultHashHandler.html","title":"injectable - DefaultHashHandler","body":"\n                   \n\n\n\n\n\n\n\n\n  Injectables\n  DefaultHashHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/hash-handler.ts\n        \n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Async\n                                calcHash\n                            \n                            \n                                toHashString\n                            \n                            \n                                toHashString2\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Async\n                        calcHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    calcHash(valueToHash: string, algorithm: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:33\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    valueToHash\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    algorithm\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        toHashString\n                        \n                    \n                \n            \n            \n                \ntoHashString(buffer: ArrayBuffer)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:60\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    buffer\n                                    \n                                            ArrayBuffer\n                                    \n\n                                    \n                                        No\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                    \n                        toHashString2\n                        \n                    \n                \n            \n            \n                \ntoHashString2(byteArray: number[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:52\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    byteArray\n                                    \n                                            number[]\n                                    \n\n                                    \n                                        No\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    \n        import { Injectable } from '@angular/core';\n\nimport { factory } from './js-sha256';\n// const sha256 = factory();\n\nimport fsha256 from './fast-sha256js';\n\n/**\n * Abstraction for crypto algorithms\n */\nexport abstract class HashHandler {\n  abstract calcHash(valueToHash: string, algorithm: string): Promise;\n}\n\nfunction decodeUTF8(s) {\n  if (typeof s !== 'string') throw new TypeError('expected string');\n  var i,\n    d = s,\n    b = new Uint8Array(d.length);\n  for (i = 0; i  {\n    // const encoder = new TextEncoder();\n    // const hashArray = await window.crypto.subtle.digest(algorithm, data);\n    // const data = encoder.encode(valueToHash);\n\n    // const fhash = fsha256(valueToHash);\n\n    const candHash = encodeUTF8(fsha256(decodeUTF8(valueToHash)));\n\n    // const hashArray = (sha256 as any).array(valueToHash);\n    // // const hashString = this.toHashString(hashArray);\n    // const hashString = this.toHashString2(hashArray);\n\n    // console.debug('hash orig - cand', candHash, hashString);\n    // alert(1);\n\n    return candHash;\n  }\n\n  toHashString2(byteArray: number[]) {\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  toHashString(buffer: ArrayBuffer) {\n    const byteArray = new Uint8Array(buffer);\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  // hexString(buffer) {\n  //     const byteArray = new Uint8Array(buffer);\n  //     const hexCodes = [...byteArray].map(value => {\n  //       const hexCode = value.toString(16);\n  //       const paddedHexCode = hexCode.padStart(2, '0');\n  //       return paddedHexCode;\n  //     });\n\n  //     return hexCodes.join('');\n  //   }\n\n  // toHashString(hexString: string) {\n  //   let result = '';\n  //   for (let i = 0; i \n    \n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interceptors/DefaultOAuthInterceptor.html":{"url":"interceptors/DefaultOAuthInterceptor.html","title":"interceptor - DefaultOAuthInterceptor","body":"\n                   \n\n\n\n\n\n\n\n\n\n  Interceptors\n  DefaultOAuthInterceptor\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/interceptors/default-oauth.interceptor.ts\n        \n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Public\n                                intercept\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(oAuthService: OAuthService, errorHandler: OAuthResourceServerErrorHandler, moduleConfig: OAuthModuleConfig)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/interceptors/default-oauth.interceptor.ts:23\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        oAuthService\n                                                  \n                                                        \n                                                                        OAuthService\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        errorHandler\n                                                  \n                                                        \n                                                                        OAuthResourceServerErrorHandler\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        moduleConfig\n                                                  \n                                                        \n                                                                        OAuthModuleConfig\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        intercept\n                        \n                    \n                \n            \n            \n                \n                    \n                    intercept(req: HttpRequest, next: HttpHandler)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/interceptors/default-oauth.interceptor.ts:44\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    req\n                                    \n                                            HttpRequest\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    next\n                                    \n                                                HttpHandler\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Observable>\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n    \n\n\n    \n        import { Injectable, Optional } from '@angular/core';\n\nimport {\n  HttpEvent,\n  HttpHandler,\n  HttpInterceptor,\n  HttpRequest,\n} from '@angular/common/http';\nimport { Observable, of, merge } from 'rxjs';\nimport {\n  catchError,\n  filter,\n  map,\n  take,\n  mergeMap,\n  timeout,\n} from 'rxjs/operators';\nimport { OAuthResourceServerErrorHandler } from './resource-server-error-handler';\nimport { OAuthModuleConfig } from '../oauth-module.config';\nimport { OAuthService } from '../oauth-service';\n\n@Injectable()\nexport class DefaultOAuthInterceptor implements HttpInterceptor {\n  constructor(\n    private oAuthService: OAuthService,\n    private errorHandler: OAuthResourceServerErrorHandler,\n    @Optional() private moduleConfig: OAuthModuleConfig\n  ) {}\n\n  private checkUrl(url: string): boolean {\n    if (this.moduleConfig.resourceServer.customUrlValidation) {\n      return this.moduleConfig.resourceServer.customUrlValidation(url);\n    }\n\n    if (this.moduleConfig.resourceServer.allowedUrls) {\n      return !!this.moduleConfig.resourceServer.allowedUrls.find((u) =>\n        url.toLowerCase().startsWith(u.toLowerCase())\n      );\n    }\n\n    return true;\n  }\n\n  public intercept(\n    req: HttpRequest,\n    next: HttpHandler\n  ): Observable> {\n    const url = req.url.toLowerCase();\n\n    if (\n      !this.moduleConfig ||\n      !this.moduleConfig.resourceServer ||\n      !this.checkUrl(url)\n    ) {\n      return next.handle(req);\n    }\n\n    const sendAccessToken = this.moduleConfig.resourceServer.sendAccessToken;\n\n    if (!sendAccessToken) {\n      return next\n        .handle(req)\n        .pipe(catchError((err) => this.errorHandler.handleError(err)));\n    }\n\n    return merge(\n      of(this.oAuthService.getAccessToken()).pipe(filter((token) => !!token)),\n      this.oAuthService.events.pipe(\n        filter((e) => e.type === 'token_received'),\n        timeout(this.oAuthService.waitForTokenInMsec || 0),\n        catchError((_) => of(null)), // timeout is not an error\n        map((_) => this.oAuthService.getAccessToken())\n      )\n    ).pipe(\n      take(1),\n      mergeMap((token) => {\n        if (token) {\n          const header = 'Bearer ' + token;\n          const headers = req.headers.set('Authorization', header);\n          req = req.clone({ headers });\n        }\n\n        return next\n          .handle(req)\n          .pipe(catchError((err) => this.errorHandler.handleError(err)));\n      })\n    );\n  }\n}\n\n    \n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/HMAC.html":{"url":"classes/HMAC.html","title":"class - HMAC","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  HMAC\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/fast-sha256js.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                blockSize\n                            \n                            \n                                digestLength\n                            \n                        \n                    \n                \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                clean\n                            \n                            \n                                digest\n                            \n                            \n                                finish\n                            \n                            \n                                reset\n                            \n                            \n                                update\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(key: Uint8Array)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:292\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        key\n                                                  \n                                                        \n                                                                    Uint8Array\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        blockSize\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : this.inner.blockSize\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:286\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digestLength\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : this.inner.digestLength\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:287\n                        \n                    \n\n\n        \n    \n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        clean\n                        \n                    \n                \n            \n            \n                \nclean()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:334\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         void\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digest\n                        \n                    \n                \n            \n            \n                \ndigest()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:360\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :     Uint8Array\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        finish\n                        \n                    \n                \n            \n            \n                \nfinish(out: Uint8Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:349\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    out\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        reset\n                        \n                    \n                \n            \n            \n                \nreset()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:327\n                \n            \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        update\n                        \n                    \n                \n            \n            \n                \nupdate(data: Uint8Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:343\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    data\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        export const digestLength: number = 32;\nexport const blockSize: number = 64;\n\n// SHA-256 constants\nconst K = new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n  0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n  0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n  0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n  0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n  0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n  0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n  0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n]);\n\nfunction hashBlocks(\n  w: Int32Array,\n  v: Int32Array,\n  p: Uint8Array,\n  pos: number,\n  len: number\n): number {\n  let a: number,\n    b: number,\n    c: number,\n    d: number,\n    e: number,\n    f: number,\n    g: number,\n    h: number,\n    u: number,\n    i: number,\n    j: number,\n    t1: number,\n    t2: number;\n  while (len >= 64) {\n    a = v[0];\n    b = v[1];\n    c = v[2];\n    d = v[3];\n    e = v[4];\n    f = v[5];\n    g = v[6];\n    h = v[7];\n\n    for (i = 0; i >> 17) | (u >> 19) | (u >> 10);\n\n      u = w[i - 15];\n      t2 =\n        ((u >>> 7) | (u >> 18) | (u >> 3);\n\n      w[i] = ((t1 + w[i - 7]) | 0) + ((t2 + w[i - 16]) | 0);\n    }\n\n    for (i = 0; i >> 6) | (e >> 11) | (e >> 25) | (e >> 2) | (a >> 13) | (a >> 22) | (a  0) {\n      while (this.bufferLength  0) {\n        this.buffer[this.bufferLength++] = data[dataPos++];\n        dataLength--;\n      }\n      if (this.bufferLength === 64) {\n        hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n        this.bufferLength = 0;\n      }\n    }\n    if (dataLength >= 64) {\n      dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n      dataLength %= 64;\n    }\n    while (dataLength > 0) {\n      this.buffer[this.bufferLength++] = data[dataPos++];\n      dataLength--;\n    }\n    return this;\n  }\n\n  // Finalizes hash state and puts hash into out.\n  //\n  // If hash was already finalized, puts the same value.\n  finish(out: Uint8Array): this {\n    if (!this.finished) {\n      const bytesHashed = this.bytesHashed;\n      const left = this.bufferLength;\n      const bitLenHi = (bytesHashed / 0x20000000) | 0;\n      const bitLenLo = bytesHashed >> 24) & 0xff;\n      this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n      this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n      this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n      this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n      this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n      this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n      this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n\n      hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n\n      this.finished = true;\n    }\n\n    for (let i = 0; i >> 24) & 0xff;\n      out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n      out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n      out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n    }\n\n    return this;\n  }\n\n  // Returns the final hash digest.\n  digest(): Uint8Array {\n    const out = new Uint8Array(this.digestLength);\n    this.finish(out);\n    return out;\n  }\n\n  // Internal function for use in HMAC for optimization.\n  _saveState(out: Uint32Array) {\n    for (let i = 0; i  this.blockSize) {\n      new Hash().update(key).finish(pad).clean();\n    } else {\n      for (let i = 0; i  1) {\n    hmac.update(buffer);\n  }\n\n  // Hash in info if it exists.\n  if (info) {\n    hmac.update(info);\n  }\n\n  // Hash in the counter.\n  hmac.update(counter);\n\n  // Output result to buffer and clean HMAC instance.\n  hmac.finish(buffer);\n\n  // Increment counter inside typed array, this works properly.\n  counter[0]++;\n}\n\nconst hkdfSalt = new Uint8Array(digestLength); // Filled with zeroes.\nexport function hkdf(\n  key: Uint8Array,\n  salt: Uint8Array = hkdfSalt,\n  info?: Uint8Array,\n  length: number = 32\n) {\n  const counter = new Uint8Array([1]);\n\n  // HKDF-Extract uses salt as HMAC key, and key as data.\n  const okm = hmac(salt, key);\n\n  // Initialize HMAC for expanding with extracted key.\n  // Ensure no collisions with `hmac` function.\n  const hmac_ = new HMAC(okm);\n\n  // Allocate buffer.\n  const buffer = new Uint8Array(hmac_.digestLength);\n  let bufpos = buffer.length;\n\n  const out = new Uint8Array(length);\n  for (let i = 0; i >> 24) & 0xff;\n    ctr[1] = (c >>> 16) & 0xff;\n    ctr[2] = (c >>> 8) & 0xff;\n    ctr[3] = (c >>> 0) & 0xff;\n    prf.reset();\n    prf.update(salt);\n    prf.update(ctr);\n    prf.finish(u);\n    for (let j = 0; j \n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/Hash.html":{"url":"classes/Hash.html","title":"class - Hash","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  Hash\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/fast-sha256js.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                blockSize\n                            \n                            \n                                digestLength\n                            \n                            \n                                finished\n                            \n                        \n                    \n                \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                _restoreState\n                            \n                            \n                                _saveState\n                            \n                            \n                                clean\n                            \n                            \n                                digest\n                            \n                            \n                                finish\n                            \n                            \n                                reset\n                            \n                            \n                                update\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor()\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:149\n                            \n                        \n\n            \n        \n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        blockSize\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : blockSize\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:140\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digestLength\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : digestLength\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:139\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        finished\n                        \n                    \n                \n            \n                \n                    \n                        Type :         boolean\n\n                    \n                \n                \n                    \n                        Default value : false\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/token-validation/fast-sha256js.ts:149\n                        \n                    \n\n\n        \n    \n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        _restoreState\n                        \n                    \n                \n            \n            \n                \n_restoreState(from: Uint32Array, bytesHashed: number)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:271\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    from\n                                    \n                                            Uint32Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    bytesHashed\n                                    \n                                                number\n                                    \n\n                                    \n                                        No\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                    \n                        _saveState\n                        \n                    \n                \n            \n            \n                \n_saveState(out: Uint32Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:264\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    out\n                                    \n                                            Uint32Array\n                                    \n\n                                    \n                                        No\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                    \n                        clean\n                        \n                    \n                \n            \n            \n                \nclean()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:173\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         void\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digest\n                        \n                    \n                \n            \n            \n                \ndigest()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:257\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :     Uint8Array\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        finish\n                        \n                    \n                \n            \n            \n                \nfinish(out: Uint8Array)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:220\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    out\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        reset\n                        \n                    \n                \n            \n            \n                \nreset()\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:157\n                \n            \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        update\n                        \n                    \n                \n            \n            \n                \nupdate(data: Uint8Array, dataLength: number)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/fast-sha256js.ts:190\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                    Default value\n                                \n                            \n                            \n                                \n                                    data\n                                    \n                                            Uint8Array\n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                    \n\n                                \n                                \n                                    dataLength\n                                    \n                                                number\n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                        data.length\n                                    \n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        export const digestLength: number = 32;\nexport const blockSize: number = 64;\n\n// SHA-256 constants\nconst K = new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n  0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n  0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n  0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n  0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n  0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n  0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n  0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n]);\n\nfunction hashBlocks(\n  w: Int32Array,\n  v: Int32Array,\n  p: Uint8Array,\n  pos: number,\n  len: number\n): number {\n  let a: number,\n    b: number,\n    c: number,\n    d: number,\n    e: number,\n    f: number,\n    g: number,\n    h: number,\n    u: number,\n    i: number,\n    j: number,\n    t1: number,\n    t2: number;\n  while (len >= 64) {\n    a = v[0];\n    b = v[1];\n    c = v[2];\n    d = v[3];\n    e = v[4];\n    f = v[5];\n    g = v[6];\n    h = v[7];\n\n    for (i = 0; i >> 17) | (u >> 19) | (u >> 10);\n\n      u = w[i - 15];\n      t2 =\n        ((u >>> 7) | (u >> 18) | (u >> 3);\n\n      w[i] = ((t1 + w[i - 7]) | 0) + ((t2 + w[i - 16]) | 0);\n    }\n\n    for (i = 0; i >> 6) | (e >> 11) | (e >> 25) | (e >> 2) | (a >> 13) | (a >> 22) | (a  0) {\n      while (this.bufferLength  0) {\n        this.buffer[this.bufferLength++] = data[dataPos++];\n        dataLength--;\n      }\n      if (this.bufferLength === 64) {\n        hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n        this.bufferLength = 0;\n      }\n    }\n    if (dataLength >= 64) {\n      dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n      dataLength %= 64;\n    }\n    while (dataLength > 0) {\n      this.buffer[this.bufferLength++] = data[dataPos++];\n      dataLength--;\n    }\n    return this;\n  }\n\n  // Finalizes hash state and puts hash into out.\n  //\n  // If hash was already finalized, puts the same value.\n  finish(out: Uint8Array): this {\n    if (!this.finished) {\n      const bytesHashed = this.bytesHashed;\n      const left = this.bufferLength;\n      const bitLenHi = (bytesHashed / 0x20000000) | 0;\n      const bitLenLo = bytesHashed >> 24) & 0xff;\n      this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n      this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n      this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n      this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n      this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n      this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n      this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n\n      hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n\n      this.finished = true;\n    }\n\n    for (let i = 0; i >> 24) & 0xff;\n      out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n      out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n      out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n    }\n\n    return this;\n  }\n\n  // Returns the final hash digest.\n  digest(): Uint8Array {\n    const out = new Uint8Array(this.digestLength);\n    this.finish(out);\n    return out;\n  }\n\n  // Internal function for use in HMAC for optimization.\n  _saveState(out: Uint32Array) {\n    for (let i = 0; i  this.blockSize) {\n      new Hash().update(key).finish(pad).clean();\n    } else {\n      for (let i = 0; i  1) {\n    hmac.update(buffer);\n  }\n\n  // Hash in info if it exists.\n  if (info) {\n    hmac.update(info);\n  }\n\n  // Hash in the counter.\n  hmac.update(counter);\n\n  // Output result to buffer and clean HMAC instance.\n  hmac.finish(buffer);\n\n  // Increment counter inside typed array, this works properly.\n  counter[0]++;\n}\n\nconst hkdfSalt = new Uint8Array(digestLength); // Filled with zeroes.\nexport function hkdf(\n  key: Uint8Array,\n  salt: Uint8Array = hkdfSalt,\n  info?: Uint8Array,\n  length: number = 32\n) {\n  const counter = new Uint8Array([1]);\n\n  // HKDF-Extract uses salt as HMAC key, and key as data.\n  const okm = hmac(salt, key);\n\n  // Initialize HMAC for expanding with extracted key.\n  // Ensure no collisions with `hmac` function.\n  const hmac_ = new HMAC(okm);\n\n  // Allocate buffer.\n  const buffer = new Uint8Array(hmac_.digestLength);\n  let bufpos = buffer.length;\n\n  const out = new Uint8Array(length);\n  for (let i = 0; i >> 24) & 0xff;\n    ctr[1] = (c >>> 16) & 0xff;\n    ctr[2] = (c >>> 8) & 0xff;\n    ctr[3] = (c >>> 0) & 0xff;\n    prf.reset();\n    prf.update(salt);\n    prf.update(ctr);\n    prf.finish(u);\n    for (let j = 0; j \n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/HashHandler.html":{"url":"classes/HashHandler.html","title":"class - HashHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  HashHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/hash-handler.ts\n        \n\n\n            \n                Description\n            \n            \n                Abstraction for crypto algorithms\n\n            \n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                calcHash\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        calcHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    calcHash(valueToHash: string, algorithm: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/hash-handler.ts:12\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    valueToHash\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    algorithm\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\nimport { factory } from './js-sha256';\n// const sha256 = factory();\n\nimport fsha256 from './fast-sha256js';\n\n/**\n * Abstraction for crypto algorithms\n */\nexport abstract class HashHandler {\n  abstract calcHash(valueToHash: string, algorithm: string): Promise;\n}\n\nfunction decodeUTF8(s) {\n  if (typeof s !== 'string') throw new TypeError('expected string');\n  var i,\n    d = s,\n    b = new Uint8Array(d.length);\n  for (i = 0; i  {\n    // const encoder = new TextEncoder();\n    // const hashArray = await window.crypto.subtle.digest(algorithm, data);\n    // const data = encoder.encode(valueToHash);\n\n    // const fhash = fsha256(valueToHash);\n\n    const candHash = encodeUTF8(fsha256(decodeUTF8(valueToHash)));\n\n    // const hashArray = (sha256 as any).array(valueToHash);\n    // // const hashString = this.toHashString(hashArray);\n    // const hashString = this.toHashString2(hashArray);\n\n    // console.debug('hash orig - cand', candHash, hashString);\n    // alert(1);\n\n    return candHash;\n  }\n\n  toHashString2(byteArray: number[]) {\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  toHashString(buffer: ArrayBuffer) {\n    const byteArray = new Uint8Array(buffer);\n    let result = '';\n    for (let e of byteArray) {\n      result += String.fromCharCode(e);\n    }\n    return result;\n  }\n\n  // hexString(buffer) {\n  //     const byteArray = new Uint8Array(buffer);\n  //     const hexCodes = [...byteArray].map(value => {\n  //       const hexCode = value.toString(16);\n  //       const paddedHexCode = hexCode.padStart(2, '0');\n  //       return paddedHexCode;\n  //     });\n\n  //     return hexCodes.join('');\n  //   }\n\n  // toHashString(hexString: string) {\n  //   let result = '';\n  //   for (let i = 0; i \n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  JwksValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/jwks-validation-handler.ts\n        \n\n\n            \n                Description\n            \n            \n                This is just a dummy of the JwksValidationHandler\ntelling the users that the real one has been moved\nto an library of its own, namely angular-oauth2-oidc-utils\n\n            \n\n            \n                Extends\n            \n            \n                        NullValidationHandler\n            \n\n\n\n            \n    Index\n    \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\n            \n    Constructor\n        \n            \n                \n                    \nconstructor()\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/token-validation/jwks-validation-handler.ts:25\n                            \n                        \n\n            \n        \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \nvalidateAtHash(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Inherited from         NullValidationHandler\n\n                \n            \n            \n                \n                        Defined in         NullValidationHandler:11\n\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        validateSignature\n                        \n                    \n                \n            \n            \n                \nvalidateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Inherited from         NullValidationHandler\n\n                \n            \n            \n                \n                        Defined in         NullValidationHandler:8\n\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { NullValidationHandler } from './null-validation-handler';\n\nconst err = `PLEASE READ THIS CAREFULLY:\n\nBeginning with angular-oauth2-oidc version 9, the JwksValidationHandler\nhas been moved to an library of its own. If you need it for implementing\nOAuth2/OIDC **implicit flow**, please install it using npm:\n\n  npm i angular-oauth2-oidc-jwks --save\n\nAfter that, you can import it into your application:\n\n  import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\n\nPlease note, that this dependency is not needed for the **code flow**,\nwhich is nowadays the **recommented** one for single page applications.\nThis also results in smaller bundle sizes.\n`;\n\n/**\n * This is just a dummy of the JwksValidationHandler\n * telling the users that the real one has been moved\n * to an library of its own, namely angular-oauth2-oidc-utils\n */\nexport class JwksValidationHandler extends NullValidationHandler {\n  constructor() {\n    super();\n    console.error(err);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  LoginOptions\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Additional options that can be passed to tryLogin.\n\n            \n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                    Optional\n                                customHashFragment\n                            \n                            \n                                    Optional\n                                customRedirectUri\n                            \n                            \n                                    Optional\n                                disableNonceCheck\n                            \n                            \n                                    Optional\n                                disableOAuth2StateCheck\n                            \n                            \n                                    Optional\n                                onLoginError\n                            \n                            \n                                    Optional\n                                onTokenReceived\n                            \n                            \n                                    Optional\n                                preventClearHashAfterLogin\n                            \n                            \n                                    Optional\n                                validationHandler\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        customHashFragment\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:40\n                        \n                    \n\n            \n                \n                    A custom hash fragment to be used instead of the\nactual one. This is used for silent refreshes, to\npass the iframes hash fragment to this method, and\nis also used by popup flows in the same manner.\nThis can be used with code flow, where is must be set\nto a hash symbol followed by the querystring. The\nquestion mark is optional, but may be present following\nthe hash symbol.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        customRedirectUri\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:74\n                        \n                    \n\n            \n                \n                    Set this for code flow if you used a custom redirect Uri\nwhen retrieving the code. This is used internally for silent\nrefresh and popup flows.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        disableNonceCheck\n                        \n                    \n                \n            \n                \n                    \n                        Default value : false\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:59\n                        \n                    \n\n            \n                \n                    Set this to true to disable the nonce\ncheck which is used to avoid\nreplay attacks.\nThis flag should never be true in\nproduction environments.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        disableOAuth2StateCheck\n                        \n                    \n                \n            \n                \n                    \n                        Type :         boolean\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:50\n                        \n                    \n\n            \n                \n                    Set this to true to disable the oauth2 state\ncheck which is a best practice to avoid\nsecurity attacks.\nAs OIDC defines a nonce check that includes\nthis, this can be set to true when only doing\nOIDC.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        onLoginError\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:28\n                        \n                    \n\n            \n                \n                    Called when tryLogin detects that the auth server\nincluded an error message into the hash fragment.\nDeprecated:  Use property events on OAuthService instead.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        onTokenReceived\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:13\n                        \n                    \n\n            \n                \n                    Is called, after a token has been received and\nsuccessfully validated.\nDeprecated:  Use property events on OAuthService instead.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        preventClearHashAfterLogin\n                        \n                    \n                \n            \n                \n                    \n                        Default value : false\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:67\n                        \n                    \n\n            \n                \n                    Normally, you want to clear your hash fragment after\nthe lib read the token(s) so that they are not displayed\nanymore in the url. If not, set this to true. For code flow\nthis controls removing query string values.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        validationHandler\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:20\n                        \n                    \n\n            \n                \n                    Hook, to validate the received tokens.\nDeprecated:  Use property tokenValidationHandler on OAuthService instead.\n\n                \n            \n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"injectables/MemoryStorage.html":{"url":"injectables/MemoryStorage.html","title":"injectable - MemoryStorage","body":"\n                   \n\n\n\n\n\n\n\n\n  Injectables\n  MemoryStorage\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n\n\n\n            \n    Index\n    \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\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        getItem\n                        \n                    \n                \n            \n            \n                \ngetItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:107\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        removeItem\n                        \n                    \n                \n            \n            \n                \nremoveItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:111\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        setItem\n                        \n                    \n                \n            \n            \n                \nsetItem(key: string, data: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:115\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    data\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  NullValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/null-validation-handler.ts\n        \n\n\n            \n                Description\n            \n            \n                A validation handler that isn't validating nothing.\nCan be used to skip validation (at 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                    \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\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \nvalidateAtHash(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/null-validation-handler.ts:11\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        validateSignature\n                        \n                    \n                \n            \n            \n                \nvalidateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/null-validation-handler.ts:8\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\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 (at your own risk).\n */\nexport class NullValidationHandler implements ValidationHandler {\n  validateSignature(validationParams: ValidationParams): Promise {\n    return Promise.resolve(null);\n  }\n  validateAtHash(validationParams: ValidationParams): Promise {\n    return Promise.resolve(true);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  OAuthErrorEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        OAuthEvent\n            \n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType, reason: object, params: object)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:44\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        reason\n                                                  \n                                                        \n                                                                        object\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        params\n                                                  \n                                                        \n                                                                        object\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-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\n\n\n  Classes\n  OAuthEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:28\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-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\n\n\n  Classes\n  OAuthInfoEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        OAuthEvent\n            \n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType, info: any)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:38\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        info\n                                                  \n                                                        \n                                                                        any\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthLogger.html":{"url":"classes/OAuthLogger.html","title":"class - OAuthLogger","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthLogger\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Defines the logging interface the OAuthService uses\ninternally. Is compatible with the console object,\nbut you can provide your own implementation as well\nthrough dependency injection.\n\n            \n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                debug\n                            \n                            \n                                    Abstract\n                                error\n                            \n                            \n                                    Abstract\n                                info\n                            \n                            \n                                    Abstract\n                                log\n                            \n                            \n                                    Abstract\n                                warn\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        debug\n                        \n                    \n                \n            \n            \n                \n                    \n                    debug(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:84\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        error\n                        \n                    \n                \n            \n            \n                \n                    \n                    error(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:88\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        info\n                        \n                    \n                \n            \n            \n                \n                    \n                    info(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:85\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        log\n                        \n                    \n                \n            \n            \n                \n                    \n                    log(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:86\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        warn\n                        \n                    \n                \n            \n            \n                \n                    \n                    warn(message?: any, ...optionalParams: any[])\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:87\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    message\n                                    \n                                                any\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    optionalParams\n                                    \n                                            any[]\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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        Source\n    \n\n\n\n    \n\n        \n            File\n        \n        \n            projects/lib/src/angular-oauth-oidc.module.ts\n        \n\n\n\n\n\n        \n            \n            \n        \n\n        \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Static\n                        forRoot\n                        \n                    \n                \n            \n            \n                \n                    \n                    forRoot(config: OAuthModuleConfig, validationHandlerClass)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/angular-oauth-oidc.module.ts:14\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                    Default value\n                                \n                            \n                            \n                                \n                                    config\n                                    \n                                                OAuthModuleConfig\n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                        null\n                                    \n\n                                \n                                \n                                    validationHandlerClass\n                                    \n                                    \n\n                                    \n                                        No\n                                    \n\n                                    \n                                        NullValidationHandler\n                                    \n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     ModuleWithProviders\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n    \n\n\n    \n        import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { OAuthModuleConfig } from './oauth-module.config';\nimport { NullValidationHandler } from './token-validation/null-validation-handler';\nimport { provideOAuthClient } from './provider';\n\n@NgModule({\n  imports: [CommonModule],\n  declarations: [],\n  exports: [],\n})\nexport class OAuthModule {\n  static forRoot(\n    config: OAuthModuleConfig = null,\n    validationHandlerClass = NullValidationHandler\n  ): ModuleWithProviders {\n    return {\n      ngModule: OAuthModule,\n      providers: [provideOAuthClient(config, validationHandlerClass)],\n    };\n  }\n}\n\n    \n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthModuleConfig.html":{"url":"classes/OAuthModuleConfig.html","title":"class - OAuthModuleConfig","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthModuleConfig\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/oauth-module.config.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                resourceServer\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        resourceServer\n                        \n                    \n                \n            \n                \n                    \n                        Type :         OAuthResourceServerConfig\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:2\n                        \n                    \n\n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        export abstract class OAuthModuleConfig {\n  resourceServer: OAuthResourceServerConfig;\n}\n\nexport abstract class OAuthResourceServerConfig {\n  /**\n   * Urls for which calls should be intercepted.\n   * If there is an ResourceServerErrorHandler registered, it is used for them.\n   * If sendAccessToken is set to true, the access_token is send to them too.\n   */\n  allowedUrls?: Array;\n  sendAccessToken: boolean;\n  customUrlValidation?: (url: string) => boolean;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthNoopResourceServerErrorHandler.html":{"url":"classes/OAuthNoopResourceServerErrorHandler.html","title":"class - OAuthNoopResourceServerErrorHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthNoopResourceServerErrorHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/interceptors/resource-server-error-handler.ts\n        \n\n\n\n\n            \n                Implements\n            \n            \n                            OAuthResourceServerErrorHandler\n            \n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                handleError\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        handleError\n                        \n                    \n                \n            \n            \n                \nhandleError(err: HttpResponse)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/interceptors/resource-server-error-handler.ts:11\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    err\n                                    \n                                            HttpResponse\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Observable\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        import { HttpResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\n\nexport abstract class OAuthResourceServerErrorHandler {\n  abstract handleError(err: HttpResponse): Observable;\n}\n\nexport class OAuthNoopResourceServerErrorHandler\n  implements OAuthResourceServerErrorHandler\n{\n  handleError(err: HttpResponse): Observable {\n    return throwError(err);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthResourceServerConfig.html":{"url":"classes/OAuthResourceServerConfig.html","title":"class - OAuthResourceServerConfig","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthResourceServerConfig\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/oauth-module.config.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n                \n                    \n                        Properties\n                    \n                \n                \n                    \n                        \n                            \n                                    Optional\n                                allowedUrls\n                            \n                            \n                                    Optional\n                                customUrlValidation\n                            \n                            \n                                sendAccessToken\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        allowedUrls\n                        \n                    \n                \n            \n                \n                    \n                        Type :     Array\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:11\n                        \n                    \n\n            \n                \n                    Urls for which calls should be intercepted.\nIf there is an ResourceServerErrorHandler registered, it is used for them.\nIf sendAccessToken is set to true, the access_token is send to them too.\n\n                \n            \n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        customUrlValidation\n                        \n                    \n                \n            \n                \n                    \n                        Type :         function\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:13\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        sendAccessToken\n                        \n                    \n                \n            \n                \n                    \n                        Type :         boolean\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/oauth-module.config.ts:12\n                        \n                    \n\n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        export abstract class OAuthModuleConfig {\n  resourceServer: OAuthResourceServerConfig;\n}\n\nexport abstract class OAuthResourceServerConfig {\n  /**\n   * Urls for which calls should be intercepted.\n   * If there is an ResourceServerErrorHandler registered, it is used for them.\n   * If sendAccessToken is set to true, the access_token is send to them too.\n   */\n  allowedUrls?: Array;\n  sendAccessToken: boolean;\n  customUrlValidation?: (url: string) => boolean;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/OAuthResourceServerErrorHandler.html":{"url":"classes/OAuthResourceServerErrorHandler.html","title":"class - OAuthResourceServerErrorHandler","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  OAuthResourceServerErrorHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/interceptors/resource-server-error-handler.ts\n        \n\n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                handleError\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        handleError\n                        \n                    \n                \n            \n            \n                \n                    \n                    handleError(err: HttpResponse)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/interceptors/resource-server-error-handler.ts:5\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    err\n                                    \n                                            HttpResponse\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Observable\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n\n\n\n\n    \n\n\n    \n        import { HttpResponse } from '@angular/common/http';\nimport { Observable, throwError } from 'rxjs';\n\nexport abstract class OAuthResourceServerErrorHandler {\n  abstract handleError(err: HttpResponse): Observable;\n}\n\nexport class OAuthNoopResourceServerErrorHandler\n  implements OAuthResourceServerErrorHandler\n{\n  handleError(err: HttpResponse): Observable {\n    return throwError(err);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  OAuthStorage\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \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                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Abstract\n                                getItem\n                            \n                            \n                                    Abstract\n                                removeItem\n                            \n                            \n                                    Abstract\n                                setItem\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        getItem\n                        \n                    \n                \n            \n            \n                \n                    \n                    getItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:98\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     string | null\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        Abstract\n                        removeItem\n                        \n                    \n                \n            \n            \n                \n                    \n                    removeItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:99\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        Abstract\n                        setItem\n                        \n                    \n                \n            \n            \n                \n                    \n                    setItem(key: string, data: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:100\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    data\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  OAuthSuccessEvent\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/events.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        OAuthEvent\n            \n\n\n\n\n            \n    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType, info: any)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:32\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        type\n                                                  \n                                                        \n                                                                        EventType\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                                \n                                                        info\n                                                  \n                                                        \n                                                                        any\n                                                        \n                                                  \n                                                    \n                                                            No\n                                                    \n                                                    \n                                                \n                                        \n                                    \n                            \n                    \n                \n            \n        \n\n\n\n\n\n\n\n\n\n    \n\n\n    \n        export type EventType =\n  | 'discovery_document_loaded'\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  | 'code_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  | 'session_unchanged'\n  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked'\n  | 'token_revoke_error';\n\nexport abstract class OAuthEvent {\n  constructor(readonly type: EventType) {}\n}\n\nexport class OAuthSuccessEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthInfoEvent extends OAuthEvent {\n  constructor(type: EventType, readonly info: any = null) {\n    super(type);\n  }\n}\n\nexport class OAuthErrorEvent extends OAuthEvent {\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                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interfaces/OidcDiscoveryDoc.html":{"url":"interfaces/OidcDiscoveryDoc.html","title":"interface - OidcDiscoveryDoc","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n  Interfaces\n  \n  OidcDiscoveryDoc\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents an OpenID Connect discovery document\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            acr_values_supported\n                                        \n                                \n                                \n                                        \n                                            authorization_endpoint\n                                        \n                                \n                                \n                                        \n                                            check_session_iframe\n                                        \n                                \n                                \n                                        \n                                            claim_types_supported\n                                        \n                                \n                                \n                                        \n                                            claims_parameter_supported\n                                        \n                                \n                                \n                                        \n                                            claims_supported\n                                        \n                                \n                                \n                                        \n                                            display_values_supported\n                                        \n                                \n                                \n                                        \n                                            end_session_endpoint\n                                        \n                                \n                                \n                                        \n                                            grant_types_supported\n                                        \n                                \n                                \n                                        \n                                            id_token_encryption_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            id_token_encryption_enc_values_supported\n                                        \n                                \n                                \n                                        \n                                            id_token_signing_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            issuer\n                                        \n                                \n                                \n                                        \n                                            jwks_uri\n                                        \n                                \n                                \n                                        \n                                            registration_endpoint\n                                        \n                                \n                                \n                                        \n                                            request_object_signing_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            response_modes_supported\n                                        \n                                \n                                \n                                        \n                                            response_types_supported\n                                        \n                                \n                                \n                                        \n                                            revocation_endpoint\n                                        \n                                \n                                \n                                        \n                                            scopes_supported\n                                        \n                                \n                                \n                                        \n                                            service_documentation\n                                        \n                                \n                                \n                                        \n                                            subject_types_supported\n                                        \n                                \n                                \n                                        \n                                            token_endpoint\n                                        \n                                \n                                \n                                        \n                                            token_endpoint_auth_methods_supported\n                                        \n                                \n                                \n                                        \n                                            token_endpoint_auth_signing_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            ui_locales_supported\n                                        \n                                \n                                \n                                        \n                                            userinfo_encryption_alg_values_supported\n                                        \n                                \n                                \n                                        \n                                            userinfo_encryption_enc_values_supported\n                                        \n                                \n                                \n                                        \n                                            userinfo_endpoint\n                                        \n                                \n                                \n                                        \n                                            userinfo_signing_alg_values_supported\n                                        \n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        acr_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        acr_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        authorization_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        authorization_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        check_session_iframe\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        check_session_iframe:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        claim_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        claim_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        claims_parameter_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        claims_parameter_supported:         boolean\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         boolean\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        claims_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        claims_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        display_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        display_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        end_session_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        end_session_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        grant_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        grant_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token_encryption_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token_encryption_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token_encryption_enc_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token_encryption_enc_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        issuer\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        jwks_uri\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        jwks_uri:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        registration_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        registration_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        request_object_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        request_object_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        response_modes_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        response_modes_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        response_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        response_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        revocation_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        revocation_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        scopes_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        scopes_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        service_documentation\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        service_documentation:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        subject_types_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        subject_types_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_endpoint_auth_methods_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_endpoint_auth_methods_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_endpoint_auth_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_endpoint_auth_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        ui_locales_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        ui_locales_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_encryption_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_encryption_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_encryption_enc_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_encryption_enc_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_endpoint\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_endpoint:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        userinfo_signing_alg_values_supported\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        userinfo_signing_alg_values_supported:     string[]\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :     string[]\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Interfaces\n  \n  ParsedIdToken\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents the parsed and validated id_token.\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            idToken\n                                        \n                                \n                                \n                                        \n                                            idTokenClaims\n                                        \n                                \n                                \n                                        \n                                            idTokenClaimsJson\n                                        \n                                \n                                \n                                        \n                                            idTokenExpiresAt\n                                        \n                                \n                                \n                                        \n                                            idTokenHeader\n                                        \n                                \n                                \n                                        \n                                            idTokenHeaderJson\n                                        \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                                    \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaims\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaimsJson\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenExpiresAt\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeader\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeaderJson\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  ReceivedTokens\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \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                                    Optional\n                                idClaims\n                            \n                            \n                                idToken\n                            \n                            \n                                    Optional\n                                state\n                            \n                        \n                    \n                \n\n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Properties\n    \n    \n        \n            \n                \n                    \n                    \n                        accessToken\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:126\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        idClaims\n                        \n                    \n                \n            \n                \n                    \n                        Type :         object\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:127\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        idToken\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:125\n                        \n                    \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                            Optional\n                        state\n                        \n                    \n                \n            \n                \n                    \n                        Type :         string\n\n                    \n                \n                    \n                        \n                                Defined in projects/lib/src/types.ts:128\n                        \n                    \n\n\n        \n    \n\n\n\n\n\n\n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"injectables/SystemDateTimeProvider.html":{"url":"injectables/SystemDateTimeProvider.html","title":"injectable - SystemDateTimeProvider","body":"\n                   \n\n\n\n\n\n\n\n\n  Injectables\n  SystemDateTimeProvider\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/date-time-provider.ts\n        \n\n\n\n            \n                Extends\n            \n            \n                        DateTimeProvider\n            \n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                new\n                            \n                            \n                                now\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        new\n                        \n                    \n                \n            \n            \n                \nnew()\n                \n            \n\n\n            \n                \n                    Inherited from         DateTimeProvider\n\n                \n            \n            \n                \n                        Defined in         DateTimeProvider:14\n\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         Date\n\n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        now\n                        \n                    \n                \n            \n            \n                \nnow()\n                \n            \n\n\n            \n                \n                    Inherited from         DateTimeProvider\n\n                \n            \n            \n                \n                        Defined in         DateTimeProvider:10\n\n                \n            \n\n\n            \n                \n\n                    \n                        Returns :         number\n\n                    \n                \n            \n        \n    \n\n\n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\nexport abstract class DateTimeProvider {\n  abstract now(): number;\n  abstract new(): Date;\n}\n\n@Injectable()\nexport class SystemDateTimeProvider extends DateTimeProvider {\n  now(): number {\n    return Date.now();\n  }\n\n  new(): Date {\n    return new Date();\n  }\n}\n\n    \n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interfaces/TokenResponse.html":{"url":"interfaces/TokenResponse.html","title":"interface - TokenResponse","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n  Interfaces\n  \n  TokenResponse\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents the response from the token endpoint\nhttp://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            access_token\n                                        \n                                \n                                \n                                        \n                                            expires_in\n                                        \n                                \n                                \n                                        \n                                            id_token\n                                        \n                                \n                                \n                                        \n                                            refresh_token\n                                        \n                                \n                                \n                                        \n                                            scope\n                                        \n                                \n                                \n                                            Optional\n                                        \n                                            state\n                                        \n                                \n                                \n                                        \n                                            token_type\n                                        \n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        access_token\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        access_token:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        expires_in\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        expires_in:         number\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         number\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        id_token\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        id_token:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        refresh_token\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        refresh_token:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        scope\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        state\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        state:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n                                    \n                                        \n                                            Optional\n                                        \n                                    \n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        token_type\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        token_type:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n  Injectables\n  UrlHelperService\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/url-helper.service.ts\n        \n\n\n\n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Public\n                                getHashFragmentParams\n                            \n                            \n                                    Public\n                                parseQueryString\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        getHashFragmentParams\n                        \n                    \n                \n            \n            \n                \n                    \n                    getHashFragmentParams(customHashFragment?: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/url-helper.service.ts:5\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    customHashFragment\n                                    \n                                                string\n                                    \n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         object\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        parseQueryString\n                        \n                    \n                \n            \n            \n                \n                    \n                    parseQueryString(queryString: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/url-helper.service.ts:25\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    queryString\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         object\n\n                    \n                    \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  public getHashFragmentParams(customHashFragment?: string): object {\n    let hash = customHashFragment || window.location.hash;\n\n    hash = decodeURIComponent(hash);\n\n    if (hash.indexOf('#') !== 0) {\n      return {};\n    }\n\n    const questionMarkPosition = hash.indexOf('?');\n\n    if (questionMarkPosition > -1) {\n      hash = hash.substr(questionMarkPosition + 1);\n    } else {\n      hash = hash.substr(1);\n    }\n\n    return this.parseQueryString(hash);\n  }\n\n  public parseQueryString(queryString: string): object {\n    const data = {};\n    let 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\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"interfaces/UserInfo.html":{"url":"interfaces/UserInfo.html","title":"interface - UserInfo","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n  Interfaces\n  \n  UserInfo\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/types.ts\n        \n\n\n            \n                Description\n            \n            \n                Represents the response from the user info endpoint\nhttp://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n\n            \n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            sub\n                                        \n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n            \n    Indexable\n        \n            \n                \n                    \n                        [key: string]:        any\n\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/types.ts:162\n                            \n                        \n            \n        \n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        sub\n                                            \n                                                \n                                            \n                                        \n                                    \n                                \n                                \n                                    \n                                        sub:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n            \n    \n\n\n    \n        import { Injectable } from '@angular/core';\n\n/**\n * Additional options that can be passed to tryLogin.\n */\nexport class LoginOptions {\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   *\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, and\n   * is also used by popup flows in the same manner.\n   * This can be used with code flow, where is must be set\n   * to a hash symbol followed by the querystring. The\n   * question mark is optional, but may be present following\n   * the hash symbol.\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   * Set this to true to disable the nonce\n   * check which is used to avoid\n   * replay attacks.\n   * This flag should never be true in\n   * production environments.\n   */\n  disableNonceCheck? = false;\n\n  /**\n   * Normally, you want to clear your hash fragment after\n   * the lib read the token(s) so that they are not displayed\n   * anymore in the url. If not, set this to true. For code flow\n   * this controls removing query string values.\n   */\n  preventClearHashAfterLogin? = false;\n\n  /**\n   * Set this for code flow if you used a custom redirect Uri\n   * when retrieving the code. This is used internally for silent\n   * refresh and popup flows.\n   */\n  customRedirectUri?: string;\n}\n\n/**\n * Defines the logging interface the OAuthService uses\n * internally. Is compatible with the `console` object,\n * but you can provide your own implementation as well\n * through dependency injection.\n */\nexport abstract class OAuthLogger {\n  abstract debug(message?: any, ...optionalParams: any[]): void;\n  abstract info(message?: any, ...optionalParams: any[]): void;\n  abstract log(message?: any, ...optionalParams: any[]): void;\n  abstract warn(message?: any, ...optionalParams: any[]): void;\n  abstract error(message?: any, ...optionalParams: any[]): void;\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@Injectable()\nexport class MemoryStorage implements OAuthStorage {\n  private data = new Map();\n\n  getItem(key: string): string {\n    return this.data.get(key);\n  }\n\n  removeItem(key: string): void {\n    this.data.delete(key);\n  }\n\n  setItem(key: string, data: string): void {\n    this.data.set(key, data);\n  }\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 * Represents the response from the token endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint\n */\nexport interface TokenResponse {\n  access_token: string;\n  id_token: string;\n  token_type: string;\n  expires_in: number;\n  refresh_token: string;\n  scope: string;\n  state?: string;\n}\n\n/**\n * Represents the response from the user info endpoint\n * http://openid.net/specs/openid-connect-core-1_0.html#UserInfo\n */\nexport interface UserInfo {\n  sub: string;\n  [key: string]: any;\n}\n\n/**\n * Represents an OpenID Connect discovery document\n */\nexport interface OidcDiscoveryDoc {\n  issuer: string;\n  authorization_endpoint: string;\n  token_endpoint: string;\n  token_endpoint_auth_methods_supported: string[];\n  token_endpoint_auth_signing_alg_values_supported: string[];\n  userinfo_endpoint: string;\n  check_session_iframe: string;\n  end_session_endpoint: string;\n  jwks_uri: string;\n  registration_endpoint: string;\n  scopes_supported: string[];\n  response_types_supported: string[];\n  acr_values_supported: string[];\n  response_modes_supported: string[];\n  grant_types_supported: string[];\n  subject_types_supported: string[];\n  userinfo_signing_alg_values_supported: string[];\n  userinfo_encryption_alg_values_supported: string[];\n  userinfo_encryption_enc_values_supported: string[];\n  id_token_signing_alg_values_supported: string[];\n  id_token_encryption_alg_values_supported: string[];\n  id_token_encryption_enc_values_supported: string[];\n  request_object_signing_alg_values_supported: string[];\n  display_values_supported: string[];\n  claim_types_supported: string[];\n  claims_supported: string[];\n  claims_parameter_supported: boolean;\n  service_documentation: string;\n  ui_locales_supported: string[];\n  revocation_endpoint: string;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Classes\n  ValidationHandler\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/validation-handler.ts\n        \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                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                    Public\n                                    Abstract\n                                validateAtHash\n                            \n                            \n                                    Public\n                                    Abstract\n                                validateSignature\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        Public\n                        Abstract\n                        validateAtHash\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateAtHash(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:27\n                \n            \n\n\n            \n                \n                    Validates the at_hash in an id_token against the received access_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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                    \n                        Public\n                        Abstract\n                        validateSignature\n                        \n                    \n                \n            \n            \n                \n                    \n                    validateSignature(validationParams: ValidationParams)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/token-validation/validation-handler.ts:20\n                \n            \n\n\n            \n                \n                    Validates the signature of an id_token.\n\n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    validationParams\n                                    \n                                                ValidationParams\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { base64UrlEncode } from '../base64-helper';\n\nexport 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   * Validates the signature of an id_token.\n   */\n  public abstract validateSignature(\n    validationParams: ValidationParams\n  ): Promise;\n\n  /**\n   * Validates the at_hash in an id_token against the received access_token.\n   */\n  public abstract validateAtHash(\n    validationParams: ValidationParams\n  ): Promise;\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   * 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  async validateAtHash(params: ValidationParams): Promise {\n    let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n    let tokenHash = await this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n    let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);\n\n    let atHash = base64UrlEncode(leftMostHalf);\n\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(\n    valueToHash: string,\n    algorithm: string\n  ): Promise;\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n  Interfaces\n  \n  ValidationParams\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/token-validation/validation-handler.ts\n        \n\n\n\n\n        \n            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        \n                                            accessToken\n                                        \n                                \n                                \n                                        \n                                            idToken\n                                        \n                                \n                                \n                                        \n                                            idTokenClaims\n                                        \n                                \n                                \n                                        \n                                            idTokenHeader\n                                        \n                                \n                                \n                                        \n                                            jwks\n                                        \n                                \n                                \n                                        \n                                            loadKeys\n                                        \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                                    \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idToken\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaims\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeader\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        jwks\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        loadKeys\n                                            \n                                                \n                                            \n                                        \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                        \n                    \n            \n    \n\n\n    \n        import { base64UrlEncode } from '../base64-helper';\n\nexport 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   * Validates the signature of an id_token.\n   */\n  public abstract validateSignature(\n    validationParams: ValidationParams\n  ): Promise;\n\n  /**\n   * Validates the at_hash in an id_token against the received access_token.\n   */\n  public abstract validateAtHash(\n    validationParams: ValidationParams\n  ): Promise;\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   * 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  async validateAtHash(params: ValidationParams): Promise {\n    let hashAlg = this.inferHashAlgorithm(params.idTokenHeader);\n\n    let tokenHash = await this.calcHash(params.accessToken, hashAlg); // sha256(accessToken, { asString: true });\n\n    let leftMostHalf = tokenHash.substr(0, tokenHash.length / 2);\n\n    let atHash = base64UrlEncode(leftMostHalf);\n\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(\n    valueToHash: string,\n    algorithm: string\n  ): Promise;\n}\n\n    \n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"classes/WebHttpUrlEncodingCodec.html":{"url":"classes/WebHttpUrlEncodingCodec.html","title":"class - WebHttpUrlEncodingCodec","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n  Classes\n  WebHttpUrlEncodingCodec\n\n\n\n        \n            Info\n        \n        \n            Source\n        \n\n\n\n    \n        \n            File\n        \n        \n            projects/lib/src/encoder.ts\n        \n\n\n            \n                Description\n            \n            \n                This custom encoder allows charactes like +, % and / to be used in passwords\n\n            \n\n\n            \n                Implements\n            \n            \n                            HttpParameterCodec\n            \n\n\n            \n    Index\n    \n        \n\n                \n                    \n                        Methods\n                    \n                \n                \n                    \n                        \n                            \n                                decodeKey\n                            \n                            \n                                decodeValue\n                            \n                            \n                                encodeKey\n                            \n                            \n                                encodeValue\n                            \n                        \n                    \n                \n\n\n\n\n\n        \n    \n\n\n\n\n            \n    \n    \n        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        decodeKey\n                        \n                    \n                \n            \n            \n                \ndecodeKey(k: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:14\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    k\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        decodeValue\n                        \n                    \n                \n            \n            \n                \ndecodeValue(v: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:18\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    v\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         any\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        encodeKey\n                        \n                    \n                \n            \n            \n                \nencodeKey(k: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:6\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    k\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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                    \n                        encodeValue\n                        \n                    \n                \n            \n            \n                \nencodeValue(v: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/encoder.ts:10\n                \n            \n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Type\n                                    Optional\n                                \n                            \n                            \n                                \n                                    v\n                                    \n                                                string\n                                    \n\n                                    \n                                        No\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\n    \n\n\n    \n        import { HttpParameterCodec } from '@angular/common/http';\n/**\n * This custom encoder allows charactes like +, % and / to be used in passwords\n */\nexport class WebHttpUrlEncodingCodec implements HttpParameterCodec {\n  encodeKey(k: string): string {\n    return encodeURIComponent(k);\n  }\n\n  encodeValue(v: string): string {\n    return encodeURIComponent(v);\n  }\n\n  decodeKey(k: string): string {\n    return decodeURIComponent(k);\n  }\n\n  decodeValue(v: string) {\n    return decodeURIComponent(v);\n  }\n}\n\n    \n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"changelog.html":{"url":"changelog.html","title":"getting-started - changelog","body":"\n                   \n\n12.0.0 (2021-07-16)\nBug Fixes\n\n#728 (51e438a), closes /github.com/manfredsteyer/angular-oauth2-oidc/issues/728#issuecomment-808969225\nclear location.hash only if it is present (c2b2753), closes #970\ncorrectly handle ? and & in location replacements (70fd826)\nDisable nonce validation for id token for e2e tests (f5bd96c)\nfix scope/state removal for implicit flow with hash (9e257d0)\nin code flow pass options to error handler (c9a2c55), closes #972\njwks: update jsrsasign dependency to 10.2.0 (a05bd8a), closes #1061\nmultiplying calls to token endpoint in code flow (59f65d2)\nRefresh tokens with a plus sign get corrupted before sending to token endpoint (2204c5a)\nrevoketokenandlogout: 'customParameters' should accept boolean (9761bad)\nWhile Using POPUP mode, we click on login button multiple time it opens multiple popup instead of focusing already opened (bbff95b)\n\nFeatures\n\nintroduce DateTimeProvider (0c0a4a7)\nlogout: postLogoutRedirectUri should not default to redirectUri (ff7d1d9)\nsupport JWT response on userinfo endpoint (da16494)\nCustom grant type added (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/919)\nListen for storage to receive auth hash from popup (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/935)\nAdd event for unchanged session (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/936)\nAdd loginHint to codeFlow (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/938)\nAdd a windowRef option to initLoginFlowInPopup to prevent the window from beeing blocked by popup blockers (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/965)\nUse configured revocationEndpoint by default (https://github.com/manfredsteyer/angular-oauth2-oidc/pull/1020)\n\n10.0.0 (2020-06-30)\n\nchore: increase version in package.json (84d95a7)\nchore: make version 9.2 ready (415e053)\nchore(deps): bump jsrsasign from 8.0.12 to 8.0.19 (4def1c1)\nchore(deps): bump websocket-extensions from 0.1.3 to 0.1.4 (cae715e)\nchore(release): 9.2.1 (7a15194)\nchore(release): 9.2.2 (40f5ae5)\nchore(release): 9.3.0 (f42f943)\nrefactor: inline js-sha256 (ca435c0)\nrefactor: remove dep on contributer-table (b486546)\nrefactor: use esm for sha-256 (92ee76d)\nfeat(oauth-service): pass custom url params to logOut (4607d55)\nfeat(oauth-service): revokeTokenAndLogout with cust params (026dcb3)\n'disableAtHashCheck' by default if responseType is 'id_token' (169d749)\n#825: (38c7c3f), closes #825\n#825: (fb3afe4), closes #825\nFix issue with ambient type in constructor when running Universal with Ivy (9e95c73)\nFix typo in code-flow.md (1816e7b)\nReplaced document by this.document #773 (678ff95), closes #773\nresponse_types including 'code' gets a code_challenge (58a8132)\nUpdate code-flow.md (5c5288c)\ndocs(readme): use our own idsvr (65c2b95)\nfix: loadDiscoveryDocumentAndLogin should pass state into initLoginFlow (132c624)\nfix(lib): copying LICENSE file to output build (e89aa6d)\n\n10.0.0 (2020-06-30)\nBug Fixes\n\nloadDiscoveryDocumentAndLogin should pass state into initLoginFlow (132c624)\nlib: copying LICENSE file to output build (e89aa6d)\n\nFeatures\n\noauth-service: pass custom url params to logOut (4607d55)\noauth-service: revokeTokenAndLogout with cust params (026dcb3)\n\n10.0.0 (2020-06-30)\nChangelog\nAll notable changes to this project will be documented in this file. See standard-version for commit guidelines.\nFeatures\n\nautomatic silent refresh: stopAutomaticRefresh stops all timers. (8ab853b)\ncode-flow: allow using implicit flow by setting useSilentRefresh to true (93902a5)\noauth-service: pass custom url params to logOut (4607d55)\noauth-service: revokeTokenAndLogout with cust params (026dcb3)\nsample: also use new idsvr 4 for implicit flow demo to prevent issues with same site cookies (58c6354)\nsession checks: Session checks work now for code flow too. Pls see Docs for details. (4bf8901)\ntoken-revocation: also revoke refresh_token (429ed2c)\nremove jsrsasign dependancy (77cb37a)\nUpgrade to angular 8 (31c6273)\n\nBug Fixes\n\nloadDiscoveryDocumentAndLogin should pass state into initLoginFlow (132c624)\nlib: copying LICENSE file to output build (e89aa6d)\nrevoketokenandlogout: explicit way to revoke an access token (c799ead)\nsample: make sense of the guard (1cae011)\n#687 (e2599e0)\ncode flow: Fixed code flow for IE 11 (0f03d39)\nsample: use hash-based routing (3f44eca)\nsession state: save session_state also when using code flow (8fa99ff)\nstate: passing an url with a querystring as the state, e. g. url?x=1 (71b705c)\nmissing HttpModule dependency (7eac8ae)\nrun tokensetup outside ngzone (07bb62d)\ntypo (3d331f2)\n\n9.2.2 (2020-05-09)\n9.2.1 (2020-04-23)\n9.2.0 (2020-03-28)\nFeatures\n\nrevoketokenandlogout: explicit way to revoke an access token according to RFC 7009 (c799ead)\n\ntoken-revocation: also revoke refresh_token (429ed2c)\n\n\nBug Fixes\n\nsample: make sense of the guard (1cae011)\n\n9.1.0 (2020-03-23)\nFeatures\n\nautomatic silent refresh: stopAutomaticRefresh stops all timers. (8ab853b)\ncode-flow: allow using silent refresh by setting useSilentRefresh to true (93902a5)\nsample: Also use new Identity Server 4 for implicit flow demo to prevent issues with same site cookies (58c6354)\nsession checks: Session checks work now for code flow too. Please see docs for details. (4bf8901)\n\nBug Fixes\n\ncode flow: Fixed code flow for IE 11 (0f03d39)\nsample: use hash-based routing (3f44eca)\nsession state: save session_state also when using code flow (8fa99ff)\nstate: passing an url with a querystring as the state, e. g. url?x=1 (71b705c)\n#687 (e2599e0)\nmissing HttpModule dependency (7eac8ae)\nrun tokensetup outside ngzone (07bb62d)\ntypo (3d331f2)\n\nPull Requests\n\nUpdate sample app and silent-refresh.html script #755, linjie997\nAdd optional state parameter for logout, pmccloghrylaing\nfix customHashFragment usage in tryLoginCodeFlow, roblabat\nreplace document with injectionToken #741, d-moos\nSupport predefined custom parameters extraction from the TokenResponse, vdveer\nFixed not working silent refresh when using 'code' #735, ErazerBrecht\n\nThanks\nBig Thanks to all contributers: Brecht Carlier, Daniel Moos, Jie Lin, Manfred Steyer, Phil McCloghry-Laing, robin labat, vdveer\nAlso, big thanks to jeroenheijmans for doing an awesome job with moderating and analyzing the issues!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n    \n        Dependencies\n    \n    \n        \n            @angular/animations : 15.0.0\n        \n            @angular/common : 15.0.0\n        \n            @angular/compiler : 15.0.0\n        \n            @angular/core : 15.0.0\n        \n            @angular/elements : 15.0.0\n        \n            @angular/forms : 15.0.0\n        \n            @angular/platform-browser : 15.0.0\n        \n            @angular/platform-browser-dynamic : 15.0.0\n        \n            @angular/router : 15.0.0\n        \n            @popperjs/core : ^2.9.2\n        \n            @webcomponents/custom-elements : ^1.4.3\n        \n            angular-oauth2-oidc : ^10.0.3\n        \n            angular-oauth2-oidc-jwks : ^9.0.0\n        \n            base64-js : ^1.5.1\n        \n            bootstrap : ^3.4.1\n        \n            fast-sha256 : ^1.3.0\n        \n            jsrsasign : ^10.3.0\n        \n            ngx-semantic-version : ^2.3.0\n        \n            rxjs : ^6.5.3\n        \n            rxjs-compat : ^6.6.7\n        \n            text-encoder-lite : ^2.0.0\n        \n            tsickle : ^0.43.0\n        \n            tslib : ^2.3.0\n        \n            zone.js : ~0.11.4\n    \n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n  Miscellaneous\n  Functions\n\n\n\n    Index\n    \n        \n            \n                \n                    \n                        \n                            b64DecodeUnicode   (projects/.../base64-helper.ts)\n                        \n                        \n                            base64UrlEncode   (projects/.../base64-helper.ts)\n                        \n                        \n                            createDefaultLogger   (projects/.../factories.ts)\n                        \n                        \n                            createDefaultStorage   (projects/.../factories.ts)\n                        \n                        \n                            decodeUTF8   (projects/.../hash-handler.ts)\n                        \n                        \n                            encodeUTF8   (projects/.../hash-handler.ts)\n                        \n                        \n                            fillBuffer   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hash   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hashBlocks   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hkdf   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            hmac   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            pbkdf2   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            provideOAuthClient   (projects/.../provider.ts)\n                        \n                    \n                \n            \n        \n    \n\n\n    projects/lib/src/base64-helper.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        b64DecodeUnicode\n                        \n                    \n                \n            \n            \n                \nb64DecodeUnicode(str)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    str\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        base64UrlEncode\n                        \n                    \n                \n            \n            \n                \nbase64UrlEncode(str)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    str\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         string\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    projects/lib/src/factories.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        createDefaultLogger\n                        \n                    \n                \n            \n            \n                \ncreateDefaultLogger()\n                \n            \n\n\n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        createDefaultStorage\n                        \n                    \n                \n            \n            \n                \ncreateDefaultStorage()\n                \n            \n\n\n\n\n        \n    \n    projects/lib/src/token-validation/hash-handler.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        decodeUTF8\n                        \n                    \n                \n            \n            \n                \ndecodeUTF8(s)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    s\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        encodeUTF8\n                        \n                    \n                \n            \n            \n                \nencodeUTF8(arr)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    arr\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    projects/lib/src/token-validation/fast-sha256js.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        fillBuffer\n                        \n                    \n                \n            \n            \n                \nfillBuffer(buffer, hmac, info, counter)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    buffer\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    hmac\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    info\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    counter\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hash\n                        \n                    \n                \n            \n            \n                \nhash(data)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    data\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     Uint8Array\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hashBlocks\n                        \n                    \n                \n            \n            \n                \nhashBlocks(w, v, p, pos, len)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    w\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    v\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    p\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    pos\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    len\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :         number\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hkdf\n                        \n                    \n                \n            \n            \n                \nhkdf(key, salt, info?, length)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    salt\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    info\n\n                                    \n                                        Yes\n                                    \n\n\n                                \n                                \n                                    length\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hmac\n                        \n                    \n                \n            \n            \n                \nhmac(key, data)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    key\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    data\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        pbkdf2\n                        \n                    \n                \n            \n            \n                \npbkdf2(password, salt, iterations, dkLen)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    password\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    salt\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    iterations\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    dkLen\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                \n            \n        \n    \n    projects/lib/src/provider.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        provideOAuthClient\n                        \n                    \n                \n            \n            \n                \nprovideOAuthClient(config, validationHandlerClass)\n                \n            \n\n\n\n\n            \n                \n\n                    \n                        Parameters :\n                        \n                            \n                                \n                                    Name\n                                    Optional\n                                \n                            \n                            \n                                \n                                    config\n\n                                    \n                                        No\n                                    \n\n\n                                \n                                \n                                    validationHandlerClass\n\n                                    \n                                        No\n                                    \n\n\n                                \n                            \n                        \n                    \n                    \n                    \n                    \n                        Returns :     EnvironmentProviders\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"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. Already prepared for the upcoming OAuth 2.1.\n\nCredits\n\njsrsasign for validating token signature and for hashing\nIdentity Server for testing with an .NET/.NET Core Backend\nKeycloak (Redhat) for testing with Java\nAuth0\n\nResources\n\nSources and Sample: https://github.com/manfredsteyer/angular-oauth2-oidc\nSource Code Documentation: https://manfredsteyer.github.io/angular-oauth2-oidc/docs\nCommunity-provided sample implementation: https://github.com/jeroenheijmans/sample-angular-oauth2-oidc-with-auth-guards/\n\nTested Environment\nSuccessfully tested with Angular 4.3 to Angular 15 and its Router, PathLocationStrategy as well as HashLocationStrategy and CommonJS-Bundling via webpack. \nAt server side we've used IdentityServer (.NET / .NET Core), Redhat's Keycloak (Java), and Auth0 (Auth0 is officially supported since version 10 of this lib). For Auth0, please have a look into the respective documentation page here.\nFor using this library with Azure Active Directory (Azure AD), we recommend an additional look to this blog post and the example linked at the end of this blog post.\nAlso, the Okta community created some guidelines on how to use this lib with Okta. See the links at the end of this page for more information.\nAngular 15: Use 15.x versions of this library (should also work with older Angular versions!).\nAngular 14: Use 14.x versions of this library (should also work with older Angular versions!).\nAngular 13: Use 13.x versions of this library (should also work with older Angular versions!).\nAngular 12: Use 12.x versions of this library (should also work with older Angular versions!).\nAngular 11: Use 10.x versions of this library (should also work with older Angular versions!).\nAngular 10: Use 10.x versions of this library (should also work with older Angular versions!).\nAngular 9: Use 9.x versions of this library (should also work with older Angular versions!).\nAngular 8: Use 8.x versions of this library.\nAngular 7: Use 7.x versions of this library.\nAngular 6: Use Version 4.x of this library. Version 4.x was tested with Angular 6. You can also try the newer version 5.x of this library which has a much smaller bundle size.\nAngular 5.x or 4.3: If you need support for Angular \nRelease Cycle\n\nWe plan one major release for each Angular version\nWill contain new features\nWill contain bug fixes and PRs\n\n\nCritical bugfixes on demand\n\nContributions\n\nFeel free to file pull requests\n\nThe issues contain some ideas for PRs and enhancements (see labels)\n\nIf you want to contribute to the docs, you can do so in the docs-src folder. Make sure you update summary.json as well. Then generate the docs with the following commands:\nnpm install -g @compodoc/compodoc\nnpm run docs\n\nFeatures\n\nLogging in via Code Flow + PKCE\nHence, you are safe for the upcoming OAuth 2.1\n\n\nLogging in via Implicit Flow (where a user is redirected to Identity Provider)\n\"Logging in\" via Password Flow (where a user enters their password into the client)\nToken Refresh for all supported flows\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\nTested with all modern browsers and IE\nToken Revocation according to RFC 7009\n\nSample-Auth-Server\nYou can use the OIDC-Sample-Server used in our examples. It assumes, that your Web-App runs on http://localhost:4200\nUsername/Password:\n\nmax/geheim\nbob/bob\nalice/alice\n\nclientIds:\n\nspa (Code Flow + PKCE)\nimplicit (implicit flow)\n\nredirectUris:\n\nlocalhost:[4200-4202]\nlocalhost:[4200-4202]/index.html\nlocalhost:[4200-4202]/silent-refresh.html\n\nInstalling\nnpm i angular-oauth2-oidc --saveOption 1: Standalone APIs\nIf you use Standalone Components introduced with Angular 14, you can use our standalone API (call to provideOAuthClient) in your main.ts to setup the OAuthClient:\n// main.ts -- Angular 15+ version\nimport { bootstrapApplication } from '@angular/platform-browser';\n\nimport { provideHttpClient } from '@angular/common/http';\n\nimport { AppComponent } from './app/app.component';\nimport { provideOAuthClient } from 'angular-oauth2-oidc';\n\nbootstrapApplication(AppComponent, {\n  providers: [\n    provideHttpClient(),\n    provideOAuthClient()\n  ]\n});As Angular 14 does have Standalone Components but no Standalone API for its HttpClient, you need to go with the traditional HttpClientModule in this version:\n// main.ts -- Angular 14 version\nimport { bootstrapApplication } from '@angular/platform-browser';\n\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AppComponent } from './app/app.component';\nimport { provideOAuthClient } from 'angular-oauth2-oidc';\nimport { importProvidersFrom } from '@angular/core';\n\nbootstrapApplication(AppComponent, {\n  providers: [\n    importProvidersFrom(HttpClientModule),\n    provideOAuthClient()\n  ]\n});The provideOAuthClient function takes the same parameters as the forRoot function of the OAuthModule that is still in place for the sake of compatibility with existing code bases.\nOption 2: Using NgModules\nimport { HttpClientModule } from '@angular/common/http';\nimport { OAuthModule } from 'angular-oauth2-oidc';\n// etc.\n\n@NgModule({\n  imports: [\n    // etc.\n    HttpClientModule,\n    OAuthModule.forRoot()\n  ],\n  declarations: [\n    AppComponent,\n    HomeComponent,\n    // etc.\n  ],\n  bootstrap: [\n    AppComponent\n  ]\n})\nexport class AppModule {\n}Logging in\nSince Version 8, this library supports code flow and PKCE to align with the current draft of the OAuth 2.0 Security Best Current Practice document. This is also the foundation of the upcoming OAuth 2.1.\nTo configure your solution for code flow + PKCE you have to set the responseType to code:\n  import { AuthConfig } from 'angular-oauth2-oidc';\n\n  export const authCodeFlowConfig: AuthConfig = {\n    // Url of the Identity Provider\n    issuer: 'https://idsvr4.azurewebsites.net',\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: 'server.code',\n    clientId: 'spa',\n\n    // Just needed if your auth server demands a secret. In general, this\n    // is a sign that the auth server is not configured with SPAs in mind\n    // and it might not enforce further best practices vital for security\n    // such applications.\n    // dummyClientSecret: 'secret',\n\n    responseType: 'code',\n\n    // set the scope for the permissions the client should request\n    // The first four are defined by OIDC.\n    // Important: Request offline_access to get a refresh token\n    // The api scope is a usecase specific one\n    scope: 'openid profile email offline_access api',\n\n    showDebugInformation: true,\n  };After this, you can initialize the code flow using:\nthis.oauthService.initCodeFlow();There is also a convenience method initLoginFlow which initializes either the code flow or the implicit flow depending on your configuration.\nthis.oauthService.initLoginFlow();Also -- as shown in the readme -- you have to execute the following code when bootstrapping to make the library to fetch the token:\nthis.oauthService.configure(authCodeFlowConfig);\nthis.oauthService.loadDiscoveryDocumentAndTryLogin();Logging out\nThe logOut method clears the used token store (by default sessionStorage) and forwards the user to the auth servers logout endpoint if one was configured (manually or via the discovery document).\nthis.oauthService.logOut();If you want to revoke the existing access token and the existing refresh token before logging out, use the following method:\nthis.oauthService.revokeTokenAndLogout();Skipping the Login Form\nIf you don't want to display a login form that tells the user that they are redirected to the identity server, you can use the convenience function this.oauthService.loadDiscoveryDocumentAndLogin(); instead of this.oauthService.loadDiscoveryDocumentAndTryLogin(); when setting up the library.\nThis directly redirects the user to the identity server if there are no valid tokens. Ensure you have your issuer set to your discovery document endpoint!\nCalling a Web API with an Access Token\nYou can automate this task by switching sendAccessToken on and by setting allowedUrls to an array with prefixes for the respective URLs. Use lower case for the prefixes.\nOAuthModule.forRoot({\n    resourceServer: {\n        allowedUrls: ['http://www.angular.at/api'],\n        sendAccessToken: true\n    }\n})If you need more versatility, you can look in the documentation how to setup a custom interceptor.\nToken Refresh\nSee docs: https://manfredsteyer.github.io/angular-oauth2-oidc/docs/additional-documentation/refreshing-a-token.html\nRouting\nIf you use the PathLocationStrategy (which is on by default) and have a general catch-all-route (path: '**') you should be fine. Otherwise look up the section Routing with the HashStrategy in the documentation.\nImplicit Flow\nNowadays, using code flow + PKCE -- as shown above -- is the recommended OAuth 2/OIDC flow for SPAs. To use the older implicit flow, lookup this docs: https://manfredsteyer.github.io/angular-oauth2-oidc/docs/additional-documentation/using-implicit-flow.html\nMore Documentation (!)\nSee the documentation for more information about this library.\nBreaking Change in Version 9\nWith regards to tree shaking, beginning with version 9, the JwksValidationHandler has been moved to a library of its own. If you need it for implementing implicit flow, please install it using npm:\nnpm i angular-oauth2-oidc-jwks --saveAfter that, you can import it into your application by using this:\nimport { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';instead of that:\nimport { JwksValidationHandler } from 'angular-oauth2-oidc';Please note, that this dependency is not needed for the code flow, which is nowadays the recommended flow for single page applications. This also results in smaller bundle sizes.\nBreaking change in 9.1.0\nThe use of encodeURIComponent on the argument passed to initImplicitFlow and its Code Flow counterparts was mandatory before this version.\nSince that was considered a bug, the need to do so was removed.\nNow the reverse is true if you're upgrading from before 9.0.0: you need to remove any call to encode URI components in your own application, as the library will now do it for you.\nTutorials\n\nTutorial with Demo Servers available online\nAngular Authentication with OpenID Connect and Okta in 20 Minutes\nAdd Authentication to Your Angular PWA\nBuild an Ionic App with User Authentication\nOn-Site Workshops\nAngular 6 with Auth0 using this library\n\nThanks to all Contributors\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"modules.html":{"url":"modules.html","title":"modules - modules","body":"\n                   \n\n\n\n\n    Modules\n\n\n    \n            \n                \n                    \n                        OAuthModule\n                    \n                    \n                                \n                                    No graph available.\n                                \n                        \n                            Browse\n                        \n                    \n                \n            \n    \n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"overview.html":{"url":"overview.html","title":"overview - overview","body":"\n                   \n\n\n\n    Overview\n\n  \n\n    \n        \n\n\n\n\n\ndependencies\n\ndependencies\n\n\n\n    \n    \n    \n        Zoom in\n        Reset\n        Zoom out\n    \n\n  \n\n    \n        \n            \n                \n                    \n                    \n                        1 Module\n                    \n                \n            \n        \n        \n            \n                \n                    \n                    5 Injectables\n                \n            \n        \n        \n            \n                \n                    \n                    22 Classes\n                \n            \n        \n        \n            \n                \n                    \n                    5 Interfaces\n                \n            \n        \n    \n\n\n \n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n  Miscellaneous\n  Type aliases\n\n\n\n    Index\n    \n        \n            \n                \n                    \n                        \n                            EventType   (projects/.../events.ts)\n                        \n                    \n                \n            \n        \n    \n\n\n    projects/lib/src/events.ts\n    \n    \n        \n            \n                \n                    \n                    EventType\n                \n            \n            \n                \n                            \"discovery_document_loaded\" | \"jwks_load_error\" | \"invalid_nonce_in_state\" | \"discovery_document_load_error\" | \"discovery_document_validation_error\" | \"user_profile_loaded\" | \"user_profile_load_error\" | \"token_received\" | \"token_error\" | \"code_error\" | \"token_refreshed\" | \"token_refresh_error\" | \"silent_refresh_error\" | \"silently_refreshed\" | \"silent_refresh_timeout\" | \"token_validation_error\" | \"token_expires\" | \"session_changed\" | \"session_error\" | \"session_terminated\" | \"session_unchanged\" | \"logout\" | \"popup_closed\" | \"popup_blocked\" | \"token_revoke_error\"\n\n                \n            \n        \n    \n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n  Miscellaneous\n  Variables\n\n\n\n    Index\n    \n        \n            \n                \n                    \n                        \n                            AUTH_CONFIG   (projects/.../tokens.ts)\n                        \n                        \n                            blockSize   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            digestLength   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            err   (projects/.../jwks-validation-handler.ts)\n                        \n                        \n                            hkdfSalt   (projects/.../fast-sha256js.ts)\n                        \n                        \n                            K   (projects/.../fast-sha256js.ts)\n                        \n                    \n                \n            \n        \n    \n\n\n    projects/lib/src/tokens.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        AUTH_CONFIG\n                        \n                    \n                \n            \n                \n                    \n                        Default value : new InjectionToken('AUTH_CONFIG')\n                    \n                \n\n\n        \n    \n\n    projects/lib/src/token-validation/fast-sha256js.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        blockSize\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : 64\n                    \n                \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        digestLength\n                        \n                    \n                \n            \n                \n                    \n                        Type :         number\n\n                    \n                \n                \n                    \n                        Default value : 32\n                    \n                \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        hkdfSalt\n                        \n                    \n                \n            \n                \n                    \n                        Default value : new Uint8Array(digestLength)\n                    \n                \n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        K\n                        \n                    \n                \n            \n                \n                    \n                        Default value : new Uint32Array([\n  0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,\n  0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n  0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,\n  0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n  0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n  0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n  0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,\n  0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n  0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,\n  0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,\n])\n                    \n                \n\n\n        \n    \n\n    projects/lib/src/token-validation/jwks-validation-handler.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        err\n                        \n                    \n                \n            \n                \n                    \n                        Default value : `PLEASE READ THIS CAREFULLY:\n\nBeginning with angular-oauth2-oidc version 9, the JwksValidationHandler\nhas been moved to an library of its own. If you need it for implementing\nOAuth2/OIDC **implicit flow**, please install it using npm:\n\n  npm i angular-oauth2-oidc-jwks --save\n\nAfter that, you can import it into your application:\n\n  import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\n\nPlease note, that this dependency is not needed for the **code flow**,\nwhich is nowadays the **recommented** one for single page applications.\nThis also results in smaller bundle sizes.\n`\n                    \n                \n\n\n        \n    \n\n\n\n\n                   \n    \n         result-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\n\n                   \n\n\n\n\nGetting Started\nPlease find the Getting Started Guide in the README above.\n\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/refreshing-a-token.html":{"url":"additional-documentation/refreshing-a-token.html","title":"additional-page - Refreshing a Token","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing a Token using Code Flow (not Implicit Flow!)\nWhen using code flow, you can get an refresh_token. While the original standard DOES NOT allow this for SPAs, the mentioned OAuth 2.0 Security Best Current Practice document proposes to ease this limitation. However, it specifies a list of requirements one should take care about before using refresh_tokens. Please make sure you respect those requirements.\nPlease also note, that you have to request the offline_access scope to get a refresh token.\nTo refresh your token, just call the refreshToken method:\nthis.oauthService.refreshToken();Automatically refreshing a token when/ before it expires (Code Flow and Implicit Flow)\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/silent-refresh.html":{"url":"additional-documentation/silent-refresh.html","title":"additional-page - Silent Refresh","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing when using Implicit Flow (Implicit Flow and Code Flow)\nNotes for Code Flow: You can also use this strategy for refreshing tokens when using code flow. However, please note, the strategy described within Token Refresh is far easier in this case.\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  // defaults to true for implicit flow and false for code flow\n  // as for code code the default is using a refresh_token\n  // Also see docs section 'Token Refresh'\n  useSilentRefresh: true,\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        (window.opener || window.parent).postMessage(location.hash || ('#' + location.search), location.origin);\n    \n\nThis simple implementation within silent-refresh.html is sufficient in most cases. It takes care of the hash fragment as well as of the query string (property search). For edge cases you need to check if the received hash fragment is a token response. For this, please go with the following more advanced implementation:\n\n    \n        \n            var checks = [/[\\?|&|#]code=/, /[\\?|&|#]error=/, /[\\?|&|#]token=/, /[\\?|&|#]id_token=/];\n\n            function isResponse(str) {\n                if (!str) return false;\n                for(var i=0; i\n    \nThe above example checks if the message in the URL (either hash or query string) is indeed a message returned with a response from an authentication provider and not an arbitrary value and then attempts to forward this message to a parent widow either by .parent (when this html is loaded in an iframe as a result of silent refresh) or by .opener (when the html is loaded into a popup during initial login) or finally using a storage event (as a fallback for complex cases, e.g. initial login in a popup with a cross-domain auth provider).\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 silentRefreshTimeout (msec). The default value is 20.000 (20 seconds).\nAutomatically refreshing a token when/ before it expires (Code Flow and Implicit Flow)\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/token-refresh.html":{"url":"additional-documentation/token-refresh.html","title":"additional-page - Token Refresh","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing a Token using Code Flow (not Implicit Flow!)\nWhen using code flow, you can get an refresh_token. While the original standard DOES NOT allow this for SPAs, the mentioned OAuth 2.0 Security Best Current Practice document proposes to ease this limitation. However, it specifies a list of requirements one should take care about before using refresh_tokens. Please make sure you respect those requirements.\nPlease also note, that you have to request the offline_access scope to get a refresh token.\nTo refresh your token, just call the refreshToken method:\nthis.oauthService.refreshToken();Automatically refreshing a token when/ before it expires (Code Flow and Implicit Flow)\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/working-with-httpinterceptors.html":{"url":"additional-documentation/working-with-httpinterceptors.html","title":"additional-page - Working with HttpInterceptors","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nInterceptors\nSince 3.1 the library uses a default HttpInterceptor that takes care about transmitting the access_token to the resource server and about error handling for security related errors (HTTP status codes 401 and 403) received from the resource server. To put in on, just set sendAccessToken to true and set allowedUrls to an array with prefixes for the respective urls. Use lower case for the prefixes:\nOAuthModule.forRoot({\n    resourceServer: {\n        allowedUrls: ['http://www.angular.at/api'],\n        sendAccessToken: true\n    }\n})You can provide an error handler for the urls white listed here by provding a service for the token OAuthResourceServerErrorHandler.\nTo implement such a service, implement the abstract class OAuthResourceServerErrorHandler. The following example shows the default implemantion that just passes the cought error through:\nexport class OAuthNoopResourceServerErrorHandler implements OAuthResourceServerErrorHandler {\n    \n    handleError(err: HttpResponse): Observable {\n        return _throw(err);\n    }\n\n}Custom Interceptors\nFeel free to write custom interceptors but keep in mind that injecting the OAuthService into them creates a circular dependency which leads to an error. The easiest way to prevent this is to use the OAuthStorage directly which also provides the access_token:\nimport { Injectable, Inject, Optional } from '@angular/core';\nimport { OAuthService, OAuthStorage } from 'angular-oauth2-oidc';\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse, HttpErrorResponse } from '@angular/common/http';\nimport {Observable} from 'rxjs/Observable';\nimport { OAuthResourceServerErrorHandler } from \"./resource-server-error-handler\";\nimport { OAuthModuleConfig } from \"../oauth-module.config\";\n\nimport 'rxjs/add/operator/catch';\n\n@Injectable()\nexport class DefaultOAuthInterceptor implements HttpInterceptor {\n    \n    constructor(\n        private authStorage: OAuthStorage,\n        private errorHandler: OAuthResourceServerErrorHandler,\n        @Optional() private moduleConfig: OAuthModuleConfig\n    ) {\n    }\n\n    private checkUrl(url: string): boolean {\n        let found = this.moduleConfig.resourceServer.allowedUrls.find(u => url.startsWith(u));\n        return !!found;\n    }\n\n    public intercept(req: HttpRequest, next: HttpHandler): Observable> {\n        \n        let url = req.url.toLowerCase();\n\n        if (!this.moduleConfig) return next.handle(req);\n        if (!this.moduleConfig.resourceServer) return next.handle(req);\n        if (!this.moduleConfig.resourceServer.allowedUrls) return next.handle(req);\n        if (!this.checkUrl(url)) return next.handle(req);\n\n        let sendAccessToken = this.moduleConfig.resourceServer.sendAccessToken;\n        \n        if (sendAccessToken) {\n\n            let token = this.authStorage.getItem('access_token');\n            let header = 'Bearer ' + token;\n\n            let headers = req.headers\n                                .set('Authorization', header);\n\n            req = req.clone({ headers });\n        }\n\n        return next.handle(req).catch(err => this.errorHandler.handleError(err));\n\n    }\n\n}\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/popup-based-login.html":{"url":"additional-documentation/popup-based-login.html","title":"additional-page - Popup-based Login","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nLogging in With a Popup\nThanks to a great community contribution, this library also supports logging the user in via a popup. For this, you need to do two things:\n\nUse initLoginFlowInPopup instead of initLoginFlow.\nCreate and configure a silent-refresh.html as described here *.\n\n* Please note this does not mean that you have to use silent refresh too.\nAlso, for your silent-refresh.html, make sure you are also targeting\nwindow.opener and fall back to window.parent:\nPlease note: IE sets opener to null under specific security settings. This prevents making this work.\n\n                   \n    \n         result-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\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         result-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\n\n                   \n\n\n\n\nEvents\nThe library informs you about its tasks and state using events.\nThis is an Observable which publishes a stream of events as they occur in the service.\nYou can log these events to the console for debugging information.\nA short snippet you could use:\nthis.oauthService.events.subscribe(e => console.log(e));Or a longer, more extensive version that logs them at different levels:\nimport { OAuthErrorEvent } from 'angular-oauth2-oidc';\n\n// ...\n\nthis.authService.events.subscribe(event => {\n  if (event instanceof OAuthErrorEvent) {\n    console.error(event);\n  } else {\n    console.warn(event);\n  }\n});Here's a list of the main events you might encounter:\n\ndiscovery_document_loaded is published whenever the service has retrieved the openid configuration and successfully saved the jwks information\ninvalid_nonce_in_state is published during tryLogin, when an access token has been requested and the state check was not disabled via the options, only in case the nonce is not as expected (see OAuth2 spec for more details about the nonce)\nuser_profile_loaded is published just before loadUserProfile() successfully resolves\ntoken_received is published whenever the requested token(s) have been successfully received and stored\nsilently_refreshed is published when the silent refresh timer has gone off and the library has also successfully refreshed the tokens (only applicable to Implicit Flow)\nsilent_refresh_timeout is published if the silent refresh timer has gone off but it takes too long to successfully refresh\nsession_error will only be published if the session checks encounter an error\n\nFor a full list of available events see the string based enum in the file events.ts.\n\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/adapt-id_token-validation.html":{"url":"additional-documentation/adapt-id_token-validation.html","title":"additional-page - Adapt id_token Validation","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nConfigure/ Adapt id_token Validation\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.\nDependency Injection\nYou can also setup a ValidationHandler by leveraging dependency injection:\n[...]\nproviders: [\n    { provide: ValidationHandler, useClass: JwksValidationHandler },\n],\n[...]\n                   \n    \n         result-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\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}Refresh\nPlease note that the lib performs a token refresh when the session changes to get the newest information about the current session. When using implicit flow, this means you have to configure silent refresh; when using code flow you either need silent refresh or a refresh token.\nIf using refresh tokens, your Auth Server needs to bind them to the current session's lifetime. Unfortunately, the used version of Identity Server 4, shown in the docs and in the example applications, does not support this at the moment.\nEvents\nTo get notified, you can hook up for the event session_terminated:\nthis.oauthService.events.pipe(filter(e => e.type === 'session_terminated')).subscribe(e => {\n  console.debug('Your session has been terminated!');\n})\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/server-side-rendering.html":{"url":"additional-documentation/server-side-rendering.html","title":"additional-page - Server Side Rendering","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nServer Side Rendering\nThere is a great blog post that shows how this library can be used together with server side rendering:\nhttps://medium.com/lankapura/angular-server-side-rendering-for-authenticated-users-a021627fd9d3The sample for this can be found here:\nhttps://github.com/lankaapura/Angular-AspNetCore-Idsvr\n                   \n    \n         result-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\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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{"url":"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html","title":"additional-page - Using an ID Provider that Fails Discovery Document Validation","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nDiscovery Document Validation\nThe configuration parameter strictDiscoveryDocumentValidation is set true by default. This ensures that all of the endpoints provided via the ID Provider discovery document share the same base URL as the issuer parameter.\nSeveral ID Providers (i.e. Google OpenID, WS02-IS, PingOne) provide different domains or path params for various endpoints in the discovery document. These providers may still adhere to the OpenID Connect Provider Configuration specification, but will fail to pass this library's discovery document validation.\nTo use this library with an ID Provider that does not maintain a consistent base URL across the discovery document endpoints, set the strictDiscoveryDocumentValidation parameter to false in your configuration:\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\n  // turn off validation that discovery document endpoints start with the issuer url defined above\n  strictDiscoveryDocumentValidation: false\n}\n                   \n    \n         result-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\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});Also thanks to ppanthony for sharing his SystemJS config:\n'angular-oauth2-oidc': {\n    main: 'angular-oauth2-oidc.umd.js',\n    format: 'cjs',\n    defaultExtension: 'js',\n    map: {\n        'jsrsasign': '/node_modules/jsrsasign/lib/jsrsasign',\n    },\n    meta: {\n        'angular-oauth2-oidc': {\n            deps: ['require','jsrsasign']\n        },\n    }\n}\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/using-implicit-flow.html":{"url":"additional-documentation/using-implicit-flow.html","title":"additional-page - Using Implicit Flow","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nConfiguring for Implicit Flow\nThis section shows how to implement login leveraging implicit flow. This is the OAuth2/OIDC flow which was originally intended for Single Page Application. \nMeanwhile using Code Flow instead is a best practice and with OAuth 2.1 implicit flow will be deprecated*.\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\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 registered 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.configure();\n    }\n\n    private configure() {\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.initLoginFlow();\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\n\n                   \n    \n         result-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\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 code 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.\nPlease also note that with OAuth 2.1, password flow will be deprecated. \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         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/configure-custom-oauthstorage.html":{"url":"additional-documentation/configure-custom-oauthstorage.html","title":"additional-page - Configure custom OAuthStorage","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nConfigure custom OAuthStorage\nThis library uses sessionStorage as the default storage provider. You can customize this by using localStorage or your own storage solution.\nUsing localStorage\nIf  you want to use localStorage instead of sessionStorage, you can add a provider to your AppModule. This works as follows:\nimport { HttpClientModule } from '@angular/common/http';\nimport { OAuthModule } from 'angular-oauth2-oidc';\n// etc.\n\n// We need a factory, since localStorage is not available during AOT build time.\nexport function storageFactory() : OAuthStorage {\n  return localStorage\n}\n \n@NgModule({\n  imports: [ \n    // etc.\n    HttpClientModule,\n    OAuthModule.forRoot()\n  ],\n  declarations: [\n    AppComponent,\n    HomeComponent,\n    // etc.\n  ],\n  bootstrap: [\n    AppComponent \n  ],\n  providers: [\n    { provide: OAuthStorage, useFactory: storageFactory }\n  ]\n})\nexport class AppModule {\n}Custom storage solution\nIf you want to use a custom storage solution, you can extend the OAuthStorage class. Documentation can be found here. Then add it as a provider, just like in the localStorage example above.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/manually-skipping-login-form.html":{"url":"additional-documentation/manually-skipping-login-form.html","title":"additional-page - Manually Skipping Login Form","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nManually Skipping the Login Form\nFirst, try to use the loadDiscoveryDocumentAndLogin method instead of loadDiscoveryDocumentAndTryLogin. If you need more control, the following could be interesting for you.\nthis.oauthService\n    .loadDiscoveryDocumentAndTryLogin(/* { your LoginOptions }*/) // checks to see if the current url contains id token and access token\n    .(hasReceivedTokens => {\n        // this would have stored all the tokens needed\n        if (hasReceivedTokens) {\n            // carry on with your app\n            return Promise.resolve();\n\n            /* if you wish to do something when the user receives tokens from the identity server,\n             * use the event stream or the `onTokenReceived` callback in LoginOptions.\n             *\n             * this.oauthService.events(filter(e => e.type === 'token_received')).subscribe()\n             */\n        } else {\n            // may want to check if you were previously authenticated\n            if (this.oauthService.hasValidAccessToken() && this.oauthService.hasValidIdToken()) {\n                return Promise.resolve();\n            } else {\n                // to safe guard this from progressing through the calling promise,\n                // resolve it when it directed to the sign up page\n                return new Promise(resolve => {\n                    this.oauthService.initLoginFlow();\n                    // example if you are using explicit flow\n                    this.window.addEventListener('unload', () => {\n                        resolve(true);\n                    });\n                });\n            }\n        }\n    })\n                   \n    \n         result-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\n\n                   \n\n\n\n\nOriginal Config API\n\nThis describes the older config API which is nowadays only supported for the sake of backwards compatibility. \n\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}If you find yourself receiving errors related to discovery document validation, your ID Provider may have OAuth2 endpoints that do not use the issuer value as a consistent base URL. You can turn off strict validation of discovery document endpoints for this scenario. See Discovery Document Validation for details.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers.html":{"url":"additional-documentation/authorization-servers.html","title":"additional-page - Authorization Servers","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nSupport for Auth Servers\nAs this lib follows the OAuth2 and OpenId Connect specs, it should work with all compliant authorizations servers.\nHowever, experience shows that some authorizations servers come with some special behavior or settings. Hence, we must respect this when using this lib.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/using-identity-server.html":{"url":"additional-documentation/authorization-servers/using-identity-server.html","title":"additional-page - Using Identity Server","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing Identity Server\nThis lib should work as shown in all examples here with Identity Server. \n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/using-keycloak.html":{"url":"additional-documentation/authorization-servers/using-keycloak.html","title":"additional-page - Using Keycloak","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing Keycloak\nThis lib should work as shown in all examples here with Keycloak. \n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/auth0.html":{"url":"additional-documentation/authorization-servers/auth0.html","title":"additional-page - Auth0","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing Auth0\nTo use this lib with Auth0, open your Auth0 account and configure:\n\nAn app \nAn API\n\nConfigure the app to use refresh token rotation and the grant types authorization code and refresh token. For grant types, see the advanced settings at the end of the settings page.\nConfiguration\nProvide a configuration like this:\nimport { AuthConfig } from 'angular-oauth2-oidc';\n\nexport const authConfig: AuthConfig = {\n\n    issuer: 'https://dev-g-61sdfs.eu.auth0.com/',\n\n    // Your app's client id:\n    clientId: 'opHt1Tkt9E9fVQTZPBVF1tHVhjrxvyVX',\n    redirectUri: window.location.origin,\n\n    scope: 'openid profile email offline_access',\n\n    responseType: 'code',\n\n    logoutUrl: 'https://dev-g-61sdfs.eu.auth0.com/v2/logout',\n\n    customQueryParams: {\n        // Your API's name\n        audience: 'http://www.angular.at/api'\n    },\n};Getting, Using, and Refreshing a Token\nThis should work as shown in the other examples in this documentation and in the readme file.\nLogging out\nAuth0's logout endpoint expects the parameters client_id and returnTo:\nthis.oauthService.revokeTokenAndLogout({\n  client_id: this.oauthService.clientId,\n  returnTo: this.oauthService.redirectUri\n}, true);The optional 2nd parameter set to true ignores CORS issues with the logout endpoint.\nExample\nPlease find a demo for using Auth0 with angular-oauth2-oidc here.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{"url":"additional-documentation/authorization-servers/azure-ad-(active-directory).html","title":"additional-page - Azure AD (Active Directory)","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nUsing with Azure AD\nFor using this library with Azure Active Directory (Azure AD), we recommend an additional look to this blog post and the example linked at the end of this blog post.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"}}
 }
diff --git a/projects/angular-oauth2-oidc-jwks/package.json b/projects/angular-oauth2-oidc-jwks/package.json
index 7681195f..d27b6c36 100644
--- a/projects/angular-oauth2-oidc-jwks/package.json
+++ b/projects/angular-oauth2-oidc-jwks/package.json
@@ -4,7 +4,7 @@
   "author": {
     "name": "Manfred Steyer"
   },
-  "version": "15.0.0",
+  "version": "15.0.1",
   "repository": "manfredsteyer/angular-oauth2-oidc",
   "dependencies": {
     "jsrsasign": "^10.3.0",
diff --git a/projects/lib/package.json b/projects/lib/package.json
index 5fe6cd06..2b2abd1b 100644
--- a/projects/lib/package.json
+++ b/projects/lib/package.json
@@ -4,7 +4,7 @@
   "author": {
     "name": "Manfred Steyer"
   },
-  "version": "15.0.0",
+  "version": "15.0.1",
   "repository": "manfredsteyer/angular-oauth2-oidc",
   "peerDependencies": {
     "@angular/common": ">=14.0.0",