diff --git a/docs-src/interceptors.md b/docs-src/interceptors.md index d2eb91b7..652523a0 100644 --- a/docs-src/interceptors.md +++ b/docs-src/interceptors.md @@ -1,6 +1,8 @@ # Interceptors -Since 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: +Since 3.1 the library uses HttpInterceptors. A default ``HttpInterceptor`` takes care about transmitting the ``access_token`` to the resource server (if configured, see example below). For handling security related errors (HTTP status codes 401 and 403), received from the resource server, applications should implement their own [custom interceptors](#custom-interceptors). + +To enable the default ``HttpInterceptor``, just set ``sendAccessToken`` to ``true`` and set ``allowedUrls`` to an array with prefixes for the respective urls. Use lower case for the prefixes: ```TypeScript OAuthModule.forRoot({ diff --git a/docs/additional-documentation/working-with-httpinterceptors.html b/docs/additional-documentation/working-with-httpinterceptors.html index a6a8d5b7..96348f62 100644 --- a/docs/additional-documentation/working-with-httpinterceptors.html +++ b/docs/additional-documentation/working-with-httpinterceptors.html @@ -50,7 +50,8 @@

Interceptors

-

Since 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:

+

Since 3.1 the library uses HttpInterceptors. A default HttpInterceptor takes care about transmitting the access_token to the resource server (if configured, see example below). For handling security related errors (HTTP status codes 401 and 403), received from the resource server, applications should implement their own custom interceptors.

+

To enable the default HttpInterceptor, just set sendAccessToken to true and set allowedUrls to an array with prefixes for the respective urls. Use lower case for the prefixes:

OAuthModule.forRoot({
     resourceServer: {
         allowedUrls: ['http://www.angular.at/api'],
diff --git a/docs/js/search/search_index.js b/docs/js/search/search_index.js
index 3f86237e..e4576c4f 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.203,1,3.212]],["body/classes/AbstractValidationHandler.html",[0,0.194,1,3.079,2,0.911,3,0.533,4,0.581,5,0.489,6,3.133,7,4.331,8,1.356,9,1.745,10,1.84,11,1.531,12,2.247,13,2.66,14,1.933,15,1.854,16,4.009,17,2.113,18,1.337,19,3.079,20,4.009,21,0.631,22,1.531,23,4.958,24,4.332,25,3.668,26,3.396,27,2.271,28,1.972,29,4.463,30,1.041,31,2.923,32,3.366,33,2.255,34,2.406,35,2.009,36,0.935,37,1.511,38,0.016,39,1.622,40,1.087,41,1.134,42,3.396,43,1.854,44,2.448,45,3.366,46,2.073,47,2.923,48,3.366,49,4.434,50,3.366,51,2.203,52,3.366,53,3.366,54,1.914,55,2.85,56,3.366,57,4.444,58,2.923,59,4.536,60,4.331,61,3.668,62,1.748,63,1.903,64,1.078,65,2.85,66,2.923,67,3.396,68,0.489,69,2.078,70,2.078,71,2.271,72,0.618,73,1.467,74,1.292,75,1.292,76,1.292,77,1.292,78,1.426,79,2.271,80,2.271,81,2.271,82,1.233,83,0.95,84,2.354,85,3.366,86,2.271,87,2.271,88,1.924,89,2.271,90,2.271,91,2.271,92,0.774,93,2.271,94,2.271,95,2.271,96,2.078,97,4.434,98,2.271,99,4.434,100,2.271,101,2.271,102,2.271,103,0.935,104,4.01,105,2.271,106,2.271,107,2.271,108,1.924,109,0.714,110,2.271,111,1.924,112,2.078,113,2.271,114,0.006,115,0.009,116,0.006]],["title/classes/DateTimeProvider.html",[0,0.203,117,2.973]],["body/classes/DateTimeProvider.html",[0,0.286,2,1.608,3,0.941,4,1.025,5,0.863,10,1.952,21,1.114,22,2.255,30,1.164,38,0.016,43,2.073,68,0.863,72,0.764,103,1.378,109,1.85,114,0.01,115,0.013,116,0.01,117,4.558,118,5.996,119,3.562,120,4.466,121,5.286,122,5.16,123,5.623,124,5.16,125,2.921,126,1.989,127,1.676,128,3.668,129,2.974,130,4.466]],["title/injectables/DefaultHashHandler.html",[126,1.408,131,3.51]],["body/injectables/DefaultHashHandler.html",[0,0.155,3,0.631,4,0.687,5,0.578,6,3.173,8,1.604,10,1.244,20,3.218,21,0.746,22,1.728,25,3.477,27,3.8,28,2.042,29,3.735,30,1.036,37,1.503,38,0.016,39,1.443,40,1.081,41,1.128,42,2.275,43,1.844,44,1.728,68,0.949,72,0.414,88,2.275,103,1.406,108,2.275,109,1.59,114,0.014,115,0.01,116,0.007,125,2.393,126,1.078,127,1.123,131,2.686,132,2.275,133,4.061,134,4.891,135,4.891,136,3.457,137,4.234,138,4.913,139,3.457,140,3.457,141,4.234,142,3.457,143,5.636,144,3.477,145,2.275,146,4.061,147,3.521,148,2.992,149,2.686,150,2.992,151,2.992,152,2.992,153,2.457,154,1.879,155,2.686,156,2.992,157,3.8,158,2.992,159,2.686,160,2.686,161,2.686,162,2.992,163,3.272,164,2.457,165,2.992,166,4.234,167,2.992,168,2.062,169,2.992,170,2.992,171,2.992,172,4.913,173,2.992,174,2.992,175,4.913,176,2.992,177,2.992,178,2.992,179,2.992,180,2.992,181,2.992,182,3.477,183,4.234,184,4.234,185,2.992,186,2.992,187,2.992,188,2.992,189,2.992,190,4.234,191,2.992,192,2.992,193,2.992]],["title/interceptors/DefaultOAuthInterceptor.html",[194,3.911,195,3.212]],["body/interceptors/DefaultOAuthInterceptor.html",[0,0.163,3,0.663,4,0.722,5,0.607,14,1.231,21,0.785,22,1.79,28,1.002,30,0.924,37,1.341,38,0.016,39,1.288,40,0.965,41,1.253,43,1.18,55,3.333,68,1.178,72,0.435,84,3.169,92,0.962,103,1.522,114,0.007,115,0.01,116,0.007,126,1.579,127,1.18,147,2.926,163,2.094,195,3.601,196,3.145,197,5.831,198,3.634,199,5.831,200,2.471,201,3.634,202,2.232,203,5.047,204,3.873,205,5.047,206,3.873,207,3.634,208,3.145,209,5.46,210,5.154,211,5.46,212,3.634,213,5.047,214,3.837,215,3.145,216,4.384,217,1.975,218,4.384,219,2.583,220,3.634,221,3.634,222,1.686,223,2.823,224,3.634,225,4.384,226,3.634,227,2.823,228,0.818,229,1.79,230,2.231,231,2.604,232,2.823,233,2.391,234,2.788,235,3.145,236,1.464,237,3.634,238,3.634,239,3.145,240,3.634,241,3.634,242,0.924,243,3.145,244,3.145,245,3.145,246,3.145,247,3.145,248,3.333,249,3.145,250,5.065,251,5.065,252,4.384,253,3.634,254,1.483,255,3.634,256,3.634,257,2.823,258,2.094,259,3.634,260,3.634,261,3.634,262,3.634,263,3.634,264,3.634,265,3.634,266,3.634,267,3.145,268,4.384,269,3.634,270,3.145]],["title/classes/HashHandler.html",[0,0.203,153,3.212]],["body/classes/HashHandler.html",[0,0.164,2,1.139,3,0.666,4,0.726,5,0.611,6,2.614,8,1.694,9,1.472,10,1.608,20,3.345,21,0.789,22,1.796,27,3.95,28,2.016,29,3.848,30,0.666,37,0.967,38,0.016,39,0.929,40,0.696,41,0.726,42,2.404,43,1.187,44,1.796,68,0.978,72,0.438,88,2.404,103,1.435,108,2.404,109,1.623,114,0.014,115,0.01,116,0.007,125,1.54,126,1.139,127,1.187,133,3.345,137,3.162,138,3.162,141,3.162,143,5.472,144,3.614,145,2.404,146,4.16,147,3.55,148,3.162,149,2.838,150,4.4,151,4.4,152,4.4,153,3.614,154,1.985,155,2.838,156,3.162,157,3.95,158,3.162,159,2.838,160,2.838,161,2.838,162,3.162,163,3.37,164,2.597,165,3.162,166,4.4,167,3.162,168,2.144,169,3.162,170,3.162,171,3.162,172,5.061,173,3.162,174,3.162,175,5.061,176,3.162,177,3.162,178,3.162,179,3.162,180,3.162,181,3.162,182,3.614,183,4.4,184,4.4,185,3.162,186,3.162,187,3.162,188,3.162,189,3.162,190,4.4,191,3.162,192,3.162,193,3.162,271,3.653]],["title/classes/JwksValidationHandler.html",[0,0.203,272,2.774]],["body/classes/JwksValidationHandler.html",[0,0.188,2,1.308,3,0.765,4,0.833,5,0.701,6,2.872,8,1.946,9,1.69,16,3.676,21,0.906,22,1.974,26,3.676,30,1.146,36,0.906,37,1.479,38,0.016,39,1.42,40,1.064,41,1.11,43,1.815,44,1.974,57,4.404,65,2.76,68,1.05,72,0.503,78,2.725,114,0.008,115,0.011,116,0.011,129,3.22,147,1.946,200,3.064,230,2.576,272,4.404,273,4.835,274,3.064,275,4.835,276,5.586,277,4.835,278,5.586,279,1.958,280,4.88,281,2.127,282,5.586,283,2.687,284,1.703,285,1.773,286,5.586,287,4.589,288,4.195,289,3.259,290,4.835,291,4.195,292,4.195,293,1.421,294,2.982,295,2.53,296,1.854,297,3.631,298,2.982,299,2.28,300,3.259,301,2.28,302,2.982,303,2.982,304,1.616,305,1.364,306,3.259,307,4.34,308,3.259,309,2.76,310,1.946,311,1.616,312,2.982,313,1.308,314,2.982,315,3.631,316,2.76,317,0.701,318,2.982,319,3.259,320,3.259,321,3.259,322,4.195,323,4.195]],["title/classes/LoginOptions.html",[0,0.203,324,2.096]],["body/classes/LoginOptions.html",[0,0.223,2,0.589,3,0.562,4,0.375,5,0.316,9,0.761,10,1.583,11,0.667,12,1.439,14,0.64,15,1.001,18,1.247,21,0.408,28,2.178,30,1.068,33,2.297,34,1.299,35,1.429,38,0.016,40,1.013,41,1.395,44,0.667,46,1.611,51,1.001,54,1.361,62,1.802,63,0.697,64,0.697,68,0.316,72,0.725,73,1.68,74,1.361,75,0.834,76,0.834,77,0.834,82,1.299,83,1.463,92,1.648,103,0.408,109,0.461,114,0.004,115,0.006,116,0.004,125,1.299,126,0.96,127,0.613,154,2.12,168,1.898,202,1.823,222,0.876,228,0.693,229,1.089,234,0.834,236,1.572,242,0.783,254,1.145,279,0.96,284,0.752,285,1.145,293,0.64,296,1.361,305,1.299,311,0.728,313,1.824,324,1.429,325,0.971,326,0.449,327,1.429,328,2.088,329,1.361,330,1.81,331,2.006,332,2.006,333,2.006,334,2.006,335,1.724,336,2.006,337,1.888,338,1.525,339,2.715,340,2.404,341,2.068,342,1.584,343,1.735,344,1.584,345,1.361,346,1.584,347,1.898,348,2.088,349,1.361,350,1.584,351,1.867,352,2.315,353,1.584,354,1.429,355,1.503,356,1.584,357,1.503,358,0.96,359,1.888,360,1.136,361,1.361,362,1.584,363,2.006,364,0.922,365,1.361,366,1.99,367,1.888,368,2.088,369,2.088,370,2.351,371,2.196,372,1.584,373,2.315,374,1.584,375,1.584,376,1.584,377,1.584,378,1.888,379,2.091,380,1.299,381,1.299,382,1.241,383,2.315,384,1.584,385,1.503,386,1.888,387,1.99,388,1.584,389,1.001,390,1.503,391,1.503,392,2.468,393,1.962,394,1.99,395,1.888,396,1.429,397,1.903,398,1.888,399,1.584,400,1.299,401,1.503,402,1.044,403,1.361,404,1.584,405,1.584,406,1.584,407,1.584,408,1.361,409,1.584,410,1.888,411,1.361,412,1.584,413,2.419,414,3.277,415,0.796,416,0.728,417,1.584,418,0.876,419,0.697,420,0.834,421,0.876,422,0.921,423,0.876,424,0.971,425,2.55,426,0.971,427,0.971,428,0.971,429,0.971,430,0.921,431,0.761,432,0.971,433,0.64,434,0.796,435,0.834,436,0.796,437,0.921,438,0.921,439,1.241,440,1.584,441,1.584,442,1.584,443,0.921,444,0.971,445,0.971,446,0.971,447,2.55,448,0.834,449,0.589,450,0.971,451,0.921,452,0.971,453,0.971,454,0.971,455,1.429,456,1.241,457,1.584,458,1.645,459,1.503,460,0.971,461,0.876,462,0.971,463,0.971,464,0.796,465,0.589,466,0.613,467,0.971,468,0.834,469,0.971,470,0.921,471,0.589,472,0.667,473,0.589,474,0.921,475,0.697,476,0.971,477,0.971,478,0.971,479,0.971,480,0.971,481,0.971,482,0.971,483,0.971,484,0.971,485,0.971,486,0.971,487,0.971,488,0.971,489,0.971,490,0.971,491,0.971,492,0.971,493,0.971,494,0.971,495,0.971,496,0.971,497,0.971,498,0.971,499,0.971,500,0.971,501,0.971,502,0.971,503,0.971,504,0.971]],["title/injectables/MemoryStorage.html",[126,1.408,443,2.204]],["body/injectables/MemoryStorage.html",[0,0.242,3,0.643,4,0.443,5,0.373,10,1.667,11,0.788,12,0.823,14,0.756,15,0.725,18,1.023,21,0.482,22,1.245,28,2.211,30,0.796,33,2.026,34,0.941,37,1.156,38,0.016,39,1.11,40,0.831,41,0.984,43,1.418,44,0.788,46,1.753,51,1.144,54,1.557,62,1.679,63,0.823,64,0.823,68,0.373,72,0.767,73,1.828,74,1.557,75,0.986,76,0.986,77,0.986,82,0.941,83,1.418,92,1.429,103,0.482,109,0.545,114,0.004,115,0.007,116,0.004,125,1.485,126,1.098,127,0.725,132,1.468,168,2.418,202,1.61,222,1.035,228,0.502,229,0.788,234,0.986,236,1.419,242,0.567,254,1.11,279,0.696,284,0.545,285,0.896,293,0.756,296,0.986,305,1.065,311,0.86,313,1.545,324,1.035,325,1.147,326,0.325,327,1.035,328,1.634,330,1.035,331,1.147,332,1.147,333,1.147,334,1.147,335,0.986,336,1.147,338,1.193,339,2.299,340,2.199,341,1.751,342,1.147,343,1.357,344,1.147,345,0.986,346,1.147,347,1.485,348,1.634,349,0.986,350,1.147,351,1.647,352,1.811,353,1.147,354,1.035,355,1.088,356,1.147,357,1.088,358,0.696,360,0.823,361,0.986,362,1.147,363,1.811,364,0.668,366,1.557,368,1.634,369,1.634,370,1.929,371,1.718,372,1.147,373,1.811,374,1.147,375,1.147,376,1.147,377,1.147,379,2.09,380,0.941,381,0.941,382,0.899,383,2.244,384,1.147,385,1.088,387,1.557,388,1.147,389,0.725,390,1.088,391,1.088,392,2.024,393,1.61,394,1.557,396,1.035,397,1.718,399,1.147,400,0.941,401,1.088,402,0.756,403,0.986,404,1.147,405,1.147,406,1.147,407,1.147,408,0.986,409,1.147,411,0.986,412,1.147,413,2.632,414,3.548,415,0.941,416,0.86,417,1.811,418,1.035,419,0.823,420,0.986,421,1.035,422,1.088,423,1.035,424,1.147,425,2.774,426,1.147,427,1.147,428,1.147,429,1.147,430,1.088,431,0.899,432,1.147,433,0.756,434,0.941,435,0.986,436,0.941,437,1.088,438,1.088,439,1.419,440,2.244,441,2.244,442,2.244,443,1.718,444,1.147,445,1.147,446,1.147,447,2.774,448,0.986,449,0.696,450,1.147,451,1.088,452,1.147,453,1.147,454,1.147,455,1.634,456,1.419,457,1.811,458,1.84,459,1.718,460,1.147,461,1.035,462,1.147,463,1.147,464,0.941,465,0.696,466,0.725,467,1.147,468,0.986,469,1.147,470,2.418,471,0.696,472,0.788,473,0.696,474,1.088,475,0.823,476,1.147,477,1.147,478,1.147,479,1.147,480,1.147,481,1.147,482,1.147,483,1.147,484,1.147,485,1.147,486,1.147,487,1.147,488,1.147,489,1.147,490,1.147,491,1.147,492,1.147,493,1.147,494,1.147,495,1.147,496,1.147,497,1.147,498,1.147,499,1.147,500,1.147,501,1.147,502,1.147,503,1.147,504,1.147,505,3.049,506,3.049,507,3.049,508,2.231,509,2.231,510,2.231]],["title/classes/NullValidationHandler.html",[0,0.203,287,2.973]],["body/classes/NullValidationHandler.html",[0,0.215,2,1.496,3,0.876,4,0.953,5,0.802,6,3.446,8,2.226,9,1.934,12,2.472,14,2.066,16,4.012,21,1.036,22,2.155,26,4.012,30,1.113,37,1.615,38,0.016,39,1.55,40,1.161,41,1.211,43,1.981,44,2.492,57,4.742,65,4.012,68,0.802,72,0.575,103,1.317,114,0.009,115,0.012,116,0.009,230,4.115,274,3.731,287,4.012,289,4.738,340,2.155,511,5.801,512,5.278,513,5.278,514,6.098,515,4.738,516,6.098,517,4.154,518,4.8,519,4.8,520,4.8]],["title/classes/OAuthErrorEvent.html",[0,0.203,521,2.774]],["body/classes/OAuthErrorEvent.html",[0,0.305,2,1.36,3,1.168,4,0.867,5,0.729,10,1.109,30,0.796,37,1.155,38,0.016,39,1.109,40,1.345,41,0.867,46,2.356,64,2.362,72,0.846,114,0.009,115,0.011,116,0.009,129,3.92,200,2.797,258,2.515,293,2.169,521,3.521,522,2.871,523,4.649,524,4.552,525,4.864,526,4.552,527,4.363,528,2.679,529,2.871,530,2.679,531,2.871,532,2.871,533,2.679,534,2.871,535,2.871,536,2.871,537,2.871,538,2.871,539,2.871,540,2.679,541,2.679,542,2.871,543,2.871,544,2.871,545,2.679,546,2.679,547,2.871,548,2.024,549,2.871,550,2.871,551,2.871,552,3.102,553,2.871,554,4.835,555,4.552,556,2.871]],["title/classes/OAuthEvent.html",[0,0.203,523,2.973]],["body/classes/OAuthEvent.html",[0,0.308,2,1.39,3,1.181,4,0.885,5,0.745,10,1.133,30,0.813,37,1.18,38,0.016,39,1.133,40,1.355,41,0.885,46,1.889,64,1.644,72,0.852,114,0.009,115,0.011,116,0.009,129,3.73,200,2.836,258,2.569,293,2.192,521,2.737,522,2.933,523,4.681,524,4.6,525,4.889,526,3.169,528,2.737,529,2.933,530,2.737,531,2.933,532,2.933,533,2.737,534,2.933,535,2.933,536,2.933,537,2.933,538,2.933,539,2.933,540,2.737,541,2.737,542,2.933,543,2.933,544,2.933,545,2.737,546,2.737,547,2.933,548,2.068,549,2.933,550,2.933,551,2.933,552,3.169,553,2.933,554,4.875,555,4.6,556,2.933,557,4.458]],["title/classes/OAuthInfoEvent.html",[0,0.203,556,2.973]],["body/classes/OAuthInfoEvent.html",[0,0.307,2,1.378,3,1.294,4,0.878,5,0.739,10,1.124,30,0.806,37,1.17,38,0.016,39,1.124,40,1.351,41,0.878,46,1.878,64,1.63,72,0.85,114,0.009,115,0.011,116,0.009,129,3.94,200,2.82,258,2.547,293,2.183,521,2.714,522,2.908,523,4.668,524,4.581,525,4.879,526,3.142,528,2.714,529,2.908,530,2.714,531,2.908,532,2.908,533,2.714,534,2.908,535,2.908,536,2.908,537,2.908,538,2.908,539,2.908,540,2.714,541,2.714,542,2.908,543,2.908,544,2.908,545,2.714,546,2.714,547,2.908,548,2.05,549,2.908,550,2.908,551,2.908,552,3.142,553,2.908,554,4.859,555,4.581,556,3.805,558,4.419]],["title/classes/OAuthLogger.html",[0,0.203,423,2.096]],["body/classes/OAuthLogger.html",[0,0.235,2,0.654,3,0.873,4,0.417,5,0.351,9,0.845,10,1.849,11,1.185,12,0.774,14,0.71,15,0.681,18,0.982,21,0.453,22,1.185,28,2.188,30,0.955,33,1.972,34,0.884,37,1.386,38,0.016,39,1.331,40,0.997,41,1.109,43,1.7,44,0.741,46,1.813,51,1.089,54,1.482,62,1.621,63,0.774,64,0.774,68,0.351,72,0.752,73,1.891,74,1.482,75,0.927,76,0.927,77,0.927,82,0.884,83,1.361,92,1.386,103,0.453,109,0.512,114,0.004,115,0.007,116,0.004,125,1.414,126,1.045,127,0.681,168,2.018,202,1.7,222,0.973,228,0.472,229,1.48,234,0.927,236,1.351,242,0.533,254,1.065,279,0.654,284,0.512,285,0.853,293,0.71,296,0.927,305,1.023,311,1.292,313,1.492,324,0.973,325,1.078,326,0.306,327,0.973,328,1.556,330,0.973,331,1.078,332,1.078,333,1.078,334,1.078,335,0.927,336,1.078,338,1.136,339,2.22,340,2.151,341,1.691,342,1.078,343,1.292,344,1.078,345,0.927,346,1.078,347,1.414,348,1.556,349,0.927,350,1.078,351,1.603,352,1.724,353,1.078,354,0.973,355,1.023,356,1.078,357,1.023,358,0.654,360,0.774,361,0.927,362,1.078,363,2.154,364,0.628,366,1.482,368,1.556,369,1.556,370,1.852,371,1.636,372,1.078,373,1.724,374,1.078,375,1.078,376,1.078,377,1.078,379,2.018,380,0.884,381,0.884,382,0.845,383,2.461,384,1.078,385,1.023,387,1.482,388,1.078,389,0.681,390,1.023,391,2.723,392,1.943,393,1.545,394,1.482,396,0.973,397,1.636,399,1.078,400,0.884,401,1.023,402,0.71,403,0.927,404,1.078,405,1.078,406,1.078,407,1.078,408,0.927,409,1.078,411,0.927,412,1.078,413,2.553,414,3.622,415,1.414,416,1.292,417,2.154,418,1.556,419,1.237,420,1.482,421,1.556,422,1.636,423,1.556,424,1.724,425,3.584,426,1.724,427,1.724,428,1.724,429,1.724,430,1.023,431,0.845,432,1.078,433,0.71,434,0.884,435,0.927,436,0.884,437,1.023,438,1.023,439,1.351,440,1.724,441,1.724,442,1.724,443,1.023,444,1.078,445,1.078,446,1.078,447,2.691,448,0.927,449,0.654,450,1.078,451,1.023,452,1.078,453,1.078,454,1.078,455,1.556,456,1.351,457,1.724,458,1.767,459,1.636,460,1.078,461,0.973,462,1.078,463,1.078,464,0.884,465,0.654,466,0.681,467,1.078,468,0.927,469,1.078,470,1.023,471,0.654,472,0.741,473,0.654,474,1.023,475,0.774,476,1.078,477,1.078,478,1.078,479,1.078,480,1.078,481,1.078,482,1.078,483,1.078,484,1.078,485,1.078,486,1.078,487,1.078,488,1.078,489,1.078,490,1.078,491,1.078,492,1.078,493,1.078,494,1.078,495,1.078,496,1.078,497,1.078,498,1.078,499,1.078,500,1.078,501,1.078,502,1.078,503,1.078,504,1.078,559,3.353,560,2.903,561,3.353,562,2.097,563,4.53,564,2.097,565,2.097,566,2.097,567,2.097]],["title/modules/OAuthModule.html",[568,3.51,569,2.973]],["body/modules/OAuthModule.html",[0,0.172,3,0.7,4,0.762,5,0.641,7,2.727,12,1.94,22,1.356,30,0.7,35,1.78,37,1.016,38,0.016,39,0.975,40,0.731,41,0.762,43,1.246,68,1.289,72,0.46,92,1.016,103,0.828,114,0.008,115,0.01,116,0.008,117,3.46,119,1.972,123,2.981,127,1.246,128,3.738,131,4.086,133,2.524,153,3.738,195,3.738,202,1.708,204,3.229,206,4.153,217,2.085,228,0.863,229,1.356,230,3.964,231,3.319,232,2.981,233,2.524,242,0.975,254,1.526,274,1.871,287,3.948,293,1.781,365,1.695,419,2.687,423,2.439,439,2.119,511,3.32,569,3.948,570,2.981,571,5.259,572,3.836,573,5.259,574,5.259,575,3.836,576,6.456,577,3.836,578,3.459,579,6.001,580,1.871,581,3.32,582,4.662,583,5.259,584,3.32,585,5.259,586,4.086,587,3.836,588,3.46,589,3.836,590,3.836,591,3.836,592,4.552,593,4.552,594,3.836,595,2.981,596,2.981,597,3.836,598,2.727,599,4.552,600,5.854,601,3.836,602,3.836]],["title/classes/OAuthModuleConfig.html",[0,0.203,206,2.774]],["body/classes/OAuthModuleConfig.html",[0,0.294,2,1.675,3,0.981,4,1.068,5,0.899,10,1.664,21,1.16,28,1.482,30,0.981,38,0.016,40,1.023,63,1.982,72,0.784,92,1.423,114,0.011,115,0.013,116,0.011,206,4.017,236,2.636,242,1.367,248,4.305,329,2.891,340,1.899,351,1.544,603,5.663,604,4.652,605,5.014,606,5.48,607,5.375,608,3.82,609,4.176,610,4.652,611,4.652,612,4.176,613,3.537,614,3.82,615,3.82,616,4.652]],["title/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.203,588,2.973]],["body/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.288,2,1.629,3,0.953,4,1.038,5,0.874,8,2.424,10,1.635,14,2.178,21,1.128,22,2.272,30,0.953,37,1.384,38,0.016,39,1.329,40,0.995,41,1.038,43,1.697,68,1.075,72,0.77,103,1.128,114,0.01,115,0.013,116,0.01,204,4.277,214,4.783,217,2.839,219,3.714,228,1.447,229,2.272,294,3.714,517,4.522,588,4.231,617,5.566,618,5.566,619,5.412,620,5.799,621,4.522,622,4.522]],["title/classes/OAuthResourceServerConfig.html",[0,0.203,606,3.51]],["body/classes/OAuthResourceServerConfig.html",[0,0.28,2,1.55,3,0.907,4,0.988,5,0.831,10,1.586,21,1.074,28,1.371,30,1.243,38,0.016,40,1.297,41,1.419,63,2.3,72,0.747,92,1.651,114,0.01,115,0.012,116,0.01,154,2.703,206,3.054,236,2.745,242,1.265,248,4.841,329,2.756,340,2.204,351,1.791,603,6.182,604,4.305,605,3.535,606,5.293,608,4.433,609,4.845,610,5.398,611,5.398,612,4.845,613,4.103,614,4.843,615,4.433,616,5.897,623,4.973,624,4.973,625,4.973]],["title/classes/OAuthResourceServerErrorHandler.html",[0,0.203,204,2.774]],["body/classes/OAuthResourceServerErrorHandler.html",[0,0.288,2,1.629,3,0.953,4,1.038,5,0.874,8,2.424,10,1.848,14,1.77,21,1.128,22,2.272,30,0.953,37,1.384,38,0.016,39,1.329,40,0.995,41,1.038,43,1.697,68,1.075,72,0.77,103,1.128,114,0.01,115,0.013,116,0.01,204,4.277,214,4.783,217,2.839,219,3.714,228,1.447,229,2.272,294,3.714,588,3.438,617,5.566,618,5.566,619,5.412,620,5.799,621,4.522,622,4.522,626,5.225]],["title/classes/OAuthStorage.html",[0,0.203,439,1.82]],["body/classes/OAuthStorage.html",[0,0.239,2,0.679,3,0.631,4,0.433,5,0.364,9,0.878,10,1.805,11,0.77,12,0.804,14,0.738,15,0.708,18,1.007,21,0.471,22,1.222,28,2.209,30,0.784,33,2.006,34,0.919,37,1.138,38,0.016,39,1.093,40,0.818,41,0.972,43,1.396,44,0.77,46,1.733,51,1.123,54,1.528,62,1.657,63,0.804,64,0.804,68,0.364,72,0.762,73,1.807,74,1.528,75,0.963,76,0.963,77,0.963,82,0.919,83,1.589,92,1.412,103,0.471,109,0.532,114,0.004,115,0.007,116,0.004,125,1.458,126,1.078,127,0.708,168,2.393,202,1.589,222,1.011,228,0.49,229,0.77,234,0.963,236,1.393,242,0.554,254,1.093,279,0.679,284,0.532,285,0.879,293,1.171,296,0.963,305,1.049,311,0.84,313,1.525,324,1.011,325,1.121,326,0.318,327,1.011,328,1.604,330,1.011,331,1.121,332,1.121,333,1.121,334,1.121,335,0.963,336,1.121,338,1.171,339,2.269,340,2.246,341,1.728,342,1.121,343,1.332,344,1.121,345,0.963,346,1.121,347,1.458,348,1.604,349,0.963,350,1.121,351,1.63,352,1.778,353,1.121,354,1.011,355,1.063,356,1.121,357,1.063,358,0.679,360,0.804,361,0.963,362,1.121,363,1.778,364,0.652,366,1.528,368,1.604,369,1.604,370,1.899,371,1.687,372,1.121,373,1.778,374,1.121,375,1.121,376,1.121,377,1.121,379,2.063,380,0.919,381,0.919,382,0.878,383,2.515,384,1.121,385,1.063,387,1.528,388,1.121,389,0.708,390,1.063,391,1.063,392,1.993,393,1.585,394,1.528,396,1.011,397,1.687,399,1.121,400,0.919,401,1.063,402,0.738,403,0.963,404,1.121,405,1.121,406,1.121,407,1.121,408,0.963,409,1.121,411,0.963,412,1.121,413,2.602,414,3.528,415,0.919,416,0.84,417,2.209,418,1.011,419,0.804,420,0.963,421,1.011,422,1.063,423,1.011,424,1.121,425,2.742,426,1.121,427,1.121,428,1.121,429,1.121,430,1.687,431,1.393,432,1.778,433,1.171,434,1.458,435,1.528,436,1.458,437,1.687,438,1.687,439,1.731,440,2.209,441,2.209,442,2.209,443,1.063,444,1.121,445,1.121,446,1.121,447,2.742,448,0.963,449,0.679,450,1.121,451,1.063,452,1.121,453,1.121,454,1.121,455,1.604,456,1.393,457,1.778,458,1.812,459,1.687,460,1.121,461,1.011,462,1.121,463,1.121,464,0.919,465,0.679,466,0.708,467,1.121,468,0.963,469,1.121,470,2.386,471,0.679,472,0.77,473,0.679,474,1.063,475,0.804,476,1.121,477,1.121,478,1.121,479,1.121,480,1.121,481,1.121,482,1.121,483,1.121,484,1.121,485,1.121,486,1.121,487,1.121,488,1.121,489,1.121,490,1.121,491,1.121,492,1.121,493,1.121,494,1.121,495,1.121,496,1.121,497,1.121,498,1.121,499,1.121,500,1.121,501,1.121,502,1.121,503,1.121,504,1.121,505,2.993,506,2.993,507,2.993,627,2.179,628,2.179,629,2.179]],["title/classes/OAuthSuccessEvent.html",[0,0.203,553,2.973]],["body/classes/OAuthSuccessEvent.html",[0,0.307,2,1.378,3,1.294,4,0.878,5,0.739,10,1.124,30,0.806,37,1.17,38,0.016,39,1.124,40,1.351,41,0.878,46,1.878,64,1.63,72,0.85,114,0.009,115,0.011,116,0.009,129,3.94,200,2.82,258,2.547,293,2.183,521,2.714,522,2.908,523,4.668,524,4.581,525,4.879,526,3.142,528,2.714,529,2.908,530,2.714,531,2.908,532,2.908,533,2.714,534,2.908,535,2.908,536,2.908,537,2.908,538,2.908,539,2.908,540,2.714,541,2.714,542,2.908,543,2.908,544,2.908,545,2.714,546,2.714,547,2.908,548,2.05,549,2.908,550,2.908,551,2.908,552,3.142,553,3.805,554,4.859,555,4.581,556,2.908,630,4.419]],["title/interfaces/OidcDiscoveryDoc.html",[73,1.53,474,2.204]],["body/interfaces/OidcDiscoveryDoc.html",[0,0.223,3,0.564,4,0.376,5,0.317,9,0.764,10,1.585,11,0.67,12,0.699,14,0.642,15,0.616,18,0.917,21,0.409,28,2.238,33,1.883,34,0.799,38,0.016,40,1.429,41,0.376,44,0.67,46,1.614,51,1.004,54,1.365,62,1.528,63,0.699,64,0.699,68,0.317,72,0.726,73,1.683,74,1.365,75,0.838,76,0.838,77,0.838,82,0.799,83,1.271,92,1.316,103,0.409,109,0.463,114,0.004,115,0.006,116,0.004,125,1.303,126,0.963,127,0.616,168,1.902,202,1.466,222,0.879,228,0.426,229,0.67,234,0.838,236,1.818,242,0.482,254,0.995,279,0.591,284,0.463,285,0.786,293,0.642,296,0.838,305,0.955,311,0.73,313,1.406,324,0.879,325,0.974,326,0.276,327,0.879,328,1.433,329,1.365,330,0.879,331,0.974,332,0.974,333,0.974,334,0.974,335,0.838,336,0.974,338,1.047,339,2.093,340,2.071,341,1.594,342,0.974,343,1.191,344,0.974,345,0.838,346,0.974,347,1.303,348,1.433,349,0.838,350,0.974,351,1.531,352,1.589,353,0.974,354,0.879,355,0.925,356,0.974,357,0.925,358,0.591,360,0.699,361,0.838,362,0.974,363,1.589,364,0.567,366,1.365,368,1.433,369,1.433,370,1.729,371,1.507,372,0.974,373,1.589,374,0.974,375,0.974,376,0.974,377,0.974,379,1.902,380,0.799,381,0.799,382,0.764,383,2.011,384,0.974,385,0.925,387,1.365,388,0.974,389,0.616,390,0.925,391,0.925,392,1.815,393,1.443,394,1.365,396,0.879,397,1.507,399,0.974,400,0.799,401,0.925,402,0.642,403,0.838,404,0.974,405,0.974,406,0.974,407,0.974,408,0.838,409,0.974,411,0.838,412,0.974,413,2.424,414,3.28,415,0.799,416,0.73,417,1.589,418,0.879,419,0.699,420,0.838,421,0.879,422,0.925,423,0.879,424,0.974,425,2.555,426,0.974,427,0.974,428,0.974,429,0.974,430,0.925,431,0.764,432,0.974,433,0.642,434,0.799,435,0.838,436,0.799,437,0.925,438,0.925,439,1.245,440,1.589,441,1.589,442,1.589,443,0.925,444,0.974,445,0.974,446,0.974,447,2.74,448,0.838,449,0.591,450,0.974,451,0.925,452,0.974,453,0.974,454,0.974,455,1.433,456,1.245,457,1.589,458,1.902,459,1.507,460,0.974,461,0.879,462,0.974,463,0.974,464,0.799,465,0.591,466,0.616,467,0.974,468,0.838,469,0.974,470,0.925,471,0.963,472,1.092,473,0.963,474,1.507,475,1.664,476,2.32,477,2.32,478,2.32,479,2.32,480,2.32,481,2.32,482,2.32,483,2.32,484,2.32,485,2.32,486,2.32,487,2.32,488,2.32,489,2.32,490,2.32,491,2.32,492,2.32,493,2.32,494,2.32,495,2.32,496,2.32,497,2.32,498,2.32,499,2.32,500,2.32,501,2.32,502,2.32,503,2.32,504,2.32,631,1.164]],["title/interfaces/ParsedIdToken.html",[73,1.53,451,2.204]],["body/interfaces/ParsedIdToken.html",[0,0.243,3,0.645,4,0.446,5,0.375,9,0.904,10,1.67,11,0.793,12,0.827,14,0.76,15,0.729,18,1.026,21,0.484,28,2.208,33,2.031,34,0.946,38,0.016,40,1.094,41,0.446,44,0.793,46,2.084,51,1.423,54,1.935,62,1.684,63,0.827,64,0.827,68,0.375,72,0.769,73,1.832,74,2.391,75,0.991,76,2.197,77,2.197,82,0.946,83,1.423,92,1.432,103,0.484,109,0.548,114,0.004,115,0.007,116,0.004,125,2.096,126,1.103,127,0.729,168,2.096,202,1.615,222,1.041,228,0.505,229,0.793,234,0.991,236,1.425,242,0.57,254,1.114,279,0.699,284,0.548,285,0.899,293,0.76,296,0.991,305,1.069,311,0.864,313,1.55,324,1.041,325,1.153,326,0.327,327,1.041,328,1.641,329,1.563,330,1.041,331,1.153,332,1.153,333,1.153,334,1.153,335,0.991,336,1.153,338,1.198,339,2.306,340,2.203,341,1.757,342,1.153,343,1.363,344,1.153,345,0.991,346,1.153,347,1.492,348,1.641,349,0.991,350,1.153,351,1.651,352,1.819,353,1.153,354,1.041,355,1.094,356,1.153,357,1.094,358,0.699,360,0.827,361,0.991,362,1.153,363,1.819,364,0.671,366,1.563,368,1.641,369,1.641,370,1.935,371,1.726,372,1.153,373,1.819,374,1.153,375,1.153,376,1.153,377,1.153,379,2.096,380,0.946,381,0.946,382,0.904,383,2.252,384,1.153,385,1.094,387,1.563,388,1.153,389,0.729,390,1.094,391,1.094,392,2.031,393,1.615,394,1.563,396,1.041,397,2.136,399,1.153,400,0.946,401,1.094,402,0.76,403,0.991,404,1.153,405,1.153,406,1.153,407,1.153,408,0.991,409,1.153,411,0.991,412,1.153,413,2.639,414,3.444,415,0.946,416,0.864,417,1.819,418,1.041,419,0.827,420,0.991,421,1.041,422,1.094,423,1.041,424,1.153,425,2.781,426,1.153,427,1.153,428,1.153,429,1.153,430,1.094,431,0.904,432,1.153,433,0.76,434,0.946,435,0.991,436,0.946,437,1.094,438,1.094,439,1.425,440,1.819,441,1.819,442,1.819,443,1.094,444,1.153,445,1.153,446,1.153,447,2.955,448,0.991,449,0.699,450,1.153,451,1.726,452,2.556,453,2.556,454,2.556,455,1.641,456,1.425,457,1.819,458,1.847,459,1.726,460,1.153,461,1.041,462,1.153,463,1.153,464,0.946,465,0.699,466,0.729,467,1.153,468,0.991,469,1.153,470,1.094,471,0.699,472,0.793,473,0.699,474,1.094,475,0.827,476,1.153,477,1.153,478,1.153,479,1.153,480,1.153,481,1.153,482,1.153,483,1.153,484,1.153,485,1.153,486,1.153,487,1.153,488,1.153,489,1.153,490,1.153,491,1.153,492,1.153,493,1.153,494,1.153,495,1.153,496,1.153,497,1.153,498,1.153,499,1.153,500,1.153,501,1.153,502,1.153,503,1.153,504,1.153,631,1.378]],["title/classes/ReceivedTokens.html",[0,0.203,413,2.204]],["body/classes/ReceivedTokens.html",[0,0.243,2,0.703,3,0.648,4,0.448,5,0.377,9,0.909,10,1.673,11,0.797,12,0.832,14,0.764,15,0.733,18,1.03,21,0.487,28,2.204,30,0.91,33,2.036,34,0.951,38,0.016,40,0.949,41,1.077,44,0.797,46,1.872,51,1.154,54,1.942,62,1.951,63,0.832,64,0.832,68,0.377,72,0.77,73,1.837,74,2.203,75,1.942,76,0.997,77,0.997,82,0.951,83,1.62,92,1.436,103,0.487,109,0.551,114,0.004,115,0.007,116,0.004,125,1.498,126,1.107,127,0.733,168,2.102,202,1.62,222,1.046,228,0.508,229,0.797,234,0.997,236,1.431,242,0.574,254,1.268,279,0.703,284,0.551,285,0.903,293,0.764,296,0.997,305,1.073,311,0.869,313,1.554,324,1.046,325,1.16,326,0.329,327,1.046,328,1.648,329,1.57,330,1.046,331,1.16,332,1.16,333,1.16,334,1.16,335,0.997,336,1.16,338,1.203,339,2.313,340,2.207,341,1.762,342,1.16,343,1.369,344,1.16,345,0.997,346,1.16,347,1.498,348,1.648,349,0.997,350,1.16,351,1.655,352,1.827,353,1.16,354,1.046,355,1.1,356,1.16,357,1.1,358,0.703,360,0.832,361,0.997,362,1.16,363,1.827,364,0.675,366,1.57,368,1.648,369,1.648,370,1.942,371,1.733,372,1.16,373,1.827,374,1.16,375,1.16,376,1.16,377,1.16,379,2.542,380,0.951,381,0.951,382,0.909,383,2.26,384,1.16,385,1.1,387,1.57,388,1.16,389,0.733,390,1.1,391,1.1,392,2.039,393,1.621,394,1.57,396,1.046,397,1.733,399,1.16,400,0.951,401,1.1,402,0.764,403,0.997,404,1.16,405,1.16,406,1.16,407,1.16,408,0.997,409,1.16,411,0.997,412,1.16,413,2.81,414,3.449,415,0.951,416,0.869,417,1.827,418,1.046,419,0.832,420,0.997,421,1.046,422,1.1,423,1.046,424,1.16,425,2.789,426,1.16,427,1.16,428,1.16,429,1.16,430,1.1,431,0.909,432,1.16,433,0.764,434,0.951,435,0.997,436,0.951,437,1.1,438,1.1,439,1.431,440,1.827,441,1.827,442,1.827,443,1.1,444,1.16,445,1.16,446,1.16,447,2.962,448,1.57,449,1.107,450,2.26,451,1.1,452,1.16,453,1.16,454,1.16,455,1.648,456,1.431,457,1.827,458,1.853,459,1.733,460,1.16,461,1.046,462,1.16,463,1.16,464,0.951,465,0.703,466,0.733,467,1.16,468,0.997,469,1.16,470,1.1,471,0.703,472,0.797,473,0.703,474,1.1,475,0.832,476,1.16,477,1.16,478,1.16,479,1.16,480,1.16,481,1.16,482,1.16,483,1.16,484,1.16,485,1.16,486,1.16,487,1.16,488,1.16,489,1.16,490,1.16,491,1.16,492,1.16,493,1.16,494,1.16,495,1.16,496,1.16,497,1.16,498,1.16,499,1.16,500,1.16,501,1.16,502,1.16,503,1.16,504,1.16,632,2.256,633,2.256,634,2.256,635,2.256]],["title/injectables/SystemDateTimeProvider.html",[126,1.408,128,3.212]],["body/injectables/SystemDateTimeProvider.html",[0,0.287,3,0.946,4,1.03,5,0.867,10,1.765,21,1.12,22,2.262,30,1.168,38,0.016,43,2.079,68,0.867,72,0.767,103,1.382,109,1.852,114,0.01,115,0.013,116,0.01,117,4.9,118,4.488,119,2.666,120,4.488,121,5.294,123,5.633,125,2.927,126,1.995,127,1.685,128,4.55,129,3.689,130,4.488,132,3.412,290,5.54,636,5.186,637,5.186]],["title/interfaces/TokenResponse.html",[73,1.53,461,2.096]],["body/interfaces/TokenResponse.html",[0,0.241,3,0.638,4,0.439,5,0.37,9,0.891,10,1.663,11,0.782,12,0.816,14,0.749,15,0.719,18,1.017,21,0.478,28,2.214,33,2.019,34,0.933,38,0.016,40,1.139,41,0.862,44,0.782,46,1.745,51,1.745,54,1.546,62,1.671,63,1.819,64,0.816,68,0.37,72,0.765,73,1.82,74,1.546,75,0.978,76,0.978,77,0.978,82,0.933,83,1.41,92,1.423,103,0.478,109,0.54,114,0.004,115,0.007,116,0.004,125,2.08,126,1.09,127,0.719,168,2.08,202,1.602,222,1.026,228,0.498,229,0.782,234,0.978,236,1.409,242,0.562,254,1.254,279,0.69,284,0.54,285,0.89,293,0.749,296,0.978,305,1.059,311,0.852,313,1.537,324,1.026,325,1.137,326,0.323,327,1.026,328,1.623,329,1.546,330,1.026,331,1.137,332,1.137,333,1.137,334,1.137,335,0.978,336,1.137,338,1.185,339,2.288,340,2.192,341,1.743,342,1.137,343,1.348,344,1.137,345,0.978,346,1.137,347,1.475,348,1.623,349,0.978,350,1.137,351,1.641,352,1.799,353,1.137,354,1.026,355,1.079,356,1.137,357,1.079,358,0.69,360,0.816,361,0.978,362,1.137,363,1.799,364,0.662,366,1.546,368,1.623,369,1.623,370,1.918,371,1.707,372,1.137,373,1.799,374,1.137,375,1.137,376,1.137,377,1.137,379,2.523,380,0.933,381,0.933,382,0.891,383,2.231,384,1.137,385,1.079,387,1.546,388,1.137,389,0.719,390,1.079,391,1.079,392,2.013,393,1.601,394,1.546,396,1.026,397,1.707,399,1.137,400,0.933,401,1.079,402,0.749,403,0.978,404,1.137,405,1.137,406,1.137,407,1.137,408,0.978,409,1.137,411,0.978,412,1.137,413,2.621,414,3.431,415,0.933,416,0.852,417,1.799,418,1.026,419,0.816,420,0.978,421,1.026,422,1.079,423,1.026,424,1.137,425,2.762,426,1.137,427,1.137,428,1.137,429,1.137,430,1.079,431,0.891,432,1.137,433,0.749,434,0.933,435,0.978,436,0.933,437,1.079,438,1.079,439,1.409,440,1.799,441,1.799,442,1.799,443,1.079,444,1.137,445,1.137,446,1.137,447,2.937,448,0.978,449,0.69,450,1.137,451,1.079,452,1.137,453,1.137,454,1.137,455,2.013,456,1.748,457,2.231,458,2.08,459,2.117,460,1.799,461,1.623,462,2.536,463,2.536,464,2.08,465,1.537,466,0.719,467,1.137,468,0.978,469,1.137,470,1.079,471,0.69,472,0.782,473,0.69,474,1.079,475,0.816,476,1.137,477,1.137,478,1.137,479,1.137,480,1.137,481,1.137,482,1.137,483,1.137,484,1.137,485,1.137,486,1.137,487,1.137,488,1.137,489,1.137,490,1.137,491,1.137,492,1.137,493,1.137,494,1.137,495,1.137,496,1.137,497,1.137,498,1.137,499,1.137,500,1.137,501,1.137,502,1.137,503,1.137,504,1.137,631,1.358]],["title/injectables/UrlHelperService.html",[126,1.408,586,3.51]],["body/injectables/UrlHelperService.html",[0,0.203,3,0.826,4,0.899,5,0.757,21,0.977,22,2.075,28,2.02,30,1.071,33,2.438,35,2.1,37,1.555,38,0.016,39,1.493,40,1.118,41,1.167,43,1.908,46,2.241,68,0.757,72,0.542,84,3.98,103,1.407,114,0.009,115,0.012,116,0.009,126,1.83,127,1.47,132,2.978,147,2.724,163,3.385,168,2.476,293,1.533,330,2.724,354,2.724,470,2.208,563,3.918,586,4.563,638,6.519,639,4.526,640,5.872,641,5.872,642,5.872,643,4.526,644,5.872,645,4.526,646,4.526,647,4.526,648,5.872,649,5.872,650,3.864,651,4.526,652,4.526,653,4.526,654,5.872,655,4.526,656,4.526,657,4.526,658,4.526,659,4.526]],["title/interfaces/UserInfo.html",[73,1.53,468,1.997]],["body/interfaces/UserInfo.html",[0,0.246,3,0.813,4,0.458,5,0.386,9,0.929,10,1.683,11,0.815,12,0.851,14,0.781,15,0.749,18,1.045,21,0.498,28,2.207,30,0.421,33,2.055,34,0.972,38,0.016,40,0.439,41,0.458,44,0.815,46,1.781,51,1.174,54,1.597,62,1.71,63,0.851,64,0.851,68,0.386,72,0.775,73,1.857,74,1.597,75,1.019,76,1.019,77,1.019,82,0.972,83,1.448,92,1.451,103,0.498,109,0.563,114,0.005,115,0.007,116,0.005,125,1.524,126,1.127,127,0.749,168,2.128,202,1.64,222,1.07,228,0.519,229,0.815,234,1.019,236,1.456,242,0.586,254,1.134,279,0.719,284,0.563,285,0.919,293,0.781,296,1.019,305,1.088,311,0.889,313,1.573,324,1.07,325,1.186,326,0.336,327,1.07,328,1.677,329,1.597,330,1.07,331,1.186,332,1.186,333,1.186,334,1.186,335,1.019,336,1.186,338,1.224,339,2.341,340,2.224,341,1.783,342,1.186,343,1.393,344,1.186,345,1.019,346,1.186,347,1.524,348,1.677,349,1.019,350,1.186,351,1.67,352,1.859,353,1.186,354,1.07,355,1.125,356,1.186,357,1.125,358,0.719,360,0.851,361,1.019,362,1.186,363,1.859,364,0.69,366,1.597,368,1.677,369,1.677,370,1.97,371,1.763,372,1.186,373,1.859,374,1.186,375,1.186,376,1.186,377,1.186,379,2.128,380,0.972,381,0.972,382,0.929,383,2.292,384,1.186,385,1.125,387,1.597,388,1.186,389,0.749,390,1.125,391,1.125,392,2.068,393,1.644,394,1.597,396,1.07,397,1.763,399,1.186,400,0.972,401,1.125,402,0.781,403,1.019,404,1.186,405,1.186,406,1.186,407,1.186,408,1.019,409,1.186,411,1.019,412,1.186,413,2.674,414,3.47,415,0.972,416,0.889,417,1.859,418,1.07,419,0.851,420,1.019,421,1.07,422,1.125,423,1.07,424,1.186,425,2.818,426,1.186,427,1.186,428,1.186,429,1.186,430,1.125,431,0.929,432,1.186,433,0.781,434,0.972,435,1.019,436,0.972,437,1.125,438,1.125,439,1.456,440,1.859,441,1.859,442,1.859,443,1.125,444,1.186,445,1.186,446,1.186,447,2.99,448,1.019,449,0.719,450,1.186,451,1.125,452,1.186,453,1.186,454,1.186,455,2.068,456,1.796,457,2.292,458,2.128,459,2.175,460,1.186,461,1.07,462,1.186,463,1.186,464,0.972,465,0.719,466,1.174,467,1.859,468,1.597,469,2.595,470,1.763,471,0.719,472,0.815,473,0.719,474,1.125,475,0.851,476,1.186,477,1.186,478,1.186,479,1.186,480,1.186,481,1.186,482,1.186,483,1.186,484,1.186,485,1.186,486,1.186,487,1.186,488,1.186,489,1.186,490,1.186,491,1.186,492,1.186,493,1.186,494,1.186,495,1.186,496,1.186,497,1.186,498,1.186,499,1.186,500,1.186,501,1.186,502,1.186,503,1.186,504,1.186,631,1.416,660,2.306,661,2.306]],["title/classes/ValidationHandler.html",[0,0.203,12,1.666]],["body/classes/ValidationHandler.html",[0,0.21,1,2.31,2,1.013,3,0.593,4,0.646,5,0.543,6,2.82,7,3.899,8,1.508,9,1.309,10,1.86,11,1.149,12,2.213,13,1.996,14,1.585,15,1.521,16,3.949,17,1.586,18,1.097,19,2.31,20,3.08,21,0.702,22,1.654,23,3.637,25,2.31,26,3.609,28,1.827,29,3.949,30,0.854,32,2.525,33,1.938,34,1.974,35,1.508,36,0.702,37,1.239,38,0.016,39,1.395,40,0.891,41,0.93,42,3.08,43,1.521,44,2.469,45,2.525,46,1.949,48,2.525,49,4.262,50,2.525,51,2.218,52,2.525,53,2.525,54,1.436,55,2.139,56,2.525,57,4.579,59,4.708,60,4.52,61,3.899,62,1.858,63,2.023,65,3.08,67,3.609,68,0.543,69,2.31,70,2.31,71,2.525,72,0.657,73,1.858,74,1.436,75,1.436,76,1.436,77,1.436,78,1.586,79,2.525,80,3.637,81,3.637,82,1.974,83,1.521,84,3.599,85,3.637,86,2.525,87,2.525,88,2.139,89,2.525,90,2.525,91,2.525,92,0.861,93,2.525,94,2.525,95,2.525,96,2.31,97,4.662,98,2.525,99,4.662,100,2.525,101,2.525,102,2.525,103,1.011,104,4.262,105,2.525,106,2.525,107,2.525,108,2.139,109,0.794,110,2.525,111,2.139,112,2.31,113,2.525,114,0.006,115,0.009,116,0.006,289,2.525,662,3.25,663,3.25]],["title/interfaces/ValidationParams.html",[57,2.774,73,1.53]],["body/interfaces/ValidationParams.html",[0,0.214,1,2.374,3,0.609,4,0.663,5,0.558,6,1.717,7,2.374,8,1.549,10,1.75,11,1.18,12,2.054,13,2.051,14,1.617,15,1.55,16,3.14,17,1.629,18,1.119,19,2.374,20,3.14,21,0.721,23,3.708,25,2.374,26,2.198,28,2.004,29,3.998,32,2.595,33,1.968,34,2.012,35,1.549,36,0.721,38,0.016,39,0.849,40,1.273,42,3.14,44,2.362,45,2.595,46,2.361,48,2.595,49,4.327,50,2.595,51,2.088,52,2.595,53,2.595,54,1.476,55,2.198,56,2.595,57,4.321,59,4.319,60,4.319,61,3.392,62,1.617,63,1.76,65,2.198,67,3.14,68,0.558,69,2.374,70,2.374,71,2.595,72,0.667,73,1.617,74,2.685,75,2.685,76,2.685,77,2.685,78,2.964,79,4.721,80,2.595,81,2.595,82,1.408,83,1.085,84,2.593,85,3.708,86,2.595,87,2.595,88,2.198,89,2.595,90,2.595,91,2.595,92,0.884,93,2.595,94,2.595,95,2.595,96,2.374,97,4.721,98,2.595,99,4.721,100,2.595,101,2.595,102,2.595,103,1.03,104,4.327,105,2.595,106,2.595,107,2.595,108,2.198,109,0.815,110,2.595,111,2.198,112,2.374,113,2.595,114,0.007,115,0.009,116,0.007,154,2.593,329,2.109,631,2.051]],["title/classes/WebHttpUrlEncodingCodec.html",[0,0.203,664,3.911]],["body/classes/WebHttpUrlEncodingCodec.html",[0,0.2,2,1.393,3,0.815,4,0.887,5,0.747,9,1.8,14,1.972,21,0.965,22,2.057,28,2.199,30,1.252,37,1.817,38,0.016,39,1.745,40,1.307,41,1.363,43,2.23,68,0.747,72,0.535,103,1.482,114,0.009,115,0.011,116,0.009,164,4.139,217,2.428,338,1.972,340,2.057,664,5.04,665,4.467,666,5.823,667,5.823,668,5.823,669,6.478,670,5.823,671,5.823,672,5.823,673,5.823,674,5.823,675,4.467,676,5.823,677,5.823,678,4.467,679,5.823,680,5.823,681,4.467,682,5.823,683,4.467,684,4.467,685,4.467,686,4.467,687,4.467]],["title/changelog.html",[688,2.267,689,2.588,690,3.404]],["body/changelog.html",[5,0.79,13,1.26,17,2.014,18,1.361,33,1.67,36,1.193,37,0.543,38,0.009,40,0.627,41,0.408,51,0.667,64,2.039,78,1.001,83,0.667,92,0.872,109,0.804,112,1.458,114,0.004,115,0.006,116,0.004,117,1.35,119,1.055,121,2.342,145,1.35,146,1.35,160,1.594,182,2.342,200,1.001,228,0.462,229,0.725,230,1.26,231,2.43,233,3.637,236,0.827,242,1.316,254,1.477,274,1.001,283,0.79,284,1.418,295,0.827,299,2.243,304,1.821,305,1.712,308,2.56,311,1.591,313,2.186,327,0.952,330,0.952,338,1.753,341,0.725,343,1.994,345,2.567,347,1.993,349,1.456,354,1.528,357,1.001,364,1.549,365,1.824,368,0.952,369,0.952,379,2.696,385,1.001,389,0.667,401,1.001,402,1.116,431,0.827,449,0.64,455,0.952,456,1.663,461,0.952,464,1.389,468,0.907,473,1.027,548,2.401,609,1.594,690,1.776,691,2.052,692,2.052,693,2.052,694,2.052,695,4.48,696,4.48,697,2.052,698,2.052,699,5.808,700,2.052,701,2.052,702,2.052,703,2.052,704,2.052,705,2.052,706,2.052,707,2.052,708,2.052,709,2.052,710,2.052,711,2.052,712,2.052,713,2.052,714,5.176,715,2.052,716,2.052,717,2.052,718,2.052,719,2.052,720,3.573,721,2.934,722,2.052,723,2.052,724,2.052,725,2.052,726,2.052,727,2.052,728,1.458,729,2.052,730,1.115,731,2.052,732,2.052,733,5.527,734,2.052,735,2.052,736,2.052,737,2.052,738,2.052,739,0.827,740,2.052,741,3.295,742,2.052,743,2.052,744,2.052,745,2.052,746,4.48,747,2.052,748,2.052,749,2.052,750,1.183,751,2.052,752,2.342,753,2.052,754,2.052,755,1.776,756,2.052,757,4.784,758,2.052,759,2.052,760,1.594,761,2.052,762,3.36,763,1.115,764,2.052,765,4.128,766,2.052,767,2.052,768,2.052,769,2.052,770,2.052,771,1.776,772,1.776,773,3.573,774,2.052,775,2.052,776,2.052,777,2.052,778,2.052,779,1.458,780,2.052,781,2.052,782,4.128,783,5.808,784,4.128,785,4.128,786,3.295,787,2.052,788,2.052,789,2.052,790,2.052,791,2.052,792,2.052,793,3.295,794,3.295,795,2.052,796,2.052,797,2.052,798,2.052,799,2.052,800,2.052,801,2.052,802,2.052,803,4.128,804,3.295,805,2.052,806,3.295,807,2.052,808,2.052,809,2.052,810,4.128,811,2.052,812,2.052,813,2.852,814,2.052,815,2.052,816,2.052,817,2.052,818,2.052,819,2.052,820,2.052,821,3.295,822,4.128,823,4.128,824,4.128,825,2.052,826,1.594,827,2.052,828,4.726,829,2.052,830,2.052,831,2.052,832,2.052,833,2.052,834,2.052,835,2.052,836,2.052,837,4.128,838,3.295,839,2.052,840,2.052,841,2.052,842,3.295,843,2.052,844,2.052,845,1.776,846,2.052,847,2.052,848,2.052,849,2.052,850,2.052,851,2.852,852,2.052,853,3.573,854,3.208,855,4.128,856,2.052,857,4.128,858,3.573,859,3.208,860,2.934,861,4.128,862,2.052,863,1.776,864,2.052,865,2.052,866,2.243,867,1.458,868,2.052,869,1.776,870,3.295,871,3.295,872,3.295,873,3.295,874,3.295,875,2.342,876,2.023,877,2.852,878,3.295,879,3.566,880,2.852,881,1.607,882,3.208,883,2.852,884,3.295,885,3.295,886,2.902,887,1.899,888,2.052,889,2.342,890,2.56,891,3.295,892,2.852,893,4.091,894,3.295,895,2.052,896,2.052,897,2.052,898,1.776,899,2.052,900,2.852,901,2.852,902,2.168,903,3.295,904,2.852,905,2.852,906,3.295,907,3.295,908,3.295,909,4.128,910,2.56,911,2.852,912,3.295,913,2.342,914,2.023,915,3.295,916,3.295,917,3.295,918,3.295,919,2.342,920,3.295,921,3.295,922,3.295,923,3.295,924,3.295,925,2.852,926,3.295,927,3.295,928,3.295,929,3.295,930,3.295,931,2.052,932,2.052,933,2.052,934,3.295,935,2.052,936,3.295,937,2.052,938,1.776,939,1.776,940,1.776,941,1.776,942,0.907,943,1.776,944,1.776,945,1.183,946,1.35,947,2.052,948,2.052,949,2.052,950,1.458,951,2.052,952,2.052,953,2.052,954,2.052,955,2.052,956,2.052,957,2.052,958,3.295,959,2.052,960,2.052,961,3.295,962,1.776,963,2.052,964,2.052,965,2.934,966,3.295,967,2.052,968,2.052,969,2.052,970,2.052,971,2.052,972,2.052,973,1.776,974,1.776,975,2.052,976,2.052,977,2.052,978,2.052,979,2.052,980,2.052,981,2.052,982,1.776,983,2.052,984,2.052]],["title/dependencies.html",[985,3.933,986,4.156]],["body/dependencies.html",[38,0.016,70,3.527,78,2.42,114,0.01,115,0.012,116,0.01,127,1.612,145,3.265,146,3.265,149,3.855,164,3.527,219,4.426,283,2.399,284,1.52,285,1.583,299,2.696,584,4.294,721,3.527,986,3.855,987,4.961,988,7.767,989,4.961,990,4.961,991,4.961,992,6.227,993,5.389,994,4.961,995,4.961,996,4.961,997,4.961,998,4.961,999,4.961,1000,4.961,1001,4.961,1002,4.294,1003,4.961,1004,3.855,1005,4.961,1006,4.961,1007,4.961,1008,4.961,1009,4.961,1010,6.227,1011,4.961,1012,4.961,1013,4.961,1014,4.961,1015,4.961,1016,4.961,1017,4.961,1018,4.961,1019,4.961,1020,4.961,1021,4.961]],["title/miscellaneous/functions.html",[1022,2.415,1023,4.63]],["body/miscellaneous/functions.html",[6,2.742,8,3.261,21,1.151,28,1.471,37,1.938,38,0.015,39,1.861,41,1.454,43,1.733,69,4.629,114,0.011,115,0.013,116,0.011,133,3.509,155,4.144,157,4.144,592,6.084,593,6.084,1022,3.275,1023,4.616,1024,6.511,1025,6.511,1026,7.029,1027,6.511,1028,6.511,1029,5.636,1030,6.511,1031,5.333,1032,5.333,1033,5.636,1034,5.333,1035,5.333,1036,5.333,1037,5.333]],["title/index.html",[21,0.849,688,2.267,689,2.588]],["body/index.html",[0,0.077,4,0.341,5,0.287,11,0.607,13,1.055,15,1.187,17,1.391,18,1.578,30,0.314,34,0.725,36,1.098,38,0.015,51,0.558,67,1.131,68,0.85,72,0.342,78,0.838,83,0.558,92,0.967,96,1.222,109,0.42,111,1.876,114,0.003,115,0.006,116,0.006,119,0.884,121,2.026,147,0.797,154,0.934,194,1.487,217,0.934,228,1.316,231,2.614,242,0.725,248,1.876,254,1.573,272,2.243,279,1.139,280,1.335,281,2.307,283,2.864,284,1.544,285,1.573,295,1.148,298,1.222,299,3.178,300,2.839,301,2.562,302,1.222,304,2.172,305,1.68,306,2.215,307,3.663,309,1.876,310,0.797,311,0.662,312,2.026,313,2.008,314,2.026,316,1.876,317,0.611,318,2.026,319,2.215,320,2.215,321,1.335,326,0.251,338,0.966,340,1.291,341,0.607,348,0.797,351,1.049,358,1.139,360,0.634,361,0.759,364,1.272,365,1.26,380,1.202,381,0.725,382,1.148,389,1.75,396,0.797,400,1.54,402,0.966,411,0.759,415,1.988,420,1.26,433,0.966,434,0.725,436,0.725,448,0.759,449,0.889,456,1.713,458,1.202,459,1.391,465,1.139,466,1.75,468,0.759,471,1.139,472,1.291,473,1.325,475,1.052,513,2.468,548,1.695,569,1.131,580,1.391,582,2.215,595,1.335,596,1.335,605,1.222,608,1.222,614,2.026,615,1.222,695,2.468,696,1.487,720,1.487,721,1.222,728,2.026,730,2.31,739,1.472,746,2.468,750,0.991,752,2.026,757,1.487,762,1.222,779,2.026,813,1.487,826,2.215,854,1.335,860,1.222,866,2.31,869,1.487,876,1.751,879,2.611,881,0.838,882,1.335,883,1.487,887,2.718,889,3.614,892,1.487,893,1.487,898,2.468,902,1.876,910,1.335,911,1.487,914,1.751,919,1.222,925,1.487,938,1.487,939,1.487,940,1.487,941,1.487,942,2.084,943,1.487,944,1.487,945,1.643,946,1.131,965,1.222,1002,1.487,1004,1.335,1038,1.719,1039,3.653,1040,2.597,1041,1.719,1042,1.719,1043,2.851,1044,1.719,1045,1.719,1046,2.215,1047,1.719,1048,2.851,1049,3.663,1050,1.719,1051,1.719,1052,3.614,1053,3.653,1054,1.719,1055,2.468,1056,1.335,1057,1.719,1058,1.719,1059,4.252,1060,1.719,1061,2.851,1062,2.851,1063,1.487,1064,2.851,1065,1.719,1066,1.719,1067,1.719,1068,3.102,1069,1.719,1070,1.719,1071,1.719,1072,2.851,1073,1.719,1074,1.719,1075,2.851,1076,3.022,1077,2.468,1078,0.838,1079,2.215,1080,1.335,1081,1.222,1082,1.335,1083,1.487,1084,2.215,1085,2.215,1086,0.884,1087,1.487,1088,2.215,1089,3.653,1090,1.719,1091,1.719,1092,2.611,1093,1.751,1094,1.719,1095,1.719,1096,6.323,1097,4.401,1098,1.719,1099,2.851,1100,1.719,1101,1.719,1102,1.719,1103,1.719,1104,3.653,1105,2.851,1106,1.131,1107,1.719,1108,2.851,1109,1.719,1110,1.719,1111,2.851,1112,1.719,1113,1.719,1114,1.719,1115,1.719,1116,3.653,1117,2.851,1118,1.719,1119,1.719,1120,1.487,1121,1.719,1122,1.487,1123,1.335,1124,1.719,1125,1.719,1126,1.719,1127,1.719,1128,1.719,1129,1.719,1130,1.131,1131,1.719,1132,1.719,1133,1.719,1134,1.719,1135,4.715,1136,1.487,1137,1.335,1138,2.851,1139,2.215,1140,1.719,1141,1.131,1142,0.991,1143,1.719,1144,1.222,1145,2.851,1146,1.335,1147,1.751,1148,1.487,1149,1.487,1150,2.851,1151,1.719,1152,2.243,1153,1.719,1154,1.487,1155,1.719,1156,1.719,1157,1.222,1158,1.719,1159,2.215,1160,1.487,1161,1.719,1162,1.719,1163,1.487,1164,1.719,1165,1.719,1166,1.719,1167,2.31,1168,1.719,1169,3.653,1170,1.719,1171,1.719,1172,1.719,1173,1.719,1174,1.719,1175,2.468,1176,3.162,1177,2.215,1178,1.751,1179,1.335,1180,1.487,1181,1.335,1182,1.719,1183,1.751,1184,1.719,1185,1.335,1186,1.719,1187,0.725,1188,1.222,1189,1.751,1190,1.719,1191,1.719,1192,0.934,1193,0.991,1194,0.991,1195,1.222,1196,1.751,1197,1.719,1198,1.487,1199,2.468,1200,2.851,1201,2.215,1202,1.335,1203,1.719,1204,1.719,1205,1.719,1206,1.222,1207,1.487,1208,0.991,1209,1.466,1210,1.055,1211,1.719,1212,1.719,1213,1.876,1214,2.243,1215,1.131,1216,1.055,1217,0.884,1218,0.884,1219,1.719,1220,1.719,1221,1.719,1222,2.851,1223,1.719,1224,1.719,1225,1.719,1226,1.876,1227,1.131,1228,1.719,1229,1.719,1230,1.487,1231,1.719,1232,1.719,1233,1.719,1234,1.719,1235,1.719,1236,2.215,1237,1.055,1238,1.719,1239,2.851,1240,1.719,1241,1.876,1242,1.222,1243,1.719,1244,1.719,1245,1.719,1246,1.487,1247,1.876,1248,1.222,1249,1.335,1250,1.719,1251,1.719,1252,1.222,1253,1.719,1254,1.487,1255,1.719,1256,2.468,1257,1.487,1258,0.991,1259,1.335,1260,1.719,1261,1.335,1262,2.851,1263,1.719,1264,1.719,1265,1.719,1266,1.487,1267,1.487,1268,1.719,1269,1.487,1270,1.131,1271,1.335,1272,0.934,1273,2.851,1274,1.719,1275,1.719,1276,1.719,1277,1.719,1278,2.851,1279,2.851,1280,1.719,1281,1.719,1282,1.719,1283,1.719,1284,1.719,1285,1.719,1286,1.719,1287,1.719,1288,1.335,1289,1.719,1290,1.719,1291,1.719,1292,1.719,1293,1.719,1294,1.719,1295,1.719,1296,1.131,1297,1.719,1298,1.719,1299,1.719,1300,1.719,1301,1.222,1302,1.719,1303,3.162,1304,1.335,1305,1.719,1306,1.719,1307,1.719,1308,1.719,1309,1.719]],["title/license.html",[688,2.267,689,2.588,858,3.404]],["body/license.html",[18,1.455,38,0.012,114,0.01,115,0.012,116,0.01,218,4.274,358,1.539,390,2.409,763,2.683,845,5.373,973,4.274,974,4.274,1052,3.51,1056,3.836,1123,3.836,1152,3.032,1269,4.274,1272,2.683,1310,6.79,1311,4.938,1312,4.938,1313,6.208,1314,4.938,1315,4.938,1316,4.938,1317,4.938,1318,4.938,1319,6.208,1320,7.761,1321,4.938,1322,4.938,1323,4.938,1324,4.468,1325,4.938,1326,3.836,1327,4.938,1328,4.938,1329,4.938,1330,4.938,1331,4.938,1332,4.938,1333,4.938,1334,6.208,1335,4.938,1336,4.938,1337,4.938,1338,4.938,1339,4.938,1340,6.208,1341,6.208,1342,4.938,1343,4.938,1344,4.938,1345,4.938,1346,4.938,1347,4.938,1348,4.938,1349,4.938,1350,4.938,1351,4.938,1352,4.938,1353,4.274,1354,4.938,1355,4.938,1356,4.938,1357,4.938,1358,4.938,1359,4.938,1360,4.938,1361,4.938,1362,4.274,1363,4.938,1364,4.938,1365,4.938,1366,4.938,1367,4.938]],["title/modules.html",[570,4.557]],["body/modules.html",[38,0.014,114,0.012,115,0.014,116,0.012,569,4.091,570,4.83,1301,4.419,1368,6.216,1369,6.216]],["title/overview.html",[1370,5.077]],["body/overview.html",[2,1.881,38,0.014,114,0.012,115,0.014,116,0.012,132,3.971,568,4.689,631,3.706,650,3.971,986,5.446,1152,3.706,1304,4.689,1370,5.223,1371,7.009,1372,6.035,1373,7.009]],["title/miscellaneous/typealiases.html",[1022,2.415,1374,5.349]],["body/miscellaneous/typealiases.html",[21,1.16,38,0.016,40,1.023,114,0.011,115,0.013,116,0.011,258,3.098,522,3.537,525,4.305,528,3.3,529,3.537,530,3.3,531,3.537,532,3.537,533,3.3,534,3.537,535,3.537,536,3.537,537,3.537,538,3.537,539,3.537,540,3.3,541,3.3,542,3.537,543,3.537,544,3.537,545,3.3,546,3.3,547,3.537,548,2.493,549,3.537,550,3.537,551,3.537,1022,3.3,1375,5.375,1376,5.375]],["title/miscellaneous/variables.html",[1022,2.415,1377,4.63]],["body/miscellaneous/variables.html",[6,3.201,8,3.31,21,1.071,35,3.157,36,1.071,38,0.015,68,1.041,78,3.037,109,1.211,114,0.01,115,0.012,116,0.012,133,3.265,144,3.527,146,4.097,272,3.823,273,4.294,274,3.037,279,1.546,280,3.855,281,1.681,283,2.622,284,1.661,285,1.73,294,4.426,295,2.741,296,2.192,297,4.294,298,3.527,299,2.696,300,3.855,301,2.696,302,3.527,303,3.527,304,1.912,305,1.52,306,3.855,307,4.838,308,3.855,309,3.265,310,2.301,311,1.912,312,3.527,313,1.546,314,3.527,315,4.294,316,3.265,317,0.829,318,3.527,319,3.855,320,3.855,321,3.855,365,3.007,1022,3.046,1029,4.294,1377,4.294,1378,6.227,1379,4.961,1380,4.961,1381,4.961,1382,4.961]],["title/additional-documentation/getting-started.html",[317,0.582,326,0.508,688,2.007,689,2.292]],["body/additional-documentation/getting-started.html",[38,0.014,114,0.012,115,0.014,116,0.012,295,2.475,688,4.081,689,4.659,1227,4.042,1272,3.338,1383,4.773,1384,6.142]],["title/additional-documentation/preserving-state-(like-the-requested-url).html",[242,0.72,317,0.474,326,0.413,379,1.195,1385,2.452,1386,1.864]],["body/additional-documentation/preserving-state-(like-the-requested-url).html",[3,1.07,38,0.015,41,1.165,114,0.012,115,0.014,116,0.012,242,1.752,296,2.591,335,2.591,345,2.591,379,3.087,739,2.362,1252,4.168,1288,4.556,1385,5.075,1386,4.535,1387,5.863,1388,5.863,1389,4.168,1390,5.863,1391,5.863]],["title/additional-documentation/refreshing-a-token.html",[254,0.886,317,0.582,326,0.508,1142,2.007]],["body/additional-documentation/refreshing-a-token.html",[15,1.978,17,2.336,35,2.221,36,1.445,38,0.012,114,0.009,115,0.012,116,0.009,119,3.442,163,2.76,202,1.556,223,3.721,231,2.462,254,1.849,279,1.493,295,2.453,304,2.346,305,1.776,310,2.221,313,2.087,358,1.493,364,2.003,365,2.116,380,2.019,381,2.019,382,1.929,393,1.766,464,2.019,465,1.493,473,1.493,650,3.151,730,3.638,763,3.638,867,3.404,875,3.404,876,2.94,1130,3.151,1141,3.151,1142,3.509,1144,4.328,1146,3.721,1183,2.94,1185,3.721,1201,3.721,1209,2.462,1213,3.151,1296,4.007,1326,3.721,1392,3.151,1393,3.404,1394,4.145,1395,4.145,1396,3.721,1397,5.27,1398,3.404,1399,4.145,1400,3.721,1401,4.145,1402,4.145,1403,4.145,1404,3.404,1405,3.721,1406,4.731,1407,3.721,1408,3.721,1409,4.731,1410,4.731,1411,3.721,1412,3.721,1413,3.721,1414,3.404,1415,3.721,1416,3.721,1417,3.151,1418,3.721,1419,3.721,1420,3.721,1421,3.721]],["title/additional-documentation/silent-refresh.html",[317,0.582,326,0.508,343,1.342,364,1.042]],["body/additional-documentation/silent-refresh.html",[3,0.499,5,0.83,11,1.457,15,1.34,17,1.335,18,1.163,28,1.137,30,0.499,33,1.753,35,2.302,36,1.395,38,0.015,46,0.889,51,0.889,62,1.397,68,0.458,72,0.328,83,1.925,92,1.092,103,0.591,109,1.007,114,0.008,115,0.008,116,0.005,119,2.551,147,1.27,154,1.488,159,2.127,163,1.578,202,1.612,210,2.127,225,2.369,228,1.116,229,1.753,242,1.404,254,1.691,279,0.853,283,1.589,284,0.668,285,1.049,295,1.999,299,1.488,301,1.488,304,2.399,305,1.72,309,2.714,310,1.27,313,2.073,339,1.913,343,2.622,347,1.739,349,1.21,351,1.586,358,1.722,360,1.83,361,1.822,364,2.075,365,2.193,366,1.822,370,1.21,389,1.794,391,2.42,393,2.185,408,1.822,416,1.055,419,1.01,420,1.822,430,1.335,431,1.103,433,0.927,449,1.286,455,1.913,464,1.154,465,1.286,466,1.794,471,0.853,475,1.01,578,1.578,580,2.42,613,1.801,650,1.801,688,1.578,730,2.241,739,1.999,750,1.578,762,1.946,763,3.001,779,1.946,859,2.127,860,1.946,866,1.488,875,1.946,876,1.681,877,2.369,881,1.335,886,2.532,889,1.946,942,1.822,946,3.265,1033,2.369,1081,1.946,1086,1.407,1092,1.681,1130,1.801,1141,2.714,1142,2.86,1144,2.931,1167,3.001,1187,1.154,1188,1.946,1189,3.047,1192,2.696,1193,1.578,1194,1.578,1195,1.946,1196,1.681,1202,2.127,1208,1.578,1209,1.407,1210,1.681,1214,1.681,1215,1.801,1216,1.681,1217,1.407,1218,1.407,1248,1.946,1254,3.57,1258,1.578,1261,2.127,1270,1.801,1272,1.488,1296,2.714,1303,2.369,1304,2.127,1324,1.801,1398,1.946,1404,1.946,1405,2.127,1406,3.204,1407,2.127,1408,2.127,1409,3.204,1410,3.204,1411,2.127,1412,2.127,1413,2.127,1414,1.946,1415,2.127,1416,2.127,1417,1.801,1418,2.127,1419,2.127,1420,2.127,1421,2.127,1422,2.737,1423,4.124,1424,2.127,1425,3.204,1426,2.737,1427,2.737,1428,2.737,1429,2.737,1430,2.737,1431,2.737,1432,4.124,1433,5.523,1434,1.946,1435,2.369,1436,2.737,1437,2.737,1438,2.737,1439,2.737,1440,2.737,1441,3.57,1442,2.369,1443,1.578,1444,1.801,1445,2.737,1446,1.946,1447,1.946,1448,1.578,1449,2.737,1450,2.737,1451,2.737,1452,2.369,1453,4.295,1454,3.204,1455,2.369,1456,2.737,1457,2.737,1458,2.737,1459,2.737,1460,3.855,1461,2.127,1462,2.737,1463,2.737,1464,2.737,1465,2.369,1466,2.737,1467,2.737,1468,2.737,1469,2.737,1470,2.737,1471,2.737,1472,2.737,1473,2.737,1474,4.124,1475,2.737,1476,4.124,1477,2.369,1478,2.127,1479,3.57,1480,2.737,1481,2.737,1482,2.737,1483,2.737,1484,2.737,1485,2.737,1486,2.737,1487,2.737,1488,2.737,1489,2.737,1490,2.369,1491,2.737,1492,2.737,1493,2.127,1494,4.124,1495,2.737,1496,2.737,1497,2.737,1498,2.737,1499,2.737,1500,2.737,1501,2.127,1502,2.737,1503,2.737,1504,2.737,1505,2.737,1506,2.737,1507,2.737,1508,2.737]],["title/additional-documentation/token-refresh.html",[254,0.886,317,0.582,326,0.508,364,1.042]],["body/additional-documentation/token-refresh.html",[15,1.978,17,2.336,35,2.221,36,1.445,38,0.012,114,0.009,115,0.012,116,0.009,119,3.442,163,2.76,202,1.556,223,3.721,231,2.462,254,1.849,279,1.493,295,2.453,304,2.346,305,1.776,310,2.221,313,2.087,358,1.493,364,2.003,365,2.116,380,2.019,381,2.019,382,1.929,393,1.766,464,2.019,465,1.493,473,1.493,650,3.151,730,3.638,763,3.638,867,3.404,875,3.404,876,2.94,1130,3.151,1141,3.151,1142,3.509,1144,4.328,1146,3.721,1183,2.94,1185,3.721,1201,3.721,1209,2.462,1213,3.151,1296,4.007,1326,3.721,1392,3.151,1393,3.404,1394,4.145,1395,4.145,1396,3.721,1397,5.27,1398,3.404,1399,4.145,1400,3.721,1401,4.145,1402,4.145,1403,4.145,1404,3.404,1405,3.721,1406,4.731,1407,3.721,1408,3.721,1409,4.731,1410,4.731,1411,3.721,1412,3.721,1413,3.721,1414,3.404,1415,3.721,1416,3.721,1417,3.151,1418,3.721,1419,3.721,1420,3.721,1421,3.721]],["title/additional-documentation/working-with-httpinterceptors.html",[317,0.582,326,0.508,962,3.014,1509,3.483]],["body/additional-documentation/working-with-httpinterceptors.html",[0,0.261,10,0.922,14,1.714,18,1.186,28,1,38,0.016,41,1.005,55,3.329,62,1.229,63,1.866,68,1.178,72,0.606,84,1.971,92,1.34,103,1.521,114,0.007,115,0.01,116,0.007,126,1.577,127,1.178,195,2.578,196,5.042,200,1.769,202,1.644,203,3.14,204,4.071,205,3.14,206,3.106,208,3.14,209,4.379,210,2.818,211,4.379,213,3.14,214,3.833,215,3.14,216,5.042,217,1.971,227,4.526,228,1.311,229,2.342,230,3.106,231,1.865,232,2.818,233,3.329,234,2.785,235,3.14,236,1.461,239,3.14,242,0.922,243,3.14,244,3.14,245,3.14,246,3.14,247,5.456,248,4.147,249,3.14,252,3.14,254,1.481,267,3.14,268,4.379,270,3.14,281,1.229,283,1.398,284,0.886,285,0.922,311,1.398,338,1.714,351,1.453,358,1.131,365,2.236,382,1.461,416,1.398,419,1.338,421,1.683,439,2.347,588,2.387,605,2.578,608,3.596,614,3.596,615,2.578,619,2.818,620,3.931,773,3.14,901,3.14,1077,3.14,1078,1.769,1086,1.865,1122,3.14,1123,2.818,1177,2.818,1202,2.818,1206,2.578,1248,2.578,1256,4.379,1257,3.14,1258,2.091,1259,2.818,1398,2.578,1452,3.14,1461,2.818,1510,3.627,1511,3.627,1512,3.627,1513,3.14,1514,3.14,1515,3.627,1516,3.627,1517,3.627,1518,3.627,1519,3.627,1520,3.627,1521,3.627,1522,3.627,1523,3.627,1524,4.379,1525,2.387,1526,3.627,1527,3.627,1528,3.627,1529,3.627,1530,3.627,1531,3.627,1532,3.627,1533,3.627,1534,3.14,1535,3.627,1536,2.818,1537,3.627,1538,3.627,1539,3.627,1540,3.627,1541,3.627,1542,3.931,1543,3.627,1544,3.627,1545,3.627,1546,3.627,1547,3.627,1548,3.627]],["title/additional-documentation/callback-after-login.html",[317,0.582,326,0.508,739,1.403,1549,2.706]],["body/additional-documentation/callback-after-login.html",[38,0.016,51,2.188,62,1.91,63,2.08,114,0.011,115,0.013,116,0.011,335,2.976,387,2.492,397,2.751,402,2.281,420,2.492,739,2.713,859,4.381,1106,3.711,1242,4.008,1258,3.25,1353,4.881,1386,3.711,1389,4.008,1549,5.233,1550,5.639,1551,5.639,1552,5.639,1553,5.639,1554,5.639,1555,5.639]],["title/additional-documentation/popup-based-login.html",[317,0.522,326,0.456,347,1.318,739,1.259,913,2.221]],["body/additional-documentation/popup-based-login.html",[17,2.636,18,1.538,38,0.014,114,0.011,115,0.013,116,0.011,281,1.83,293,1.83,295,2.644,301,2.936,310,3.044,341,1.909,343,2.724,347,2.767,364,1.616,382,2.177,415,2.767,437,2.636,466,1.755,772,4.676,854,4.198,887,3.114,910,4.198,946,4.319,965,3.84,1055,4.676,1068,3.555,1078,2.636,1130,3.555,1181,4.198,1187,2.278,1216,3.318,1424,4.198,1455,4.676,1477,4.676,1501,4.198,1556,4.676,1557,5.403,1558,4.676,1559,5.403,1560,5.403,1561,5.403,1562,5.403,1563,4.198,1564,5.403,1565,5.403,1566,5.403,1567,4.198,1568,5.403]],["title/additional-documentation/custom-query-parameters.html",[37,0.827,317,0.522,326,0.456,338,1.058,408,1.381]],["body/additional-documentation/custom-query-parameters.html",[33,2.096,37,1.57,38,0.015,114,0.012,115,0.014,116,0.012,304,2.285,305,1.448,338,2.35,351,1.703,393,2.187,408,2.621,950,4.216,1569,5.133,1570,5.931,1571,5.931,1572,5.931,1573,5.931,1574,5.931,1575,5.931,1576,5.931]],["title/additional-documentation/events.html",[317,0.658,326,0.574,394,1.738]],["body/additional-documentation/events.html",[5,0.736,18,1.031,28,1.214,36,0.95,38,0.015,62,1.491,68,0.736,78,2.147,83,1.43,114,0.009,115,0.011,116,0.009,214,2.896,229,1.555,233,3.794,254,1.119,258,2.536,281,1.953,283,1.696,284,1.408,285,1.119,299,2.391,304,1.696,305,1.074,327,2.041,328,2.041,343,2.222,364,1.924,369,2.675,370,1.945,379,2.431,394,3.212,396,3.286,403,1.945,418,2.041,471,1.372,521,3.54,528,2.702,530,2.702,533,2.702,540,2.702,541,2.702,545,2.702,560,3.809,730,2.391,763,2.391,765,3.128,866,3.133,886,2.702,890,3.419,902,2.896,913,3.128,1068,2.896,1092,3.54,1093,3.54,1147,2.702,1258,2.536,1301,3.128,1386,3.794,1396,4.48,1454,3.419,1461,3.419,1478,3.419,1577,4.401,1578,4.401,1579,4.401,1580,3.809,1581,4.401,1582,4.401,1583,3.809,1584,3.809,1585,4.401,1586,4.401,1587,4.401,1588,4.401,1589,4.401,1590,3.809,1591,4.401,1592,4.401,1593,4.401,1594,4.401,1595,4.401,1596,4.401,1597,5.766,1598,7.407,1599,5.766,1600,4.401,1601,4.401,1602,4.401,1603,4.401,1604,3.809,1605,4.401,1606,4.401,1607,3.809,1608,5.766,1609,5.766,1610,4.401,1611,4.401,1612,4.401,1613,4.401,1614,4.401,1615,4.401]],["title/additional-documentation/routing-with-the-hashstrategy.html",[317,0.582,326,0.508,914,2.138,1271,2.706]],["body/additional-documentation/routing-with-the-hashstrategy.html",[13,3.2,18,1.222,19,4.564,33,1.842,36,1.386,38,0.015,62,1.765,72,0.624,83,1.693,92,1.38,114,0.01,115,0.013,116,0.01,281,1.765,328,2.418,339,2.418,360,2.368,361,2.837,365,2.303,366,2.303,368,2.418,371,2.542,515,4.049,568,4.049,876,3.2,914,3.942,982,4.511,1063,6.023,1086,2.68,1188,3.705,1206,3.705,1237,3.2,1247,3.429,1258,3.004,1266,4.511,1270,3.429,1271,4.988,1434,3.705,1479,6.286,1493,4.049,1501,4.049,1616,4.049,1617,5.212,1618,4.511,1619,6.958,1620,5.212,1621,5.212,1622,5.212,1623,5.212,1624,5.212,1625,5.212,1626,5.212,1627,5.212,1628,5.212,1629,4.049,1630,5.212]],["title/additional-documentation/adapt-id_token-validation.html",[51,1.015,274,1.524,317,0.522,326,0.456,1631,2.704]],["body/additional-documentation/adapt-id_token-validation.html",[11,1.796,12,2.538,30,0.927,38,0.016,51,2.054,59,3.613,60,3.613,61,3.613,62,2.141,67,4.16,68,0.85,73,1.722,78,2.48,82,2.144,84,2.763,109,1.241,114,0.01,115,0.012,116,0.01,272,4.225,274,3.084,279,1.971,281,1.722,283,1.959,284,1.241,285,1.293,287,3.345,311,2.436,393,2.332,411,2.246,418,2.358,419,1.875,422,3.084,433,1.722,434,2.144,438,2.48,472,1.796,473,1.585,598,3.613,600,4.4,760,3.95,1068,3.345,1187,2.144,1261,3.95,1417,3.345,1460,3.95,1536,3.95,1558,4.4,1616,3.95,1631,4.4,1632,5.083,1633,5.083,1634,5.083,1635,5.083,1636,4.4,1637,5.083,1638,4.4,1639,5.083,1640,5.083,1641,4.4,1642,5.083]],["title/additional-documentation/session-checks.html",[317,0.582,326,0.508,765,2.476,886,2.138]],["body/additional-documentation/session-checks.html",[30,0.761,36,1.352,38,0.015,68,0.697,72,0.5,83,1.807,92,1.104,114,0.008,115,0.011,116,0.008,147,1.934,228,1.252,254,1.415,257,3.24,281,1.885,283,1.607,284,1.018,285,1.06,295,2.241,298,2.964,299,3.023,301,2.266,304,1.607,305,1.358,310,2.581,313,1.3,318,2.964,338,1.412,340,1.966,343,2.413,351,1.198,355,2.034,364,2.142,389,1.355,393,1.538,394,1.843,402,1.412,411,1.843,458,1.758,465,1.3,466,1.355,471,1.734,475,1.538,546,3.416,548,1.934,580,2.714,750,2.403,752,2.964,760,3.24,763,3.023,765,5.278,771,4.816,863,3.609,880,3.609,881,2.034,886,3.845,889,2.964,942,2.952,946,2.744,1040,2.964,1086,2.144,1093,2.56,1141,2.744,1147,3.416,1152,2.56,1167,2.266,1181,3.24,1183,3.845,1187,1.758,1189,3.845,1192,3.023,1193,2.403,1196,2.56,1217,2.144,1218,2.144,1226,2.744,1247,2.744,1252,2.964,1362,3.609,1393,2.964,1417,3.661,1441,3.609,1443,2.403,1444,2.744,1448,2.403,1493,3.24,1534,3.609,1604,3.609,1618,3.609,1643,4.169,1644,4.169,1645,4.169,1646,4.169,1647,4.169,1648,4.169,1649,4.169,1650,4.169,1651,4.169,1652,4.169,1653,4.169,1654,3.24,1655,5.564,1656,4.169,1657,5.564,1658,4.169,1659,4.169,1660,4.169,1661,4.169,1662,4.169,1663,4.169,1664,4.169,1665,4.169,1666,4.169,1667,4.169,1668,4.169,1669,4.169]],["title/additional-documentation/server-side-rendering.html",[228,0.703,317,0.522,326,0.456,434,1.318,1670,2.704]],["body/additional-documentation/server-side-rendering.html",[38,0.014,114,0.012,115,0.014,116,0.012,228,1.645,277,5.061,281,1.98,340,2.066,434,3.083,851,5.061,879,3.59,1078,2.852,1084,4.543,1085,4.543,1525,3.847,1542,4.543,1556,5.061,1670,6.328,1671,5.847,1672,5.847,1673,5.061,1674,5.847,1675,5.847,1676,5.847]],["title/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[281,0.75,304,0.853,305,0.541,317,0.37,326,0.323,472,0.782,473,0.69,1187,0.934,1324,1.457]],["body/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[0,0.198,11,1.558,15,1.433,18,1.353,38,0.016,40,0.84,72,0.528,109,1.077,114,0.009,115,0.011,116,0.009,202,1.876,228,1.299,242,1.737,281,1.494,295,1.777,304,1.699,305,1.077,310,2.046,316,2.902,317,0.737,329,1.949,341,1.558,351,1.658,358,1.375,360,1.627,389,2.091,403,1.949,416,1.699,431,1.777,433,1.494,435,1.949,436,1.86,449,2.007,456,1.777,465,1.375,466,2.091,471,1.375,472,2.04,473,1.8,548,2.046,578,3.328,580,2.151,613,2.902,728,3.135,739,2.593,879,2.708,881,2.151,942,2.552,945,2.542,1076,3.135,1078,2.151,1092,2.708,1093,2.708,1152,2.708,1154,3.817,1159,3.427,1167,3.498,1178,2.708,1187,2.435,1192,2.397,1193,2.542,1194,2.542,1208,2.542,1209,2.267,1214,3.545,1217,2.267,1218,2.267,1227,2.902,1237,2.708,1242,3.135,1249,3.427,1272,2.397,1324,2.902,1389,3.135,1392,2.902,1425,3.427,1434,3.135,1443,3.328,1448,2.542,1563,3.427,1654,3.427,1677,3.817,1678,3.135,1679,3.135,1680,4.41,1681,4.41,1682,3.427,1683,3.135,1684,3.427,1685,3.817,1686,3.817,1687,3.817,1688,4.41,1689,4.41,1690,4.41,1691,3.817,1692,3.817,1693,4.41]],["title/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[36,0.478,274,1.08,317,0.37,326,0.323,449,0.69,472,0.782,473,0.69,580,1.08,1694,2.214]],["body/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[18,1.023,30,1.046,38,0.015,64,1.609,68,0.729,72,0.523,92,1.155,114,0.009,115,0.011,116,0.009,147,2.024,228,0.982,242,1.796,274,3.124,279,1.36,281,1.478,283,1.681,284,1.065,285,1.458,345,1.928,349,1.928,351,1.839,360,1.609,365,1.928,366,2.534,389,1.418,419,1.609,433,1.478,449,2.202,458,1.84,465,1.787,466,1.418,471,1.996,472,2.562,473,2.26,475,2.362,580,3.318,598,4.076,739,1.758,750,2.515,881,2.129,942,2.534,950,4.552,1056,3.39,1068,2.871,1147,3.932,1167,3.48,1189,3.932,1192,2.371,1193,2.515,1194,2.515,1195,3.102,1196,2.679,1208,2.515,1209,2.243,1210,2.679,1215,2.871,1216,2.679,1217,2.243,1218,2.243,1267,3.777,1272,2.371,1435,3.777,1443,2.515,1444,2.871,1446,3.102,1447,3.102,1448,2.515,1590,3.777,1695,6.404,1696,4.363,1697,5.887,1698,4.363,1699,4.963,1700,4.363,1701,4.363,1702,4.363,1703,4.363,1704,4.363,1705,4.363,1706,4.363,1707,4.363,1708,4.363,1709,4.363,1710,4.363,1711,4.363,1712,3.777,1713,3.777,1714,4.363]],["title/additional-documentation/using-systemjs.html",[36,0.752,317,0.582,326,0.508,1715,3.014]],["body/additional-documentation/using-systemjs.html",[36,1.167,38,0.016,114,0.011,115,0.013,116,0.011,145,3.555,222,2.506,283,2.833,284,1.795,285,1.797,578,3.114,721,4.665,965,4.665,1093,3.318,1148,4.676,1454,4.198,1715,6.119,1716,5.403,1717,5.403,1718,5.403,1719,5.403,1720,6.563,1721,6.563,1722,5.403,1723,5.403,1724,5.403,1725,5.403,1726,5.403,1727,5.403,1728,5.403,1729,5.403]],["title/additional-documentation/using-implicit-flow.html",[36,0.675,304,1.204,305,0.763,317,0.522,326,0.456]],["body/additional-documentation/using-implicit-flow.html",[0,0.232,30,0.685,36,1.118,38,0.016,39,1.317,46,1.219,68,1.189,72,0.711,84,3.223,103,1.118,109,0.916,114,0.007,115,0.01,116,0.007,127,1.683,147,1.741,202,2.31,228,0.844,231,1.929,234,1.658,242,1.317,272,3.181,279,1.17,281,1.271,283,2.464,284,1.638,285,1.764,293,1.271,302,2.667,303,2.667,304,2.285,305,1.638,309,3.408,313,1.17,316,2.469,317,0.866,341,1.326,351,1.078,358,1.17,360,1.384,380,1.582,381,1.582,389,1.219,392,1.741,433,1.271,448,2.289,449,1.615,465,1.615,466,1.219,471,1.17,475,1.384,548,1.741,578,2.163,580,1.831,612,2.916,739,2.865,750,2.163,779,2.667,881,1.831,942,2.289,945,2.163,1040,2.667,1163,3.248,1167,3.223,1178,2.304,1179,2.916,1187,2.184,1189,3.927,1192,2.039,1193,2.163,1194,2.163,1196,2.304,1208,2.163,1209,1.929,1210,2.304,1215,2.469,1216,2.304,1217,1.929,1218,1.929,1241,2.469,1246,3.248,1247,2.469,1270,2.469,1288,2.916,1296,2.469,1404,2.667,1443,2.163,1444,2.469,1446,2.667,1447,2.667,1448,2.163,1524,3.248,1525,2.469,1584,3.248,1616,2.916,1629,2.916,1638,3.248,1678,4.546,1679,3.682,1730,3.753,1731,3.753,1732,3.753,1733,3.753,1734,3.753,1735,3.753,1736,3.753,1737,5.18,1738,3.753,1739,3.753,1740,3.753,1741,3.753,1742,3.753,1743,3.248,1744,3.753,1745,3.753,1746,3.248,1747,3.248,1748,3.753,1749,5.18,1750,3.753,1751,3.753,1752,3.753]],["title/additional-documentation/using-password-flow.html",[36,0.675,305,0.763,317,0.522,326,0.456,1139,2.428]],["body/additional-documentation/using-password-flow.html",[0,0.183,3,0.494,11,0.956,17,1.994,18,1.382,36,1.493,38,0.016,39,0.688,40,0.515,43,0.879,51,0.879,72,0.49,103,0.584,109,0.66,114,0.005,115,0.008,116,0.005,161,2.102,168,2.315,182,2.905,200,1.32,202,1.784,227,3.176,228,1.395,231,1.391,242,1.253,254,1.637,275,4.752,279,0.843,281,1.669,285,1.039,295,2.375,303,1.923,304,1.042,305,1.758,310,2.547,313,0.843,329,1.806,340,2.19,341,0.956,348,1.255,351,1.693,358,0.843,364,1.223,387,2.177,389,2.014,392,1.255,393,1.508,400,1.723,402,0.916,415,1.141,416,1.575,431,1.09,433,2.342,435,1.195,436,1.141,448,2.426,449,1.837,456,1.09,465,1.536,466,2.153,471,1.274,472,1.94,473,1.711,512,2.341,515,2.102,730,1.47,739,1.647,866,1.47,867,2.905,879,2.51,881,1.994,902,3.242,904,3.538,913,1.923,914,1.661,919,2.905,942,2.177,993,3.538,1040,1.923,1078,2.875,1092,1.661,1106,1.78,1120,3.538,1137,3.176,1139,5.372,1142,1.559,1147,2.51,1160,3.538,1167,3.203,1178,3.025,1183,2.51,1187,2.315,1194,2.356,1198,2.341,1199,5.984,1206,2.905,1207,3.538,1208,2.356,1209,2.101,1213,3.242,1217,2.533,1218,2.533,1230,2.341,1237,1.661,1241,1.78,1242,3.502,1248,1.923,1258,1.559,1270,1.78,1324,3.242,1386,1.78,1414,1.923,1424,3.176,1434,1.923,1443,2.839,1448,2.356,1453,2.341,1460,2.102,1490,2.341,1525,1.78,1536,2.102,1583,2.341,1636,2.341,1641,3.538,1654,3.176,1678,2.905,1679,2.905,1683,2.905,1684,3.176,1685,2.341,1686,2.341,1687,2.341,1746,3.538,1747,3.538,1753,2.705,1754,2.705,1755,2.705,1756,2.705,1757,2.705,1758,2.705,1759,2.705,1760,2.705,1761,2.705,1762,2.341,1763,2.341,1764,2.705,1765,2.705,1766,2.705,1767,4.087,1768,2.705,1769,4.087,1770,4.087,1771,4.087,1772,4.087,1773,4.087,1774,4.087,1775,2.341,1776,2.705,1777,2.705,1778,2.705,1779,2.705,1780,2.705,1781,2.705,1782,2.705,1783,2.705,1784,2.705,1785,4.087,1786,2.705,1787,2.705,1788,2.705,1789,2.705,1790,2.705,1791,4.087,1792,2.705,1793,4.087,1794,2.705,1795,2.705,1796,2.705,1797,2.705,1798,2.705,1799,2.705]],["title/additional-documentation/configure-custom-oauthstorage.html",[317,0.522,326,0.456,338,1.058,439,1.259,1187,1.318]],["body/additional-documentation/configure-custom-oauthstorage.html",[0,0.271,18,1.415,36,1.303,38,0.016,68,1.009,72,0.723,103,1.02,114,0.009,115,0.012,116,0.009,119,2.428,144,3.357,154,2.567,217,2.567,281,1.6,283,1.82,284,1.153,285,1.201,301,2.567,338,2.253,341,1.669,365,2.087,400,2.545,416,1.82,419,1.742,431,2.824,435,3.274,436,2.545,439,2.824,569,3.108,580,3.245,582,3.67,595,3.67,596,3.67,598,3.357,599,4.088,762,4.29,860,3.357,1004,3.67,1052,3.357,1078,2.304,1086,2.428,1175,5.224,1176,5.757,1177,3.67,1178,3.706,1179,3.67,1180,5.224,1187,1.991,1188,4.728,1272,2.567,1301,3.357,1478,3.67,1542,3.67,1800,4.723,1801,4.723,1802,4.088,1803,4.723,1804,6.035,1805,4.723]],["title/additional-documentation/manually-skipping-login-form.html",[317,0.474,326,0.413,739,1.141,1237,1.74,1241,1.864,1806,2.452]],["body/additional-documentation/manually-skipping-login-form.html",[15,1.51,18,1.4,36,1.004,38,0.016,44,1.643,83,1.941,103,1.425,109,1.135,114,0.009,115,0.012,116,0.009,228,1.046,242,1.182,254,1.519,257,3.612,301,2.526,305,1.135,312,3.304,317,0.777,324,2.771,335,2.054,341,1.643,358,1.449,370,2.054,400,1.96,421,2.156,449,1.449,466,1.51,728,3.304,739,1.873,763,2.526,853,4.023,866,2.526,886,2.854,900,4.023,902,3.059,905,4.023,942,2.054,945,2.679,1086,2.39,1092,2.854,1106,3.059,1137,3.612,1183,2.854,1210,2.854,1237,2.854,1241,3.059,1247,3.059,1252,3.304,1549,3.612,1580,4.023,1607,4.023,1629,3.612,1673,4.023,1743,4.023,1806,4.023,1807,5.974,1808,4.648,1809,4.648,1810,4.648,1811,5.974,1812,4.648,1813,5.974,1814,4.648,1815,4.648,1816,4.648,1817,4.648,1818,4.648,1819,4.648,1820,4.648,1821,4.648,1822,4.648,1823,4.648,1824,4.648,1825,4.648,1826,4.648,1827,4.648]],["title/additional-documentation/original-config-api.html",[317,0.522,326,0.456,578,1.801,1214,1.919,1392,2.056]],["body/additional-documentation/original-config-api.html",[0,0.185,15,1.341,18,0.968,30,0.753,35,1.915,38,0.016,39,1.05,72,0.495,109,1.008,111,2.716,114,0.008,115,0.011,116,0.008,200,2.014,202,1.795,228,1.402,242,1.584,254,1.05,274,3.039,279,1.287,281,1.398,284,1.008,285,1.05,295,1.663,310,1.915,314,2.934,317,0.69,329,1.824,351,1.587,358,1.723,360,1.523,387,1.824,389,2.024,403,1.824,416,2.129,433,1.398,449,1.942,465,1.287,466,2.162,471,1.287,472,2.351,473,2.074,475,1.523,578,3.835,580,2.014,613,2.716,730,2.243,739,2.51,866,2.243,879,3.393,881,2.014,890,3.207,914,2.535,942,1.824,945,2.379,1076,2.934,1093,2.535,1097,3.573,1106,2.716,1159,3.207,1167,3.386,1178,3.393,1187,1.741,1192,2.243,1193,2.379,1194,2.379,1195,2.934,1208,2.379,1209,2.122,1210,2.535,1214,4.086,1215,2.716,1216,2.535,1217,2.122,1218,2.122,1227,2.716,1249,3.207,1272,2.243,1383,3.207,1389,2.934,1392,3.636,1393,2.934,1425,4.294,1443,2.379,1444,2.716,1446,2.934,1447,2.934,1448,2.379,1513,3.573,1514,3.573,1563,3.207,1677,3.573,1678,2.934,1679,2.934,1682,3.207,1683,2.934,1684,3.207,1691,3.573,1692,3.573,1697,4.783,1699,3.573,1712,3.573,1713,3.573,1762,3.573,1763,3.573,1775,3.573,1828,4.128,1829,4.128,1830,4.128,1831,4.128,1832,4.128,1833,4.128,1834,4.128,1835,4.128,1836,4.128,1837,4.128,1838,4.128]],["title/additional-documentation/authorization-servers.html",[317,0.582,326,0.508,1236,2.706,1839,3.014]],["body/additional-documentation/authorization-servers.html",[36,1.266,38,0.014,114,0.012,115,0.014,116,0.012,284,1.431,389,1.905,402,2.335,458,2.472,471,1.828,752,4.168,887,3.379,1136,5.075,1149,5.075,1236,5.687,1400,4.556,1442,5.075,1525,3.858,1567,4.556,1802,5.075,1840,5.863,1841,6.892,1842,5.863,1843,5.863,1844,5.863]],["title/additional-documentation/authorization-servers/using-identity-server.html",[36,0.675,228,0.703,317,0.522,326,0.456,942,1.381]],["body/additional-documentation/authorization-servers/using-identity-server.html",[36,1.322,38,0.014,114,0.012,115,0.014,116,0.012,228,1.59,402,2.074,887,3.53,942,3.124,1078,2.987,1157,4.353,1226,4.03]],["title/additional-documentation/authorization-servers/using-keycloak.html",[36,0.752,317,0.582,326,0.508,1046,2.706]],["body/additional-documentation/authorization-servers/using-keycloak.html",[36,1.33,38,0.014,114,0.012,115,0.014,116,0.012,402,2.087,887,3.551,1046,5.511,1078,3.005,1157,4.379,1226,4.054]],["title/additional-documentation/authorization-servers/auth0.html",[317,0.658,326,0.574,1049,3.056]],["body/additional-documentation/authorization-servers/auth0.html",[5,0.765,18,1.386,36,1.415,37,1.212,38,0.015,39,1.164,41,0.909,68,0.765,72,0.548,92,1.212,114,0.009,115,0.012,116,0.009,147,2.123,254,1.666,283,2.279,284,1.444,285,1.504,295,1.844,313,1.844,317,0.765,351,1.314,364,1.769,402,1.55,415,1.93,419,1.688,433,1.55,449,1.426,456,2.383,465,1.426,471,1.426,475,1.688,548,2.743,581,5.119,688,2.638,750,2.638,755,5.119,826,3.556,866,2.487,881,2.232,882,3.556,887,2.638,919,4.204,945,3.409,950,3.253,1049,5.382,1052,3.253,1078,2.232,1086,2.353,1088,3.556,1142,2.638,1147,3.632,1152,2.81,1157,3.253,1187,2.494,1189,4.024,1192,2.487,1196,2.81,1213,3.011,1214,2.81,1217,2.353,1218,2.353,1226,3.011,1227,3.011,1259,3.556,1383,3.556,1465,3.961,1567,4.595,1569,3.961,1682,3.556,1683,3.253,1839,3.961,1845,4.576,1846,4.576,1847,4.576,1848,5.914,1849,4.576,1850,4.576,1851,4.576,1852,4.576,1853,4.576,1854,4.576,1855,4.576,1856,4.576,1857,4.576,1858,5.914,1859,5.914,1860,4.576,1861,4.576,1862,4.576,1863,4.576,1864,4.576]],["title/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[317,0.474,326,0.413,1079,2.201,1080,2.201,1081,2.014,1082,2.201]],["body/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[36,1.501,38,0.014,114,0.012,115,0.014,116,0.012,281,2.015,326,0.867,1076,4.228,1079,5.721,1080,4.621,1081,4.228,1082,5.4,1083,5.148,1084,5.4,1085,5.4,1086,3.058,1087,5.148,1088,4.621]]],"invertedIndex":[["",{"_index":38,"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/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":163,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.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":800,"title":{},"body":{"changelog.html":{}}}],["0.1.4",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1021,"title":{},"body":{"dependencies.html":{}}}],["0.33",{"_index":1419,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["0.43.0",{"_index":1018,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":1416,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["026dcb3",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["07bb62d",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["0c0a4a7",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["0f03d39",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":650,"title":{},"body":{"injectables/UrlHelperService.html":{},"overview.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["1.0",{"_index":1647,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["1.3.0",{"_index":1006,"title":{},"body":{"dependencies.html":{}}}],["1.4.3",{"_index":1000,"title":{},"body":{"dependencies.html":{}}}],["1.5.1",{"_index":1003,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":1075,"title":{},"body":{"index.html":{}}}],["10.0.0",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["10.0.3",{"_index":1001,"title":{},"body":{"dependencies.html":{}}}],["10.2.0",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["10.3.0",{"_index":1007,"title":{},"body":{"dependencies.html":{}}}],["10.x",{"_index":1099,"title":{},"body":{"index.html":{}}}],["1061",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":911,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12",{"_index":1062,"title":{},"body":{"index.html":{}}}],["12.0.0",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["12.x",{"_index":1098,"title":{},"body":{"index.html":{}}}],["13",{"_index":1094,"title":{},"body":{"index.html":{}}}],["13.0.1",{"_index":988,"title":{},"body":{"dependencies.html":{}}}],["13.x",{"_index":1095,"title":{},"body":{"index.html":{}}}],["132c624",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["16",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["169d749",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["1816e7b",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["1_0.html#tokenendpoint",{"_index":460,"title":{},"body":{"classes/LoginOptions.html":{},"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":467,"title":{},"body":{"classes/LoginOptions.html":{},"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":906,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":96,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["2.0",{"_index":1185,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["2.0.0",{"_index":1016,"title":{},"body":{"dependencies.html":{}}}],["2.1",{"_index":1040,"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":1010,"title":{},"body":{"dependencies.html":{}}}],["2.9.2",{"_index":997,"title":{},"body":{"dependencies.html":{}}}],["2/oidc",{"_index":1274,"title":{},"body":{"index.html":{}}}],["20",{"_index":1304,"title":{},"body":{"index.html":{},"overview.html":{},"additional-documentation/silent-refresh.html":{}}}],["20.000",{"_index":1507,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["2017",{"_index":1312,"title":{},"body":{"license.html":{}}}],["2020",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["2204c5a",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["23",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["256",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["28",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["2nd",{"_index":1862,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["3.1",{"_index":1510,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["3.4.1",{"_index":1005,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["31c6273",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["38c7c3f",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["3d331f2",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["3f44eca",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":880,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["4.3",{"_index":1061,"title":{},"body":{"index.html":{}}}],["4.x",{"_index":1105,"title":{},"body":{"index.html":{}}}],["401",{"_index":1518,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["403",{"_index":1519,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["40f5ae5",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["415e053",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["4202",{"_index":1170,"title":{},"body":{"index.html":{}}}],["4202]/index.html",{"_index":1171,"title":{},"body":{"index.html":{}}}],["4202]/silent",{"_index":1172,"title":{},"body":{"index.html":{}}}],["429ed2c",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["4607d55",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["4711",{"_index":1574,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["4bf8901",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["4def1c1",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["4th",{"_index":1447,"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":1373,"title":{},"body":{"overview.html":{}}}],["5.x",{"_index":1108,"title":{},"body":{"index.html":{}}}],["51e438a",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["58a8132",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["58c6354",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["59f65d2",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["5c5288c",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":1104,"title":{},"body":{"index.html":{}}}],["6.5.3",{"_index":1011,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1013,"title":{},"body":{"dependencies.html":{}}}],["61sdfs.eu.auth0.com",{"_index":1849,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["61sdfs.eu.auth0.com/v2/logout",{"_index":1853,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["65c2b95",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["678ff95",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["687",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["7",{"_index":1102,"title":{},"body":{"index.html":{}}}],["7.x",{"_index":1103,"title":{},"body":{"index.html":{}}}],["7009",{"_index":940,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["70fd826",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["71b705c",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["728",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["735",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["741",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["75",{"_index":1407,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["755",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["773",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["77cb37a",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["7a15194",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["7eac8ae",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["8",{"_index":898,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["8.0.12",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["8.0.19",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["8.x",{"_index":1101,"title":{},"body":{"index.html":{}}}],["808969225",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["825",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["84d95a7",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["8ab853b",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["8fa99ff",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":300,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["9.0.0",{"_index":1002,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["9.1.0",{"_index":941,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["9.2",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["9.2.0",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["9.2.1",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["9.2.2",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["9.3.0",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["9.x",{"_index":1100,"title":{},"body":{"index.html":{}}}],["92ee76d",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["93902a5",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["970",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["972",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["9761bad",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["9]{3",{"_index":107,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["9e257d0",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["9e95c73",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["_throw(err",{"_index":1529,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["a021627fd9d3the",{"_index":1674,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["a05bd8a",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1272,"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":150,"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":735,"title":{},"body":{"changelog.html":{}}}],["access",{"_index":902,"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":938,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["account",{"_index":1846,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["acr_values_supported",{"_index":487,"title":{},"body":{"classes/LoginOptions.html":{},"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":1362,"title":{},"body":{"license.html":{},"additional-documentation/session-checks.html":{}}}],["activate",{"_index":1655,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["activated",{"_index":1648,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["active",{"_index":1080,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["actual",{"_index":342,"title":{},"body":{"classes/LoginOptions.html":{},"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":1082,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["adapt",{"_index":1631,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["add",{"_index":762,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["added",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["adding",{"_index":1718,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["addition",{"_index":1652,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["additional",{"_index":326,"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":1707,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["adjust",{"_index":1411,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["advanced",{"_index":1465,"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":181,"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":152,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aliases",{"_index":1375,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["alice/alice",{"_index":1165,"title":{},"body":{"index.html":{}}}],["align",{"_index":1182,"title":{},"body":{"index.html":{}}}],["allow",{"_index":875,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["allowedurls",{"_index":614,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["allows",{"_index":666,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["already",{"_index":13,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["alternative",{"_index":1449,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["although",{"_index":1770,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ambient",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["analyzing",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1332,"title":{},"body":{"license.html":{}}}],["angular",{"_index":283,"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":987,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":584,"title":{},"body":{"modules/OAuthModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":217,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.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":989,"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":990,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":991,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":992,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":995,"title":{},"body":{"dependencies.html":{}}}],["another",{"_index":1434,"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":174,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["anymore",{"_index":405,"title":{},"body":{"classes/LoginOptions.html":{},"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":1803,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["api",{"_index":1214,"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":1854,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["app",{"_index":945,"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":1850,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["app.component.html",{"_index":1738,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["app/home.html",{"_index":1742,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["appcomponent",{"_index":1178,"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":1611,"title":{},"body":{"additional-documentation/events.html":{}}}],["application",{"_index":309,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["applications",{"_index":318,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["appmodule",{"_index":1180,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["approach",{"_index":1440,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["approutermodule",{"_index":1623,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["arbitrary",{"_index":1471,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["argument",{"_index":1287,"title":{},"body":{"index.html":{}}}],["arising",{"_index":1365,"title":{},"body":{"license.html":{}}}],["arr",{"_index":1037,"title":{},"body":{"miscellaneous/functions.html":{}}}],["array",{"_index":615,"title":{},"body":{"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":1676,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["asset",{"_index":1489,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["assets",{"_index":1492,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["associated",{"_index":1321,"title":{},"body":{"license.html":{}}}],["asstring",{"_index":91,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["assumes",{"_index":1158,"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":373,"title":{},"body":{"classes/LoginOptions.html":{},"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":1472,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["audience",{"_index":1855,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth",{"_index":389,"title":{},"body":{"classes/LoginOptions.html":{},"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":1734,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["auth0",{"_index":1049,"title":{"additional-documentation/authorization-servers/auth0.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["auth0's",{"_index":1856,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth_config",{"_index":1378,"title":{},"body":{"miscellaneous/variables.html":{}}}],["authcodeflowconfig",{"_index":1190,"title":{},"body":{"index.html":{}}}],["authconfig",{"_index":1189,"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":1673,"title":{},"body":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["authentication",{"_index":1303,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["authorization",{"_index":1839,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["authorization_endpoint",{"_index":476,"title":{},"body":{"classes/LoginOptions.html":{},"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":1841,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["authors",{"_index":1355,"title":{},"body":{"license.html":{}}}],["authstorage",{"_index":1541,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["automate",{"_index":1253,"title":{},"body":{"index.html":{}}}],["automatic",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1141,"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":1301,"title":{},"body":{"index.html":{},"modules.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["avoid",{"_index":371,"title":{},"body":{"classes/LoginOptions.html":{},"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":981,"title":{},"body":{"changelog.html":{}}}],["azure",{"_index":1079,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["b",{"_index":161,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["b486546",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["b64decodeunicode",{"_index":1024,"title":{},"body":{"miscellaneous/functions.html":{}}}],["b64decodeunicode(str",{"_index":1032,"title":{},"body":{"miscellaneous/functions.html":{}}}],["back",{"_index":1563,"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":1045,"title":{},"body":{"index.html":{}}}],["backwards",{"_index":1830,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["base",{"_index":1699,"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":1034,"title":{},"body":{"miscellaneous/functions.html":{}}}],["based",{"_index":913,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["bbff95b",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["bearer",{"_index":267,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["beaugrand",{"_index":1717,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["beeing",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["before",{"_index":730,"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":298,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["behavior",{"_index":1844,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["below",{"_index":1768,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["best",{"_index":380,"title":{},"body":{"classes/LoginOptions.html":{},"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":1755,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["between",{"_index":1414,"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":966,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1660,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["blocked",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["blockers",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["blog",{"_index":1084,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["bob/bob",{"_index":1164,"title":{},"body":{"index.html":{}}}],["boolean",{"_index":236,"title":{},"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":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["bootstrap",{"_index":1004,"title":{},"body":{"dependencies.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bootstrapping",{"_index":1229,"title":{},"body":{"index.html":{}}}],["breaking",{"_index":1278,"title":{},"body":{"index.html":{}}}],["brecht",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1369,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":993,"title":{},"body":{"dependencies.html":{},"additional-documentation/using-password-flow.html":{}}}],["browsers",{"_index":1156,"title":{},"body":{"index.html":{}}}],["buffer",{"_index":140,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["bug",{"_index":695,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bugfixes",{"_index":1119,"title":{},"body":{"index.html":{}}}],["build",{"_index":860,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bump",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["bundle",{"_index":320,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bundling",{"_index":1067,"title":{},"body":{"index.html":{}}}],["button",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["bytearray",{"_index":143,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["bytearray].map(value",{"_index":187,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["c",{"_index":1311,"title":{},"body":{"license.html":{}}}],["c2b2753",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["c799ead",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["c9a2c55",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["ca435c0",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["cae715e",{"_index":802,"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":1296,"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":1549,"title":{"additional-documentation/callback-after-login.html":{}},"body":{"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["called",{"_index":387,"title":{},"body":{"classes/LoginOptions.html":{},"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":1252,"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":609,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"changelog.html":{}}}],["cand",{"_index":180,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["candhash",{"_index":172,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["care",{"_index":1398,"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":297,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["carlier",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["carry",{"_index":1812,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["case",{"_index":1258,"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":1460,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["catch",{"_index":1265,"title":{},"body":{"index.html":{}}}],["catch(err",{"_index":1498,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["catcherror",{"_index":220,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["catcherror((_",{"_index":260,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["change",{"_index":1279,"title":{},"body":{"index.html":{}}}],["changelog",{"_index":690,"title":{"changelog.html":{}},"body":{"changelog.html":{}}}],["changes",{"_index":863,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["charactes",{"_index":667,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["charge",{"_index":1316,"title":{},"body":{"license.html":{}}}],["check",{"_index":370,"title":{},"body":{"classes/LoginOptions.html":{},"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":481,"title":{},"body":{"classes/LoginOptions.html":{},"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":886,"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":235,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["chore",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["chore(deps",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["chore(release",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["circular",{"_index":1533,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["cites",{"_index":1771,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["cjs",{"_index":1726,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["claim",{"_index":1358,"title":{},"body":{"license.html":{}}}],["claim_types_supported",{"_index":499,"title":{},"body":{"classes/LoginOptions.html":{},"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":448,"title":{},"body":{"classes/LoginOptions.html":{},"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":1747,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims_parameter_supported",{"_index":501,"title":{},"body":{"classes/LoginOptions.html":{},"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":500,"title":{},"body":{"classes/LoginOptions.html":{},"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/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/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":{}}}],["clear",{"_index":401,"title":{},"body":{"classes/LoginOptions.html":{},"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":1233,"title":{},"body":{"index.html":{}}}],["cli",{"_index":1487,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cli.json",{"_index":1491,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["click",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":433,"title":{},"body":{"classes/LoginOptions.html":{},"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":1858,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["clientid",{"_index":1196,"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":1166,"title":{},"body":{"index.html":{}}}],["closes",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["code",{"_index":313,"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":847,"title":{},"body":{"changelog.html":{}}}],["code_error",{"_index":536,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["codeflow",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["codes",{"_index":1517,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["come",{"_index":1442,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["commands",{"_index":1133,"title":{},"body":{"index.html":{}}}],["commit",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["commonjs",{"_index":1066,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":583,"title":{},"body":{"modules/OAuthModule.html":{}}}],["communication",{"_index":1502,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["community",{"_index":1055,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["compat",{"_index":1012,"title":{},"body":{"dependencies.html":{}}}],["compatibility",{"_index":1831,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["compatible",{"_index":417,"title":{},"body":{"classes/LoginOptions.html":{},"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":1429,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["complex",{"_index":1482,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["compliant",{"_index":1840,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["compodoc/compodoc",{"_index":1134,"title":{},"body":{"index.html":{}}}],["component",{"_index":1678,"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":1298,"title":{},"body":{"index.html":{}}}],["conditions",{"_index":1339,"title":{},"body":{"license.html":{}}}],["config",{"_index":578,"title":{"additional-documentation/original-config-api.html":{}},"body":{"modules/OAuthModule.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":1147,"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":1187,"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":779,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["configuring",{"_index":1404,"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":458,"title":{},"body":{"classes/LoginOptions.html":{},"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":1366,"title":{},"body":{"license.html":{}}}],["considered",{"_index":1291,"title":{},"body":{"index.html":{}}}],["consistent",{"_index":1712,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["console",{"_index":418,"title":{},"body":{"classes/LoginOptions.html":{},"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":1554,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.debug('given_name",{"_index":1793,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('hash",{"_index":178,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["console.debug('ok",{"_index":1799,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('refresh",{"_index":1496,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.debug('state",{"_index":1390,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["console.debug('your",{"_index":1668,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["console.debug(context",{"_index":1555,"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":1499,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.error(err",{"_index":323,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["console.error(event",{"_index":1594,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.log(e));or",{"_index":1586,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.warn(event",{"_index":1595,"title":{},"body":{"additional-documentation/events.html":{}}}],["const",{"_index":147,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.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":{}}}],["constructor",{"_index":200,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.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(oauthservice",{"_index":201,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["constructor(private",{"_index":1679,"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":552,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["constructor(type",{"_index":524,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["contain",{"_index":1116,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1629,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["context",{"_index":1551,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["contract",{"_index":1363,"title":{},"body":{"license.html":{}}}],["contribute",{"_index":1127,"title":{},"body":{"index.html":{}}}],["contributer",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["contributers",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["contribution",{"_index":1557,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["contributions",{"_index":1121,"title":{},"body":{"index.html":{}}}],["contributors",{"_index":1309,"title":{},"body":{"index.html":{}}}],["control",{"_index":1808,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["controls",{"_index":406,"title":{},"body":{"classes/LoginOptions.html":{},"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":1222,"title":{},"body":{"index.html":{}}}],["cookie",{"_index":1437,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cookies",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["copied",{"_index":1486,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["copies",{"_index":1334,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1319,"title":{},"body":{"license.html":{}}}],["copying",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["copyright",{"_index":1310,"title":{},"body":{"license.html":{}}}],["core",{"_index":459,"title":{},"body":{"classes/LoginOptions.html":{},"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":706,"title":{},"body":{"changelog.html":{}}}],["corrupted",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1864,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["cought",{"_index":1528,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["counterparts",{"_index":1289,"title":{},"body":{"index.html":{}}}],["create",{"_index":437,"title":{},"body":{"classes/LoginOptions.html":{},"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":1090,"title":{},"body":{"index.html":{}}}],["createdefaultlogger",{"_index":592,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["createdefaultstorage",{"_index":593,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["creates",{"_index":1532,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["credentials",{"_index":1788,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["credits",{"_index":1041,"title":{},"body":{"index.html":{}}}],["critical",{"_index":1118,"title":{},"body":{"index.html":{}}}],["cross",{"_index":1484,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["crypto",{"_index":151,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["current",{"_index":1183,"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":823,"title":{},"body":{"changelog.html":{}}}],["custom",{"_index":338,"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":330,"title":{},"body":{"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":1800,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customparameters",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["customqueryparams",{"_index":1569,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["customredirecturi",{"_index":331,"title":{},"body":{"classes/LoginOptions.html":{},"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":616,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["cycle",{"_index":1112,"title":{},"body":{"index.html":{}}}],["d",{"_index":160,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{}}}],["da16494",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1359,"title":{},"body":{"license.html":{}}}],["daniel",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":168,"title":{},"body":{"injectables/DefaultHashHandler.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":{},"additional-documentation/using-password-flow.html":{}}}],["date",{"_index":123,"title":{},"body":{"classes/DateTimeProvider.html":{},"modules/OAuthModule.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":{},"modules/OAuthModule.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{}}}],["datetimeprovider:10",{"_index":637,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["datetimeprovider:14",{"_index":636,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["deal",{"_index":1323,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1367,"title":{},"body":{"license.html":{}}}],["debug",{"_index":559,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["debug(message",{"_index":424,"title":{},"body":{"classes/LoginOptions.html":{},"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":1582,"title":{},"body":{"additional-documentation/events.html":{}}}],["decide",{"_index":1642,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["declarations",{"_index":596,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["decodekey",{"_index":670,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodekey(k",{"_index":674,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(hash",{"_index":647,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["decodeuricomponent(k",{"_index":686,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(v",{"_index":687,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeutf8",{"_index":1028,"title":{},"body":{"miscellaneous/functions.html":{}}}],["decodeutf8(s",{"_index":155,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["decodevalue",{"_index":671,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodevalue(v",{"_index":677,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["default",{"_index":365,"title":{},"body":{"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":1727,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["defaulthashhandler",{"_index":131,"title":{"injectables/DefaultHashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"modules/OAuthModule.html":{}}}],["defaultoauthinterceptor",{"_index":195,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["defaults",{"_index":1445,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["define",{"_index":1488,"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/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":383,"title":{},"body":{"classes/LoginOptions.html":{},"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":1651,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["demand",{"_index":1120,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demands",{"_index":1198,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demo",{"_index":881,"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":1552,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["dep",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["dependancy",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":986,"title":{"dependencies.html":{}},"body":{"dependencies.html":{},"overview.html":{}}}],["dependency",{"_index":311,"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":1224,"title":{},"body":{"index.html":{}}}],["deprecated",{"_index":392,"title":{},"body":{"classes/LoginOptions.html":{},"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":1721,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["described",{"_index":1424,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["describes",{"_index":1828,"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":1796,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["details",{"_index":890,"title":{},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/original-config-api.html":{}}}],["detects",{"_index":388,"title":{},"body":{"classes/LoginOptions.html":{},"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":1590,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["directed",{"_index":1824,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["directly",{"_index":1248,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["directory",{"_index":1081,"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":368,"title":{},"body":{"classes/LoginOptions.html":{},"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":825,"title":{},"body":{"changelog.html":{}}}],["disabled",{"_index":1602,"title":{},"body":{"additional-documentation/events.html":{}}}],["disablenoncecheck",{"_index":332,"title":{},"body":{"classes/LoginOptions.html":{},"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":333,"title":{},"body":{"classes/LoginOptions.html":{},"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":472,"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":531,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["discovery_document_loaded",{"_index":528,"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":532,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["display",{"_index":1243,"title":{},"body":{"index.html":{}}}],["display_values_supported",{"_index":498,"title":{},"body":{"classes/LoginOptions.html":{},"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":404,"title":{},"body":{"classes/LoginOptions.html":{},"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":1330,"title":{},"body":{"license.html":{}}}],["docs",{"_index":889,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["docs(readme",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":473,"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":1052,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["documentation/refreshing",{"_index":1263,"title":{},"body":{"index.html":{}}}],["documentation/using",{"_index":1276,"title":{},"body":{"index.html":{}}}],["documented",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["doesn't",{"_index":1693,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["doing",{"_index":385,"title":{},"body":{"classes/LoginOptions.html":{},"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":1485,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["domains",{"_index":1705,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["don't",{"_index":1242,"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":1834,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["draft",{"_index":1184,"title":{},"body":{"index.html":{}}}],["dummy",{"_index":275,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["dummyclientsecret",{"_index":1207,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["during",{"_index":1478,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["dynamic",{"_index":994,"title":{},"body":{"dependencies.html":{}}}],["e",{"_index":182,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["e.g",{"_index":1483,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["e.type",{"_index":257,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["e2599e0",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["e2e",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["e89aa6d",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":1115,"title":{},"body":{"index.html":{}}}],["ease",{"_index":1146,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["easier",{"_index":1427,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["easiest",{"_index":1535,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["edge",{"_index":1463,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["elements",{"_index":999,"title":{},"body":{"dependencies.html":{}}}],["email",{"_index":1218,"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":1688,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["encode",{"_index":1297,"title":{},"body":{"index.html":{}}}],["encodekey",{"_index":672,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodekey(k",{"_index":680,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encoder",{"_index":164,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"dependencies.html":{}}}],["encoder.encode(valuetohash",{"_index":169,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodeuricomponent",{"_index":1286,"title":{},"body":{"index.html":{}}}],["encodeuricomponent(k",{"_index":684,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeuricomponent(v",{"_index":685,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeutf8",{"_index":1030,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(arr",{"_index":1036,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(fsha256(decodeutf8(valuetohash",{"_index":173,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodevalue",{"_index":673,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodevalue(v",{"_index":682,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encounter",{"_index":1597,"title":{},"body":{"additional-documentation/events.html":{}}}],["end",{"_index":1088,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["end_session_endpoint",{"_index":482,"title":{},"body":{"classes/LoginOptions.html":{},"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":456,"title":{},"body":{"classes/LoginOptions.html":{},"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":1697,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["endpont",{"_index":1781,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ends",{"_index":1649,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["enforce",{"_index":1203,"title":{},"body":{"index.html":{}}}],["enhancements",{"_index":1125,"title":{},"body":{"index.html":{}}}],["ensure",{"_index":1251,"title":{},"body":{"index.html":{}}}],["ensures",{"_index":1696,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["enter",{"_index":1753,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["enters",{"_index":1140,"title":{},"body":{"index.html":{}}}],["enum",{"_index":1614,"title":{},"body":{"additional-documentation/events.html":{}}}],["environment",{"_index":1060,"title":{},"body":{"index.html":{}}}],["environments",{"_index":377,"title":{},"body":{"classes/LoginOptions.html":{},"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":964,"title":{},"body":{"changelog.html":{}}}],["err",{"_index":294,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"miscellaneous/variables.html":{}}}],["err));when",{"_index":1500,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["error",{"_index":229,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.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":{},"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":429,"title":{},"body":{"classes/LoginOptions.html":{},"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":203,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["errors",{"_index":1514,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["escapedkey",{"_index":657,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["escapedvalue",{"_index":658,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["esm",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["etc",{"_index":1176,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["event",{"_index":763,"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":394,"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":1615,"title":{},"body":{"additional-documentation/events.html":{}}}],["eventtype",{"_index":525,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["example",{"_index":1086,"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":1157,"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":1228,"title":{},"body":{"index.html":{}}}],["existing",{"_index":1239,"title":{},"body":{"index.html":{}}}],["expected",{"_index":1603,"title":{},"body":{"additional-documentation/events.html":{}}}],["expects",{"_index":1857,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["experience",{"_index":1842,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["expired",{"_index":1797,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["expires",{"_index":1144,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["expires_in",{"_index":463,"title":{},"body":{"classes/LoginOptions.html":{},"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":900,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["explicitly",{"_index":1641,"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/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":597,"title":{},"body":{"modules/OAuthModule.html":{}}}],["express",{"_index":1346,"title":{},"body":{"license.html":{}}}],["extend",{"_index":1805,"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":799,"title":{},"body":{"changelog.html":{}}}],["extensive",{"_index":1588,"title":{},"body":{"additional-documentation/events.html":{}}}],["extraction",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["f42f943",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["f5bd96c",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["fact",{"_index":1430,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["factor",{"_index":1412,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["factories",{"_index":594,"title":{},"body":{"modules/OAuthModule.html":{}}}],["factory",{"_index":144,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["fail",{"_index":1709,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["fails",{"_index":1694,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{}}],["fall",{"_index":1562,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["fallback",{"_index":1481,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["false",{"_index":366,"title":{},"body":{"classes/LoginOptions.html":{},"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":1426,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["fast",{"_index":149,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"dependencies.html":{}}}],["fb3afe4",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["feat(oauth",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":746,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["feel",{"_index":1122,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fetch",{"_index":1230,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["fetching",{"_index":1785,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ff7d1d9",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["fhash",{"_index":170,"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/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":1322,"title":{},"body":{"license.html":{}}}],["filter",{"_index":221,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["filter((e",{"_index":256,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["finally",{"_index":1480,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["find",{"_index":1383,"title":{},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["fine",{"_index":1268,"title":{},"body":{"index.html":{}}}],["fired",{"_index":1406,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["first",{"_index":1210,"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":1351,"title":{},"body":{"license.html":{}}}],["fix",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["fix(lib",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["fixed",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":696,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["flag",{"_index":374,"title":{},"body":{"classes/LoginOptions.html":{},"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":1736,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["flow",{"_index":305,"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":1277,"title":{},"body":{"index.html":{}}}],["flow.md",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["flows",{"_index":348,"title":{},"body":{"classes/LoginOptions.html":{},"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":743,"title":{},"body":{"changelog.html":{}}}],["folder",{"_index":1129,"title":{},"body":{"index.html":{}}}],["followed",{"_index":353,"title":{},"body":{"classes/LoginOptions.html":{},"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":358,"title":{},"body":{"classes/LoginOptions.html":{},"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":1802,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers.html":{}}}],["for(var",{"_index":1467,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["form",{"_index":1241,"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":1725,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["former",{"_index":1634,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["forroot",{"_index":574,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forroot(config",{"_index":575,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forward",{"_index":1473,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["forwards",{"_index":1235,"title":{},"body":{"index.html":{}}}],["found",{"_index":1542,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["foundation",{"_index":1186,"title":{},"body":{"index.html":{}}}],["four",{"_index":1211,"title":{},"body":{"index.html":{}}}],["fragment",{"_index":339,"title":{},"body":{"classes/LoginOptions.html":{},"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":1123,"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":171,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["full",{"_index":1613,"title":{},"body":{"additional-documentation/events.html":{}}}],["function",{"_index":154,"title":{},"body":{"injectables/DefaultHashHandler.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":1023,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":1337,"title":{},"body":{"license.html":{}}}],["further",{"_index":1150,"title":{},"body":{"index.html":{}}}],["g",{"_index":919,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["geheim",{"_index":1774,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then",{"_index":1795,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then((resp",{"_index":1790,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["general",{"_index":1200,"title":{},"body":{"index.html":{}}}],["generate",{"_index":1132,"title":{},"body":{"index.html":{}}}],["gethashfragmentparams",{"_index":640,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["gethashfragmentparams(customhashfragment",{"_index":642,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["getitem",{"_index":505,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["getitem(key",{"_index":440,"title":{},"body":{"classes/LoginOptions.html":{},"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":846,"title":{},"body":{"changelog.html":{}}}],["getting",{"_index":688,"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":700,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1503,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["go",{"_index":1464,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["gone",{"_index":1609,"title":{},"body":{"additional-documentation/events.html":{}}}],["google",{"_index":1702,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["grant",{"_index":755,"title":{},"body":{"changelog.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["grant_types_supported",{"_index":489,"title":{},"body":{"classes/LoginOptions.html":{},"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":1315,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1368,"title":{},"body":{"modules.html":{}}}],["great",{"_index":1556,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{}}}],["guard",{"_index":905,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["guards",{"_index":1058,"title":{},"body":{"index.html":{}}}],["guide",{"_index":1384,"title":{},"body":{"additional-documentation/getting-started.html":{}}}],["guidelines",{"_index":869,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["half",{"_index":1418,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["hallo",{"_index":1749,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["handle",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["handle(req",{"_index":250,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["handleerror",{"_index":618,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["handleerror(err",{"_index":619,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler",{"_index":230,"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":517,"title":{},"body":{"classes/NullValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{}}}],["handler.ts:12",{"_index":271,"title":{},"body":{"classes/HashHandler.html":{}}}],["handler.ts:20",{"_index":663,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:25",{"_index":288,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["handler.ts:27",{"_index":662,"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":626,"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":518,"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":1512,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["hash",{"_index":33,"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":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hash.indexof",{"_index":648,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(1",{"_index":652,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(questionmarkposition",{"_index":651,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hashalg",{"_index":85,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["hasharray",{"_index":166,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashhandler",{"_index":153,"title":{"classes/HashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{}}}],["hashing",{"_index":1042,"title":{},"body":{"index.html":{}}}],["hashlocationstrategy",{"_index":1065,"title":{},"body":{"index.html":{}}}],["hashstrategy",{"_index":1271,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hashstring",{"_index":175,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hasreceivedtokens",{"_index":1811,"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":268,"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",{"_index":587,"title":{},"body":{"modules/OAuthModule.html":{}}}],["helper.service.ts",{"_index":639,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:25",{"_index":645,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:5",{"_index":643,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.ts",{"_index":1026,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hence",{"_index":1136,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["here",{"_index":1078,"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":1596,"title":{},"body":{"additional-documentation/events.html":{}}}],["hereby",{"_index":1314,"title":{},"body":{"license.html":{}}}],["hexcode",{"_index":188,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcode.padstart(2",{"_index":191,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes",{"_index":186,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes.join",{"_index":192,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexstring(buffer",{"_index":185,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hidden",{"_index":1432,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["holders",{"_index":1356,"title":{},"body":{"license.html":{}}}],["home",{"_index":1553,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["homecomponent",{"_index":1179,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["hook",{"_index":411,"title":{},"body":{"classes/LoginOptions.html":{},"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":1476,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["http",{"_index":1515,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["http://localhost:4200",{"_index":1161,"title":{},"body":{"index.html":{}}}],["http://localhost:8080/#/home",{"_index":1630,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["http://openid.net/specs/openid",{"_index":457,"title":{},"body":{"classes/LoginOptions.html":{},"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":1259,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["http_interceptors",{"_index":585,"title":{},"body":{"modules/OAuthModule.html":{}}}],["httpclientmodule",{"_index":1175,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["httperrorresponse",{"_index":1538,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpevent",{"_index":215,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httphandler",{"_index":211,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptor",{"_index":216,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptors",{"_index":1509,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{}}],["httpmodule",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["httpparametercodec",{"_index":669,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["httprequest",{"_index":209,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpresponse",{"_index":620,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["https://dev",{"_index":1848,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["https://github.com/jeroenheijmans/sample",{"_index":1057,"title":{},"body":{"index.html":{}}}],["https://github.com/lankaapura/angular",{"_index":1675,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://github.com/manfredsteyer/angular",{"_index":757,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["https://idsvr4.azurewebsites.net",{"_index":1191,"title":{},"body":{"index.html":{}}}],["https://manfredsteyer.github.io/angular",{"_index":1053,"title":{},"body":{"index.html":{}}}],["https://medium.com/lankapura/angular",{"_index":1672,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://steyer",{"_index":1443,"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":1701,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["i=0",{"_index":1468,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["id",{"_index":449,"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":495,"title":{},"body":{"classes/LoginOptions.html":{},"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":496,"title":{},"body":{"classes/LoginOptions.html":{},"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":494,"title":{},"body":{"classes/LoginOptions.html":{},"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":450,"title":{},"body":{"classes/LoginOptions.html":{},"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":1124,"title":{},"body":{"index.html":{}}}],["identity",{"_index":942,"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":1071,"title":{},"body":{"index.html":{}}}],["idsvr",{"_index":851,"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":452,"title":{},"body":{"classes/LoginOptions.html":{},"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":454,"title":{},"body":{"classes/LoginOptions.html":{},"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":453,"title":{},"body":{"classes/LoginOptions.html":{},"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":910,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["iframe",{"_index":1433,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iframes",{"_index":346,"title":{},"body":{"classes/LoginOptions.html":{},"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":1863,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["implcit",{"_index":1766,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["implemantion",{"_index":1526,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["implement",{"_index":1524,"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":438,"title":{},"body":{"classes/LoginOptions.html":{},"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":1645,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["implementing",{"_index":302,"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":304,"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":1347,"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":1212,"title":{},"body":{"index.html":{}}}],["imports",{"_index":595,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["included",{"_index":390,"title":{},"body":{"classes/LoginOptions.html":{},"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":384,"title":{},"body":{"classes/LoginOptions.html":{},"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":845,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["indeed",{"_index":1469,"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/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":1193,"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":660,"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/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":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["info(message",{"_index":426,"title":{},"body":{"classes/LoginOptions.html":{},"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":1391,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["information",{"_index":1093,"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":1577,"title":{},"body":{"additional-documentation/events.html":{}}}],["inherited",{"_index":290,"title":{},"body":{"classes/JwksValidationHandler.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["initial",{"_index":1479,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initialize",{"_index":1220,"title":{},"body":{"index.html":{}}}],["initializes",{"_index":1223,"title":{},"body":{"index.html":{}}}],["initialnavigation",{"_index":1626,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initimplicitflow",{"_index":1288,"title":{},"body":{"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-implicit-flow.html":{}}}],["initloginflow",{"_index":854,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["initloginflowinpopup",{"_index":772,"title":{},"body":{"changelog.html":{},"additional-documentation/popup-based-login.html":{}}}],["inject",{"_index":1537,"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":1531,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injection",{"_index":422,"title":{},"body":{"classes/LoginOptions.html":{},"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":956,"title":{},"body":{"changelog.html":{}}}],["injectiontoken('auth_config",{"_index":1382,"title":{},"body":{"miscellaneous/variables.html":{}}}],["inline",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["install",{"_index":306,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["installing",{"_index":1173,"title":{},"body":{"index.html":{}}}],["instance",{"_index":1415,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["instanceof",{"_index":1593,"title":{},"body":{"additional-documentation/events.html":{}}}],["instead",{"_index":341,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["intended",{"_index":1731,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["interaction",{"_index":1439,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["intercept",{"_index":199,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["intercept(req",{"_index":208,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["intercepted",{"_index":610,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["interceptor",{"_index":194,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"index.html":{}}}],["interceptors",{"_index":196,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["interceptors/default",{"_index":590,"title":{},"body":{"modules/OAuthModule.html":{}}}],["interceptors/resource",{"_index":589,"title":{},"body":{"modules/OAuthModule.html":{}}}],["interesting",{"_index":1809,"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":631,"title":{},"body":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"overview.html":{}}}],["internally",{"_index":363,"title":{},"body":{"classes/LoginOptions.html":{},"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":747,"title":{},"body":{"changelog.html":{}}}],["invalid_nonce_in_state",{"_index":530,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["ionic",{"_index":1307,"title":{},"body":{"index.html":{}}}],["isn't",{"_index":512,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["isresponse(str",{"_index":1466,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["issue",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["issuer",{"_index":475,"title":{},"body":{"classes/LoginOptions.html":{},"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":882,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["issuing",{"_index":1431,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["ivy",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["java",{"_index":1048,"title":{},"body":{"index.html":{}}}],["jeroenheijmans",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["jie",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["job",{"_index":982,"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":721,"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":1284,"title":{},"body":{"index.html":{}}}],["jwks_load_error",{"_index":529,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["jwks_uri",{"_index":483,"title":{},"body":{"classes/LoginOptions.html":{},"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":272,"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":1639,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["jwt",{"_index":753,"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":676,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["keep",{"_index":1452,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["kevin",{"_index":1716,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["key",{"_index":470,"title":{},"body":{"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":{}}}],["keycloak",{"_index":1046,"title":{"additional-documentation/authorization-servers/using-keycloak.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{}}}],["keys",{"_index":1635,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["kicks",{"_index":1763,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["kind",{"_index":1345,"title":{},"body":{"license.html":{}}}],["known",{"_index":1428,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["known/openid",{"_index":1777,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["labat",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["labels",{"_index":1126,"title":{},"body":{"index.html":{}}}],["laing",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["later",{"_index":1636,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["leads",{"_index":1534,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{}}}],["leftmosthalf",{"_index":93,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["levels",{"_index":1591,"title":{},"body":{"additional-documentation/events.html":{}}}],["leveraging",{"_index":1616,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["liability",{"_index":1360,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1357,"title":{},"body":{"license.html":{}}}],["lib",{"_index":402,"title":{},"body":{"classes/LoginOptions.html":{},"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":281,"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":1710,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["license",{"_index":858,"title":{"license.html":{}},"body":{"changelog.html":{}}}],["life",{"_index":1409,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["lifetime",{"_index":1662,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["limitation",{"_index":1326,"title":{},"body":{"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["limited",{"_index":1348,"title":{},"body":{"license.html":{}}}],["lin",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["line",{"_index":1490,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["linjie997",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":1087,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["links",{"_index":1091,"title":{},"body":{"index.html":{}}}],["list",{"_index":1396,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{}}}],["listed",{"_index":1522,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["listen",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["lite",{"_index":1015,"title":{},"body":{"dependencies.html":{}}}],["load",{"_index":1775,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["loaddiscoverydocumentandlogin",{"_index":853,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["loaddiscoverydocumentandtrylogin",{"_index":1807,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["loaded",{"_index":1453,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["loading",{"_index":1791,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["loadkeys",{"_index":79,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["loaduserprofile",{"_index":1605,"title":{},"body":{"additional-documentation/events.html":{}}}],["local",{"_index":1650,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["localhost:[4200",{"_index":1169,"title":{},"body":{"index.html":{}}}],["localstorage",{"_index":435,"title":{},"body":{"classes/LoginOptions.html":{},"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":708,"title":{},"body":{"changelog.html":{}}}],["location.hash",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["location.origin",{"_index":1458,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["location.search",{"_index":1457,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["locationstrategy",{"_index":1617,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["log",{"_index":560,"title":{},"body":{"classes/OAuthLogger.html":{},"additional-documentation/events.html":{}}}],["log(message",{"_index":427,"title":{},"body":{"classes/LoginOptions.html":{},"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":1436,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["loggin",{"_index":1782,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["logging",{"_index":415,"title":{},"body":{"classes/LoginOptions.html":{},"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":739,"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":767,"title":{},"body":{"changelog.html":{}}}],["loginoptions",{"_index":324,"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":1744,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["logout",{"_index":548,"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":1852,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["logs",{"_index":1589,"title":{},"body":{"additional-documentation/events.html":{}}}],["long",{"_index":1612,"title":{},"body":{"additional-documentation/events.html":{}}}],["longer",{"_index":1587,"title":{},"body":{"additional-documentation/events.html":{}}}],["look",{"_index":1076,"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":1275,"title":{},"body":{"index.html":{}}}],["lower",{"_index":1257,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["main",{"_index":1454,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-systemjs.html":{}}}],["maintain",{"_index":1711,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["major",{"_index":1114,"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":1568,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["management",{"_index":1646,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["mandatory",{"_index":1290,"title":{},"body":{"index.html":{}}}],["manfred",{"_index":973,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["manner",{"_index":350,"title":{},"body":{"classes/LoginOptions.html":{},"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":1237,"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":222,"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":262,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mark",{"_index":356,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1163,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["mccloghry",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":1560,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["means",{"_index":1417,"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":1732,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["memorystorage",{"_index":443,"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":1393,"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":1350,"title":{},"body":{"license.html":{}}}],["merge",{"_index":218,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"license.html":{}}}],["mergemap",{"_index":224,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mergemap((token",{"_index":266,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["message",{"_index":391,"title":{},"body":{"classes/LoginOptions.html":{},"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":1720,"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/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":1202,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["minutes",{"_index":1305,"title":{},"body":{"index.html":{}}}],["miscellaneous",{"_index":1022,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["moderating",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["modern",{"_index":1155,"title":{},"body":{"index.html":{}}}],["modify",{"_index":1328,"title":{},"body":{"license.html":{}}}],["module",{"_index":568,"title":{"modules/OAuthModule.html":{}},"body":{"overview.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["module.config",{"_index":232,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["module.config.ts",{"_index":604,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:11",{"_index":623,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:12",{"_index":625,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:13",{"_index":624,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:2",{"_index":607,"title":{},"body":{"classes/OAuthModuleConfig.html":{}}}],["moduleconfig",{"_index":205,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["modules",{"_index":570,"title":{"modules.html":{}},"body":{"modules/OAuthModule.html":{},"modules.html":{}}}],["modulewithproviders",{"_index":579,"title":{},"body":{"modules/OAuthModule.html":{}}}],["moment",{"_index":1664,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["moos",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["more",{"_index":1092,"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":280,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["msec",{"_index":1506,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["much",{"_index":1109,"title":{},"body":{"index.html":{}}}],["multi",{"_index":602,"title":{},"body":{"modules/OAuthModule.html":{}}}],["multiple",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["multiplying",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["name",{"_index":39,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.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":282,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["navigation",{"_index":1619,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["need",{"_index":301,"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":312,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needs",{"_index":1659,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["net",{"_index":1072,"title":{},"body":{"index.html":{}}}],["net/.net",{"_index":1044,"title":{},"body":{"index.html":{}}}],["never",{"_index":375,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1107,"title":{},"body":{"index.html":{}}}],["newest",{"_index":1658,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["next",{"_index":210,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req",{"_index":247,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req).catch(err",{"_index":1548,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ngmodule",{"_index":582,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["ngx",{"_index":1008,"title":{},"body":{"dependencies.html":{}}}],["ngzone",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["node_modules/jsrsasign/lib/jsrsasign",{"_index":1728,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["nonce",{"_index":369,"title":{},"body":{"classes/LoginOptions.html":{},"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":1354,"title":{},"body":{"license.html":{}}}],["normally",{"_index":399,"title":{},"body":{"classes/LoginOptions.html":{},"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":862,"title":{},"body":{"changelog.html":{}}}],["note",{"_index":310,"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":1422,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["nothing",{"_index":514,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["notice",{"_index":1340,"title":{},"body":{"license.html":{}}}],["notification",{"_index":1643,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notifications",{"_index":1656,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notified",{"_index":1665,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["now",{"_index":121,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{},"index.html":{}}}],["nowadays",{"_index":314,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/original-config-api.html":{}}}],["npm",{"_index":307,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["null",{"_index":293,"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":287,"title":{"classes/NullValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["nullvalidationhandler:11",{"_index":291,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["nullvalidationhandler:8",{"_index":292,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["number",{"_index":125,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.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":{}}}],["oauth",{"_index":231,"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",{"_index":591,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oauth.interceptor.ts",{"_index":198,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:23",{"_index":207,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:44",{"_index":212,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth2",{"_index":284,"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":303,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oautherrorevent",{"_index":521,"title":{"classes/OAuthErrorEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"additional-documentation/events.html":{}}}],["oauthevent",{"_index":523,"title":{"classes/OAuthEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthinfoevent",{"_index":556,"title":{"classes/OAuthInfoEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthlogger",{"_index":423,"title":{"classes/OAuthLogger.html":{}},"body":{"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":{}}}],["oauthmodule",{"_index":569,"title":{"modules/OAuthModule.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"modules.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmodule.forroot",{"_index":1177,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmoduleconfig",{"_index":206,"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":588,"title":{"classes/OAuthNoopResourceServerErrorHandler.html":{}},"body":{"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthresourceserverconfig",{"_index":606,"title":{"classes/OAuthResourceServerConfig.html":{}},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["oauthresourceservererrorhandler",{"_index":204,"title":{"classes/OAuthResourceServerErrorHandler.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthservice",{"_index":202,"title":{},"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":{},"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":439,"title":{"classes/OAuthStorage.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"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":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthsuccessevent",{"_index":553,"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":214,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["obtaining",{"_index":1318,"title":{},"body":{"license.html":{}}}],["occur",{"_index":1581,"title":{},"body":{"additional-documentation/events.html":{}}}],["of(null",{"_index":261,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["of(this.oauthservice.getaccesstoken()).pipe(filter((token",{"_index":253,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["officially",{"_index":1074,"title":{},"body":{"index.html":{}}}],["offline_access",{"_index":1213,"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":285,"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":1285,"title":{},"body":{"index.html":{}}}],["oidc.module.ts",{"_index":572,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.module.ts:30",{"_index":577,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.umd.js",{"_index":1724,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["oidc/docs",{"_index":1054,"title":{},"body":{"index.html":{}}}],["oidc/docs/additional",{"_index":1262,"title":{},"body":{"index.html":{}}}],["oidc/issues/728#issuecomment",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/1020",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/919",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/935",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/936",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/938",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/965",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["oidcdiscoverydoc",{"_index":474,"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":1497,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["okta",{"_index":1089,"title":{},"body":{"index.html":{}}}],["older",{"_index":1097,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["one",{"_index":279,"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":1302,"title":{},"body":{"index.html":{}}}],["onloginerror",{"_index":334,"title":{},"body":{"classes/LoginOptions.html":{},"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":335,"title":{},"body":{"classes/LoginOptions.html":{},"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":1845,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["opened",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["opener",{"_index":1477,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["openid",{"_index":471,"title":{},"body":{"classes/LoginOptions.html":{},"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":742,"title":{},"body":{"changelog.html":{}}}],["opht1tkt9e9fvqtzpbvf1thvhjrxvyvx",{"_index":1851,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["option",{"_index":771,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["optional",{"_index":41,"title":{},"body":{"classes/AbstractValidationHandler.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/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":425,"title":{},"body":{"classes/LoginOptions.html":{},"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":327,"title":{},"body":{"classes/LoginOptions.html":{},"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":179,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["original",{"_index":1392,"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":1730,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["otherparam",{"_index":1575,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["otherwise",{"_index":1269,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":1152,"title":{},"body":{"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":{}}}],["output",{"_index":859,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["outside",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["over",{"_index":1410,"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":1370,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owner",{"_index":1767,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["package",{"_index":985,"title":{"dependencies.html":{}},"body":{}}],["package.json",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["packages",{"_index":1633,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["paddedhexcode",{"_index":190,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["page",{"_index":317,"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":655,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["pairs",{"_index":654,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["param",{"_index":104,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parameter",{"_index":950,"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/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":{},"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":1474,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["parse",{"_index":1692,"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":451,"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":641,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["parsequerystring(querystring",{"_index":644,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["particular",{"_index":1352,"title":{},"body":{"license.html":{}}}],["pass",{"_index":345,"title":{},"body":{"classes/LoginOptions.html":{},"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":1527,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["passing",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["password",{"_index":1139,"title":{"additional-documentation/using-password-flow.html":{}},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["passwords",{"_index":668,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["path",{"_index":1267,"title":{},"body":{"index.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pathlocationstrategy",{"_index":1064,"title":{},"body":{"index.html":{}}}],["perform",{"_index":1493,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["performs",{"_index":1618,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["permission",{"_index":1313,"title":{},"body":{"license.html":{}}}],["permissions",{"_index":1208,"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":1335,"title":{},"body":{"license.html":{}}}],["person",{"_index":1317,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1336,"title":{},"body":{"license.html":{}}}],["perspective",{"_index":1754,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["phil",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["pingone",{"_index":1704,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pipe",{"_index":264,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pipe(catcherror((err",{"_index":251,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pkce",{"_index":1135,"title":{},"body":{"index.html":{}}}],["plan",{"_index":1113,"title":{},"body":{"index.html":{}}}],["please",{"_index":295,"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":888,"title":{},"body":{"changelog.html":{}}}],["plus",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["pmccloghrylaing",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["popperjs/core",{"_index":996,"title":{},"body":{"dependencies.html":{}}}],["popup",{"_index":347,"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":550,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["popup_closed",{"_index":549,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["portions",{"_index":1343,"title":{},"body":{"license.html":{}}}],["possible",{"_index":1761,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["post",{"_index":1085,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["postlogoutredirecturi",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["ppanthony",{"_index":1722,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["practice",{"_index":381,"title":{},"body":{"classes/LoginOptions.html":{},"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":1204,"title":{},"body":{"index.html":{}}}],["predefined",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["prefixes",{"_index":1256,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["prepared",{"_index":1038,"title":{},"body":{"index.html":{}}}],["present",{"_index":357,"title":{},"body":{"classes/LoginOptions.html":{},"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":1385,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["prevent",{"_index":773,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["preventclearhashafterlogin",{"_index":336,"title":{},"body":{"classes/LoginOptions.html":{},"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":1501,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["previously",{"_index":1819,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["private",{"_index":234,"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":376,"title":{},"body":{"classes/LoginOptions.html":{},"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":1217,"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":1822,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["project",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["project's",{"_index":1677,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["projects/.../base64",{"_index":1025,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../events.ts",{"_index":1376,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../factories.ts",{"_index":1027,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../hash",{"_index":1029,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../jwks",{"_index":1380,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tokens.ts",{"_index":1379,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/angular",{"_index":571,"title":{},"body":{"modules/OAuthModule.html":{}}}],["projects/lib/src/base64",{"_index":1031,"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":665,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:10",{"_index":683,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:14",{"_index":675,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:18",{"_index":678,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:6",{"_index":681,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/events.ts",{"_index":522,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["projects/lib/src/events.ts:28",{"_index":557,"title":{},"body":{"classes/OAuthEvent.html":{}}}],["projects/lib/src/events.ts:32",{"_index":630,"title":{},"body":{"classes/OAuthSuccessEvent.html":{}}}],["projects/lib/src/events.ts:38",{"_index":558,"title":{},"body":{"classes/OAuthInfoEvent.html":{}}}],["projects/lib/src/events.ts:44",{"_index":527,"title":{},"body":{"classes/OAuthErrorEvent.html":{}}}],["projects/lib/src/factories.ts",{"_index":1035,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/interceptors/default",{"_index":197,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["projects/lib/src/interceptors/resource",{"_index":617,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["projects/lib/src/oauth",{"_index":603,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["projects/lib/src/token",{"_index":6,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.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":1381,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/types.ts",{"_index":325,"title":{},"body":{"classes/LoginOptions.html":{},"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":629,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:107",{"_index":508,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:111",{"_index":509,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:115",{"_index":510,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:125",{"_index":634,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:126",{"_index":632,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:127",{"_index":633,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:128",{"_index":635,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:13",{"_index":395,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:162",{"_index":661,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:20",{"_index":410,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:28",{"_index":386,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:40",{"_index":337,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:50",{"_index":378,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:59",{"_index":367,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:67",{"_index":398,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:74",{"_index":359,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:84",{"_index":562,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:85",{"_index":565,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:86",{"_index":566,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:87",{"_index":567,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:88",{"_index":564,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:98",{"_index":627,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:99",{"_index":628,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/url",{"_index":638,"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":1825,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve",{"_index":1813,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve(null",{"_index":519,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["promise.resolve(true",{"_index":520,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["properties",{"_index":329,"title":{},"body":{"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":393,"title":{},"body":{"classes/LoginOptions.html":{},"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":1394,"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":1523,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["provide",{"_index":419,"title":{},"body":{"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":{},"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":1056,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["provider",{"_index":580,"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":598,"title":{},"body":{"modules/OAuthModule.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":1536,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["providing",{"_index":1786,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["prs",{"_index":1117,"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":1329,"title":{},"body":{"license.html":{}}}],["published",{"_index":1598,"title":{},"body":{"additional-documentation/events.html":{}}}],["publishes",{"_index":1579,"title":{},"body":{"additional-documentation/events.html":{}}}],["pull",{"_index":943,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["purpose",{"_index":1353,"title":{},"body":{"license.html":{},"additional-documentation/callback-after-login.html":{}}}],["put",{"_index":1520,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["pwa",{"_index":1306,"title":{},"body":{"index.html":{}}}],["query",{"_index":408,"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":1145,"title":{},"body":{"index.html":{}}}],["querystring",{"_index":354,"title":{},"body":{"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":659,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["question",{"_index":355,"title":{},"body":{"classes/LoginOptions.html":{},"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":649,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["quite",{"_index":1764,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["read",{"_index":296,"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":1620,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["readme",{"_index":1227,"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":554,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["ready",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["real",{"_index":278,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["reason",{"_index":526,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["receive",{"_index":760,"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":413,"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":1816,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["receiving",{"_index":1836,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["recommend",{"_index":1083,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["recommended",{"_index":1273,"title":{},"body":{"index.html":{}}}],["recommented",{"_index":315,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["redhat",{"_index":1047,"title":{},"body":{"index.html":{}}}],["redhat's",{"_index":1073,"title":{},"body":{"index.html":{}}}],["redirect",{"_index":360,"title":{},"body":{"classes/LoginOptions.html":{},"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":1138,"title":{},"body":{"index.html":{}}}],["redirecting",{"_index":1153,"title":{},"body":{"index.html":{}}}],["redirects",{"_index":1249,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["redirecturi",{"_index":750,"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":1168,"title":{},"body":{"index.html":{}}}],["refactor",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":364,"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":946,"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":1451,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["refresh_token",{"_index":464,"title":{},"body":{"classes/LoginOptions.html":{},"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":1399,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["refreshed",{"_index":1610,"title":{},"body":{"additional-documentation/events.html":{}}}],["refreshes",{"_index":344,"title":{},"body":{"classes/LoginOptions.html":{},"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":1142,"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":1402,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["regarding",{"_index":1148,"title":{},"body":{"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["regards",{"_index":1280,"title":{},"body":{"index.html":{}}}],["register",{"_index":1654,"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":1195,"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":612,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["registration_endpoint",{"_index":484,"title":{},"body":{"classes/LoginOptions.html":{},"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":1513,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["relations",{"_index":1759,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["release",{"_index":1111,"title":{},"body":{"index.html":{}}}],["removal",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["remove",{"_index":813,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["removed",{"_index":1292,"title":{},"body":{"index.html":{}}}],["removeitem",{"_index":506,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["removeitem(key",{"_index":441,"title":{},"body":{"classes/LoginOptions.html":{},"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":407,"title":{},"body":{"classes/LoginOptions.html":{},"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":1670,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"additional-documentation/server-side-rendering.html":{}}}],["replace",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["replaced",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["replacements",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["replay",{"_index":372,"title":{},"body":{"classes/LoginOptions.html":{},"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":447,"title":{},"body":{"classes/LoginOptions.html":{},"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":213,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.clone",{"_index":270,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers",{"_index":1546,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers.set('authorization",{"_index":269,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["req.url.tolowercase",{"_index":243,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["request",{"_index":1209,"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":497,"title":{},"body":{"classes/LoginOptions.html":{},"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":1386,"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":944,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["require','jsrsasign",{"_index":1729,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["requirements",{"_index":1397,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["reset",{"_index":1372,"title":{},"body":{"overview.html":{}}}],["resolve",{"_index":1823,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolve(true",{"_index":1827,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolves",{"_index":1606,"title":{},"body":{"additional-documentation/events.html":{}}}],["resource",{"_index":227,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["resources",{"_index":1050,"title":{},"body":{"index.html":{}}}],["resourceserver",{"_index":605,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["resourceservererrorhandler",{"_index":611,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["respect",{"_index":1400,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["respective",{"_index":1077,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["respond",{"_index":1438,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["response",{"_index":455,"title":{},"body":{"classes/LoginOptions.html":{},"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":488,"title":{},"body":{"classes/LoginOptions.html":{},"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":844,"title":{},"body":{"changelog.html":{}}}],["response_types_supported",{"_index":486,"title":{},"body":{"classes/LoginOptions.html":{},"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":826,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["restriction",{"_index":1325,"title":{},"body":{"license.html":{}}}],["result",{"_index":114,"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/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/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":1600,"title":{},"body":{"additional-documentation/events.html":{}}}],["retrieving",{"_index":362,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1470,"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/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":1859,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["reverse",{"_index":1293,"title":{},"body":{"index.html":{}}}],["revocation",{"_index":892,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revocation_endpoint",{"_index":504,"title":{},"body":{"classes/LoginOptions.html":{},"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":780,"title":{},"body":{"changelog.html":{}}}],["revoke",{"_index":893,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revoketokenandlogout",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["rfc",{"_index":939,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rights",{"_index":1327,"title":{},"body":{"license.html":{}}}],["risk",{"_index":516,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["robin",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["roblabat",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["root",{"_index":1622,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["rotation",{"_index":1847,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["route",{"_index":1266,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["router",{"_index":1063,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routermodule.forroot(app_routes",{"_index":1624,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routes",{"_index":1621,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routing",{"_index":914,"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":925,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["running",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["runs",{"_index":1160,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["rxjs",{"_index":219,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"dependencies.html":{}}}],["rxjs/add/operator/catch",{"_index":1540,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/observable",{"_index":1539,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/operators",{"_index":226,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["s",{"_index":157,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["safe",{"_index":1137,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["sake",{"_index":1829,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["same",{"_index":349,"title":{},"body":{"classes/LoginOptions.html":{},"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/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sample",{"_index":879,"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":308,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["saveafter",{"_index":1283,"title":{},"body":{"index.html":{}}}],["saved",{"_index":1601,"title":{},"body":{"additional-documentation/events.html":{}}}],["saveimporting",{"_index":1174,"title":{},"body":{"index.html":{}}}],["scenario",{"_index":1838,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["scope",{"_index":465,"title":{},"body":{"classes/LoginOptions.html":{},"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":715,"title":{},"body":{"changelog.html":{}}}],["scopes_supported",{"_index":485,"title":{},"body":{"classes/LoginOptions.html":{},"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":947,"title":{},"body":{"changelog.html":{}}}],["search",{"_index":1462,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["seconds",{"_index":1508,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["secret",{"_index":1199,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["section",{"_index":1270,"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":382,"title":{},"body":{"classes/LoginOptions.html":{},"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":866,"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":1735,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["sell",{"_index":1333,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1009,"title":{},"body":{"dependencies.html":{}}}],["send",{"_index":613,"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":248,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["sending",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["sends",{"_index":1653,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sense",{"_index":904,"title":{},"body":{"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["separatorindex",{"_index":656,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["server",{"_index":228,"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":{},"modules/OAuthModule.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":1154,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity",{"_index":1444,"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":1776,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/authorize",{"_index":1681,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/endsession",{"_index":1690,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/token",{"_index":1780,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/userinfo",{"_index":1784,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.code",{"_index":1197,"title":{},"body":{"index.html":{}}}],["servers",{"_index":1236,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["service",{"_index":233,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["service_documentation",{"_index":502,"title":{},"body":{"classes/LoginOptions.html":{},"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":765,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["session's",{"_index":1661,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_changed",{"_index":544,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["session_error",{"_index":545,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["session_state",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["session_terminated",{"_index":546,"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":1667,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_unchanged",{"_index":547,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["sessionchecksenabled",{"_index":1657,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sessionstorage",{"_index":436,"title":{},"body":{"classes/LoginOptions.html":{},"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":351,"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":1547,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["setitem",{"_index":507,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["setitem(key",{"_index":442,"title":{},"body":{"classes/LoginOptions.html":{},"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":1565,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["setstorage",{"_index":1685,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["setting",{"_index":876,"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":1567,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["setup",{"_index":1261,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["several",{"_index":1700,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sha",{"_index":112,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{}}}],["sha256",{"_index":146,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["sha256(accesstoken",{"_index":90,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["shaking",{"_index":1282,"title":{},"body":{"index.html":{}}}],["shall",{"_index":1341,"title":{},"body":{"license.html":{}}}],["share",{"_index":1698,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sharing",{"_index":1723,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["ship",{"_index":1760,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["short",{"_index":1583,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["showdebuginformation",{"_index":1219,"title":{},"body":{"index.html":{}}}],["shown",{"_index":1226,"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":1525,"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":434,"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":728,"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":1644,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["silent",{"_index":343,"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":539,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["silent_refresh_timeout",{"_index":541,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silently_refreshed",{"_index":540,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silentrefresh",{"_index":1494,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["silentrefreshredirecturi",{"_index":1441,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["silentrefreshtimeout",{"_index":1505,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["similar",{"_index":1765,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["simple",{"_index":430,"title":{},"body":{"classes/LoginOptions.html":{},"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":316,"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":883,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["size",{"_index":1110,"title":{},"body":{"index.html":{}}}],["sizes",{"_index":321,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["skip",{"_index":515,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["skipping",{"_index":1806,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["skips",{"_index":1637,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["smaller",{"_index":319,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["snippet",{"_index":1584,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["software",{"_index":1320,"title":{},"body":{"license.html":{}}}],["solution",{"_index":1188,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["something",{"_index":1815,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["somevalue",{"_index":1576,"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/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":1051,"title":{},"body":{"index.html":{}}}],["spa",{"_index":1167,"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":1194,"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":1201,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["spec",{"_index":1604,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["special",{"_index":1843,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["specific",{"_index":1216,"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":1708,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["specifies",{"_index":1395,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["specs",{"_index":1149,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["src",{"_index":1128,"title":{},"body":{"index.html":{}}}],["standard",{"_index":867,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["start",{"_index":1714,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["started",{"_index":689,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{}}}],["starting",{"_index":1571,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["starts",{"_index":1733,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["startup",{"_index":1762,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["state",{"_index":379,"title":{"additional-documentation/preserving-state-(like-the-requested-url).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/preserving-state-(like-the-requested-url).html":{},"additional-documentation/events.html":{}}}],["static",{"_index":573,"title":{},"body":{"modules/OAuthModule.html":{}}}],["status",{"_index":1516,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["steyer",{"_index":974,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["still",{"_index":1435,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["stopautomaticrefresh",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["storage",{"_index":431,"title":{},"body":{"classes/LoginOptions.html":{},"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":1804,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["store",{"_index":1234,"title":{},"body":{"index.html":{}}}],["stored",{"_index":1607,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["storing",{"_index":432,"title":{},"body":{"classes/LoginOptions.html":{},"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":1033,"title":{},"body":{"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{}}}],["strategy",{"_index":1423,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["stream",{"_index":1580,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["strict",{"_index":1837,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["strictdiscoverydocumentvalidation",{"_index":1695,"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":183,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["strong",{"_index":1757,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["sub",{"_index":469,"title":{},"body":{"classes/LoginOptions.html":{},"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":1338,"title":{},"body":{"license.html":{}}}],["subject_types_supported",{"_index":490,"title":{},"body":{"classes/LoginOptions.html":{},"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":1331,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1342,"title":{},"body":{"license.html":{}}}],["succeeded",{"_index":1388,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["successful",{"_index":1550,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["successfully",{"_index":396,"title":{},"body":{"classes/LoginOptions.html":{},"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":1206,"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":1459,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["suited",{"_index":1756,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["summary.json",{"_index":1131,"title":{},"body":{"index.html":{}}}],["super",{"_index":322,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["super(type",{"_index":555,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["support",{"_index":752,"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":1181,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["sure",{"_index":1130,"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":1255,"title":{},"body":{"index.html":{}}}],["symbol",{"_index":352,"title":{},"body":{"classes/LoginOptions.html":{},"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":1719,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["systemdatetimeprovider",{"_index":128,"title":{"injectables/SystemDateTimeProvider.html":{}},"body":{"classes/DateTimeProvider.html":{},"modules/OAuthModule.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["systemjs",{"_index":1715,"title":{"additional-documentation/using-systemjs.html":{}},"body":{"additional-documentation/using-systemjs.html":{}}}],["table",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":223,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["take(1",{"_index":265,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["takes",{"_index":1461,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["targeting",{"_index":1561,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["task",{"_index":1254,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["tasks",{"_index":1578,"title":{},"body":{"additional-documentation/events.html":{}}}],["telling",{"_index":276,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["tells",{"_index":1244,"title":{},"body":{"index.html":{}}}],["template",{"_index":1748,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["templateurl",{"_index":1737,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["tenant",{"_index":1573,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["terminated",{"_index":1669,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["tested",{"_index":1059,"title":{},"body":{"index.html":{}}}],["testen",{"_index":1752,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["testing",{"_index":1043,"title":{},"body":{"index.html":{}}}],["tests",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":1014,"title":{},"body":{"dependencies.html":{}}}],["textencoder",{"_index":165,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["thanks",{"_index":965,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-systemjs.html":{}}}],["that's",{"_index":1772,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["then(info",{"_index":1495,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["things",{"_index":1559,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["third",{"_index":1421,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.authservice.events.subscribe(event",{"_index":1592,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.authstorage.getitem('access_token",{"_index":1545,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.calchash(params.accesstoken",{"_index":89,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.checkurl(url",{"_index":246,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.configure",{"_index":1739,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.data.delete(key",{"_index":445,"title":{},"body":{"classes/LoginOptions.html":{},"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":444,"title":{},"body":{"classes/LoginOptions.html":{},"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":446,"title":{},"body":{"classes/LoginOptions.html":{},"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":841,"title":{},"body":{"changelog.html":{}}}],["this.errorhandler.handleerror(err",{"_index":252,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.inferhashalgorithm(params.idtokenheader",{"_index":86,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.moduleconfig",{"_index":244,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver",{"_index":245,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls",{"_index":239,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find((u",{"_index":240,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find(u",{"_index":1543,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation",{"_index":237,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation(url",{"_index":238,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.sendaccesstoken",{"_index":249,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.oauthservice",{"_index":1810,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.clientid",{"_index":1683,"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":1231,"title":{},"body":{"index.html":{}}}],["this.oauthservice.configure(authconfig",{"_index":1740,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.customqueryparams",{"_index":1572,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["this.oauthservice.dummyclientsecret",{"_index":1773,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.events(filter(e",{"_index":1817,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.events.pipe",{"_index":255,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.events.pipe(filter(e",{"_index":1666,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["this.oauthservice.events.subscribe(e",{"_index":1585,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflow('max",{"_index":1789,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max",{"_index":1794,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.getaccesstoken",{"_index":263,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.getidentityclaims",{"_index":1746,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.hasvalidaccesstoken",{"_index":1820,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.hasvalididtoken",{"_index":1821,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initcodeflow();there",{"_index":1221,"title":{},"body":{"index.html":{}}}],["this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');after",{"_index":1387,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["this.oauthservice.initloginflow",{"_index":1743,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initloginflow();also",{"_index":1225,"title":{},"body":{"index.html":{}}}],["this.oauthservice.issuer",{"_index":1832,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument().then",{"_index":1833,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument(url).then",{"_index":1778,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandlogin",{"_index":1245,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin",{"_index":1246,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin();logging",{"_index":1232,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaduserprofile",{"_index":1792,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loginurl",{"_index":1680,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.logout",{"_index":1745,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.logout();if",{"_index":1238,"title":{},"body":{"index.html":{}}}],["this.oauthservice.logouturl",{"_index":1689,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.redirecturi",{"_index":1682,"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":1798,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.refreshtoken();automatically",{"_index":1403,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.revoketokenandlogout",{"_index":1860,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.revoketokenandlogout();skipping",{"_index":1240,"title":{},"body":{"index.html":{}}}],["this.oauthservice.scope",{"_index":1684,"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":1687,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.setupautomaticsilentrefresh();by",{"_index":1405,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.silentrefreshredirecturi",{"_index":1450,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["this.oauthservice.tokenendpoint",{"_index":1779,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.tokenvalidationhandler",{"_index":1638,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.trylogin",{"_index":1389,"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":1627,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.oauthservice.userinfoendpoint",{"_index":1783,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.parsequerystring(hash",{"_index":653,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["this.router.navigate",{"_index":1628,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.tohashstring(hasharray",{"_index":176,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.tohashstring2(hasharray",{"_index":177,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.window.addeventlistener('unload",{"_index":1826,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["those",{"_index":1401,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["three",{"_index":1446,"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":421,"title":{},"body":{"classes/LoginOptions.html":{},"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":621,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["throwerror(err",{"_index":622,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["time",{"_index":119,"title":{},"body":{"classes/DateTimeProvider.html":{},"modules/OAuthModule.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":225,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{}}}],["timeout(this.oauthservice.waitfortokeninmsec",{"_index":259,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["timeoutfactor",{"_index":1413,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["timer",{"_index":1608,"title":{},"body":{"additional-documentation/events.html":{}}}],["timers",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["timespan",{"_index":1504,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["together",{"_index":1671,"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":193,"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":254,"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":1408,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["token(s",{"_index":403,"title":{},"body":{"classes/LoginOptions.html":{},"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":1264,"title":{},"body":{"index.html":{}}}],["token_endpoint",{"_index":477,"title":{},"body":{"classes/LoginOptions.html":{},"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":478,"title":{},"body":{"classes/LoginOptions.html":{},"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":479,"title":{},"body":{"classes/LoginOptions.html":{},"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":535,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_expires",{"_index":543,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_received",{"_index":258,"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":1818,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["token_refresh_error",{"_index":538,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_refreshed",{"_index":537,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_revoke_error",{"_index":551,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_type",{"_index":462,"title":{},"body":{"classes/LoginOptions.html":{},"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":542,"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":461,"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":926,"title":{},"body":{"changelog.html":{}}}],["tokenvalidationhandler",{"_index":412,"title":{},"body":{"classes/LoginOptions.html":{},"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":1632,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["tort",{"_index":1364,"title":{},"body":{"license.html":{}}}],["transmit",{"_index":1769,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["transmitted",{"_index":1570,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["transmitting",{"_index":1511,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["tree",{"_index":1281,"title":{},"body":{"index.html":{}}}],["tries",{"_index":1691,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["triggers",{"_index":1420,"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/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.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":1861,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["trust",{"_index":1758,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["try",{"_index":1106,"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":328,"title":{},"body":{"classes/LoginOptions.html":{},"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":953,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1686,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["tsickle",{"_index":1017,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1019,"title":{},"body":{"dependencies.html":{}}}],["turn",{"_index":1713,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["tutorial",{"_index":1300,"title":{},"body":{"index.html":{}}}],["tutorials",{"_index":1299,"title":{},"body":{"index.html":{}}}],["two",{"_index":1558,"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/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":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["typealiases",{"_index":1374,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeerror('expected",{"_index":158,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["typeof",{"_index":156,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["types",{"_index":581,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["typo",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["ui_locales_supported",{"_index":503,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["uint8array(buffer",{"_index":184,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["uint8array(d.length",{"_index":162,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["unchanged",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["under",{"_index":1566,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["unfortunately",{"_index":1663,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["universal",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":1247,"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":1039,"title":{},"body":{"index.html":{}}}],["update",{"_index":720,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["upgrade",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1295,"title":{},"body":{"index.html":{}}}],["uri",{"_index":361,"title":{},"body":{"classes/LoginOptions.html":{},"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":242,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.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":1544,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["url.tolowercase().startswith(u.tolowercase",{"_index":241,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["url?x=1",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["urlhelperservice",{"_index":586,"title":{"injectables/UrlHelperService.html":{}},"body":{"modules/OAuthModule.html":{},"injectables/UrlHelperService.html":{}}}],["urls",{"_index":608,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["usage",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["use",{"_index":18,"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":{},"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":1215,"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":600,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["used",{"_index":340,"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":599,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["usehash",{"_index":1625,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["user",{"_index":466,"title":{},"body":{"classes/LoginOptions.html":{},"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":1787,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["user_profile_load_error",{"_index":534,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["user_profile_loaded",{"_index":533,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["userinfo",{"_index":468,"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":492,"title":{},"body":{"classes/LoginOptions.html":{},"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":493,"title":{},"body":{"classes/LoginOptions.html":{},"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":480,"title":{},"body":{"classes/LoginOptions.html":{},"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":491,"title":{},"body":{"classes/LoginOptions.html":{},"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":1162,"title":{},"body":{"index.html":{}}}],["username/passwort",{"_index":1750,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["users",{"_index":277,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/server-side-rendering.html":{}}}],["uses",{"_index":416,"title":{},"body":{"classes/LoginOptions.html":{},"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":877,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["usevalue",{"_index":601,"title":{},"body":{"modules/OAuthModule.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":286,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["v",{"_index":679,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["valid",{"_index":1250,"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":289,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{}}}],["validated",{"_index":397,"title":{},"body":{"classes/LoginOptions.html":{},"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":513,"title":{},"body":{"classes/NullValidationHandler.html":{},"index.html":{}}}],["validation",{"_index":274,"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/hash",{"_index":133,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["validation/jwks",{"_index":273,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["validation/null",{"_index":511,"title":{},"body":{"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{}}}],["validation/validation",{"_index":7,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"modules/OAuthModule.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":{},"modules/OAuthModule.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":576,"title":{},"body":{"modules/OAuthModule.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":1151,"title":{},"body":{"index.html":{}}}],["value",{"_index":35,"title":{},"body":{"classes/AbstractValidationHandler.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":189,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["values",{"_index":409,"title":{},"body":{"classes/LoginOptions.html":{},"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":159,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/silent-refresh.html":{}}}],["variables",{"_index":1377,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["various",{"_index":1706,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vdveer",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["versatility",{"_index":1260,"title":{},"body":{"index.html":{}}}],["version",{"_index":299,"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":1096,"title":{},"body":{"index.html":{}}}],["via",{"_index":1068,"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":1205,"title":{},"body":{"index.html":{}}}],["void",{"_index":414,"title":{},"body":{"classes/LoginOptions.html":{},"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":1448,"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":{}}}],["want",{"_index":400,"title":{},"body":{"classes/LoginOptions.html":{},"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":561,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["warn(message",{"_index":428,"title":{},"body":{"classes/LoginOptions.html":{},"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":1640,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["warranties",{"_index":1349,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1344,"title":{},"body":{"license.html":{}}}],["way",{"_index":901,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["we've",{"_index":1070,"title":{},"body":{"index.html":{}}}],["web",{"_index":1159,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["webcomponents/custom",{"_index":998,"title":{},"body":{"dependencies.html":{}}}],["webhttpurlencodingcodec",{"_index":664,"title":{"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["webpack",{"_index":1069,"title":{},"body":{"index.html":{}}}],["websocket",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["well",{"_index":420,"title":{},"body":{"classes/LoginOptions.html":{},"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":1143,"title":{},"body":{"index.html":{}}}],["whenever",{"_index":1599,"title":{},"body":{"additional-documentation/events.html":{}}}],["whether",{"_index":1361,"title":{},"body":{"license.html":{}}}],["white",{"_index":1521,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["widow",{"_index":1475,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["window",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["window.crypto.subtle.digest(algorithm",{"_index":167,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["window.location.hash",{"_index":646,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["window.location.origin",{"_index":1192,"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":1455,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["window.parent",{"_index":1564,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["window.parent).postmessage(location.hash",{"_index":1456,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["windowref",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["wish",{"_index":1814,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["within",{"_index":1425,"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":1324,"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":887,"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":962,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{"changelog.html":{}}}],["works",{"_index":1801,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["workshops",{"_index":1308,"title":{},"body":{"index.html":{}}}],["write",{"_index":1530,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ws02",{"_index":1703,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["yes",{"_index":563,"title":{},"body":{"classes/OAuthLogger.html":{},"injectables/UrlHelperService.html":{}}}],["you're",{"_index":1294,"title":{},"body":{"index.html":{}}}],["you've",{"_index":1741,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["yourself",{"_index":1835,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["zone.js",{"_index":1020,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":1371,"title":{},"body":{"overview.html":{}}}],["zum",{"_index":1751,"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';\nconst sha256 = factory();\n\nimport fsha256 from 'fast-sha256';\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/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';\nconst sha256 = factory();\n\nimport fsha256 from 'fast-sha256';\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:30\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 { DateTimeProvider, SystemDateTimeProvider } from './date-time-provider';\nimport { OAuthStorage, OAuthLogger } from './types';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { OAuthService } from './oauth-service';\nimport { UrlHelperService } from './url-helper.service';\n\nimport { OAuthModuleConfig } from './oauth-module.config';\nimport {\n  OAuthResourceServerErrorHandler,\n  OAuthNoopResourceServerErrorHandler,\n} from './interceptors/resource-server-error-handler';\nimport { DefaultOAuthInterceptor } from './interceptors/default-oauth.interceptor';\nimport { ValidationHandler } from './token-validation/validation-handler';\nimport { NullValidationHandler } from './token-validation/null-validation-handler';\nimport { createDefaultLogger, createDefaultStorage } from './factories';\nimport {\n  HashHandler,\n  DefaultHashHandler,\n} from './token-validation/hash-handler';\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: [\n        OAuthService,\n        UrlHelperService,\n        { provide: OAuthLogger, useFactory: createDefaultLogger },\n        { provide: OAuthStorage, useFactory: createDefaultStorage },\n        { provide: ValidationHandler, useClass: validationHandlerClass },\n        { provide: HashHandler, useClass: DefaultHashHandler },\n        {\n          provide: OAuthResourceServerErrorHandler,\n          useClass: OAuthNoopResourceServerErrorHandler,\n        },\n        { provide: OAuthModuleConfig, useValue: config },\n        {\n          provide: HTTP_INTERCEPTORS,\n          useClass: DefaultOAuthInterceptor,\n          multi: true,\n        },\n        { provide: DateTimeProvider, useClass: SystemDateTimeProvider },\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"},"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 : 13.0.1\n        \n            @angular/common : 13.0.1\n        \n            @angular/compiler : 13.0.1\n        \n            @angular/core : 13.0.1\n        \n            @angular/elements : 13.0.1\n        \n            @angular/forms : 13.0.1\n        \n            @angular/platform-browser : 13.0.1\n        \n            @angular/platform-browser-dynamic : 13.0.1\n        \n            @angular/router : 13.0.1\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                \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\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 12 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 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 --saveImporting the NgModule\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                    20 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                            err   (projects/.../jwks-validation-handler.ts)\n                        \n                        \n                            sha256   (projects/.../hash-handler.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/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    projects/lib/src/token-validation/hash-handler.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        sha256\n                        \n                    \n                \n            \n                \n                    \n                        Default value : factory()\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.203,1,3.212]],["body/classes/AbstractValidationHandler.html",[0,0.194,1,3.08,2,0.912,3,0.534,4,0.581,5,0.489,6,3.133,7,4.332,8,1.357,9,1.746,10,1.84,11,1.531,12,2.248,13,2.661,14,1.933,15,1.854,16,4.01,17,2.114,18,1.338,19,3.08,20,4.01,21,0.631,22,1.531,23,4.959,24,4.333,25,3.669,26,3.396,27,2.272,28,1.972,29,4.463,30,1.041,31,2.924,32,3.367,33,2.255,34,2.407,35,2.01,36,0.936,37,1.511,38,0.016,39,1.623,40,1.087,41,1.134,42,3.396,43,1.854,44,2.448,45,3.367,46,2.073,47,2.924,48,3.367,49,4.434,50,3.367,51,2.204,52,3.367,53,3.367,54,1.915,55,2.851,56,3.367,57,4.444,58,2.924,59,4.537,60,4.332,61,3.669,62,1.748,63,1.904,64,1.079,65,2.851,66,2.924,67,3.396,68,0.489,69,2.079,70,2.079,71,2.272,72,0.618,73,1.468,74,1.292,75,1.292,76,1.292,77,1.292,78,1.427,79,2.272,80,2.272,81,2.272,82,1.233,83,0.95,84,2.355,85,3.367,86,2.272,87,2.272,88,1.924,89,2.272,90,2.272,91,2.272,92,0.774,93,2.272,94,2.272,95,2.272,96,2.079,97,4.434,98,2.272,99,4.434,100,2.272,101,2.272,102,2.272,103,0.936,104,4.01,105,2.272,106,2.272,107,2.272,108,1.924,109,0.714,110,2.272,111,1.924,112,2.079,113,2.272,114,0.006,115,0.009,116,0.006]],["title/classes/DateTimeProvider.html",[0,0.203,117,2.973]],["body/classes/DateTimeProvider.html",[0,0.286,2,1.609,3,0.941,4,1.025,5,0.863,10,1.952,21,1.114,22,2.255,30,1.164,38,0.016,43,2.073,68,0.863,72,0.765,103,1.378,109,1.85,114,0.01,115,0.013,116,0.01,117,4.558,118,5.996,119,3.562,120,4.467,121,5.286,122,5.16,123,5.623,124,5.16,125,2.921,126,1.989,127,1.676,128,3.668,129,2.974,130,4.467]],["title/injectables/DefaultHashHandler.html",[126,1.408,131,3.51]],["body/injectables/DefaultHashHandler.html",[0,0.155,3,0.631,4,0.687,5,0.578,6,3.173,8,1.604,10,1.244,20,3.219,21,0.747,22,1.729,25,3.478,27,3.801,28,2.042,29,3.736,30,1.036,37,1.503,38,0.016,39,1.443,40,1.081,41,1.128,42,2.276,43,1.844,44,1.729,68,0.949,72,0.414,88,2.276,103,1.406,108,2.276,109,1.59,114,0.014,115,0.01,116,0.007,125,2.394,126,1.078,127,1.123,131,2.687,132,2.276,133,4.061,134,4.892,135,4.892,136,3.458,137,4.234,138,4.914,139,3.458,140,3.458,141,4.234,142,3.458,143,5.637,144,3.478,145,2.276,146,4.061,147,3.521,148,2.993,149,2.687,150,2.993,151,2.993,152,2.993,153,2.458,154,1.879,155,2.687,156,2.993,157,3.801,158,2.993,159,2.687,160,2.687,161,2.687,162,2.993,163,3.272,164,2.458,165,2.993,166,4.234,167,2.993,168,2.063,169,2.993,170,2.993,171,2.993,172,4.914,173,2.993,174,2.993,175,4.914,176,2.993,177,2.993,178,2.993,179,2.993,180,2.993,181,2.993,182,3.478,183,4.234,184,4.234,185,2.993,186,2.993,187,2.993,188,2.993,189,2.993,190,4.234,191,2.993,192,2.993,193,2.993]],["title/interceptors/DefaultOAuthInterceptor.html",[194,3.911,195,3.212]],["body/interceptors/DefaultOAuthInterceptor.html",[0,0.163,3,0.663,4,0.722,5,0.608,14,1.231,21,0.785,22,1.79,28,1.002,30,0.924,37,1.342,38,0.016,39,1.288,40,0.965,41,1.253,43,1.181,55,3.334,68,1.179,72,0.435,84,3.169,92,0.962,103,1.522,114,0.007,115,0.01,116,0.007,126,1.579,127,1.181,147,2.926,163,2.095,195,3.601,196,3.146,197,5.832,198,3.635,199,5.832,200,2.471,201,3.635,202,2.232,203,5.048,204,3.874,205,5.048,206,3.874,207,3.635,208,3.146,209,5.46,210,5.155,211,5.46,212,3.635,213,5.048,214,3.838,215,3.146,216,4.385,217,1.975,218,4.385,219,2.584,220,3.635,221,3.635,222,1.686,223,2.824,224,3.635,225,4.385,226,3.635,227,2.824,228,0.818,229,1.79,230,2.232,231,2.605,232,2.824,233,2.392,234,2.788,235,3.146,236,1.464,237,3.635,238,3.635,239,3.146,240,3.635,241,3.635,242,0.924,243,3.146,244,3.146,245,3.146,246,3.146,247,3.146,248,3.334,249,3.146,250,5.066,251,5.066,252,4.385,253,3.635,254,1.483,255,3.635,256,3.635,257,2.824,258,2.095,259,3.635,260,3.635,261,3.635,262,3.635,263,3.635,264,3.635,265,3.635,266,3.635,267,3.146,268,4.385,269,3.635,270,3.146]],["title/classes/HashHandler.html",[0,0.203,153,3.212]],["body/classes/HashHandler.html",[0,0.164,2,1.139,3,0.667,4,0.726,5,0.611,6,2.614,8,1.695,9,1.472,10,1.608,20,3.346,21,0.789,22,1.797,27,3.951,28,2.016,29,3.848,30,0.667,37,0.968,38,0.016,39,0.929,40,0.696,41,0.726,42,2.404,43,1.187,44,1.797,68,0.978,72,0.438,88,2.404,103,1.435,108,2.404,109,1.623,114,0.014,115,0.01,116,0.007,125,1.541,126,1.139,127,1.187,133,3.346,137,3.163,138,3.163,141,3.163,143,5.473,144,3.615,145,2.404,146,4.161,147,3.551,148,3.163,149,2.839,150,4.401,151,4.401,152,4.401,153,3.615,154,1.986,155,2.839,156,3.163,157,3.951,158,3.163,159,2.839,160,2.839,161,2.839,162,3.163,163,3.371,164,2.597,165,3.163,166,4.401,167,3.163,168,2.144,169,3.163,170,3.163,171,3.163,172,5.062,173,3.163,174,3.163,175,5.062,176,3.163,177,3.163,178,3.163,179,3.163,180,3.163,181,3.163,182,3.615,183,4.401,184,4.401,185,3.163,186,3.163,187,3.163,188,3.163,189,3.163,190,4.401,191,3.163,192,3.163,193,3.163,271,3.654]],["title/classes/JwksValidationHandler.html",[0,0.203,272,2.774]],["body/classes/JwksValidationHandler.html",[0,0.188,2,1.308,3,0.766,4,0.834,5,0.701,6,2.873,8,1.946,9,1.69,16,3.676,21,0.906,22,1.974,26,3.676,30,1.146,36,0.906,37,1.479,38,0.016,39,1.421,40,1.064,41,1.11,43,1.815,44,1.974,57,4.404,65,2.761,68,1.05,72,0.503,78,2.725,114,0.008,115,0.011,116,0.011,129,3.22,147,1.946,200,3.064,230,2.576,272,4.404,273,4.836,274,3.064,275,4.836,276,5.587,277,4.836,278,5.587,279,1.958,280,4.88,281,2.128,282,5.587,283,2.687,284,1.703,285,1.773,286,5.587,287,4.589,288,4.196,289,3.26,290,4.836,291,4.196,292,4.196,293,1.421,294,2.983,295,2.53,296,1.854,297,3.632,298,2.983,299,2.28,300,3.26,301,2.28,302,2.983,303,2.983,304,1.617,305,1.364,306,3.26,307,4.341,308,3.26,309,2.761,310,1.946,311,1.617,312,2.983,313,1.308,314,2.983,315,3.632,316,2.761,317,0.701,318,2.761,319,3.26,320,3.26,321,3.26,322,4.196,323,4.196]],["title/classes/LoginOptions.html",[0,0.203,324,2.096]],["body/classes/LoginOptions.html",[0,0.223,2,0.589,3,0.562,4,0.375,5,0.316,9,0.761,10,1.583,11,0.668,12,1.44,14,0.64,15,1.001,18,1.247,21,0.408,28,2.178,30,1.068,33,2.298,34,1.3,35,1.43,38,0.016,40,1.013,41,1.395,44,0.668,46,1.612,51,1.001,54,1.362,62,1.803,63,0.697,64,0.697,68,0.316,72,0.725,73,1.68,74,1.362,75,0.835,76,0.835,77,0.835,82,1.3,83,1.463,92,1.649,103,0.408,109,0.461,114,0.004,115,0.006,116,0.004,125,1.3,126,0.961,127,0.614,154,2.121,168,1.899,202,1.823,222,0.876,228,0.693,229,1.089,234,0.835,236,1.572,242,0.784,254,1.145,279,0.961,284,0.752,285,1.145,293,0.64,296,1.362,305,1.299,311,0.728,313,1.824,324,1.43,325,0.971,326,0.449,327,1.43,328,2.089,329,1.362,330,1.811,331,2.007,332,2.007,333,2.007,334,2.007,335,1.725,336,2.007,337,1.889,338,1.525,339,2.715,340,2.405,341,2.068,342,1.585,343,1.735,344,1.585,345,1.362,346,1.585,347,1.899,348,2.089,349,1.362,350,1.585,351,1.868,352,2.315,353,1.585,354,1.43,355,1.503,356,1.585,357,1.503,358,0.961,359,1.889,360,1.137,361,1.362,362,1.585,363,2.007,364,0.922,365,1.362,366,1.99,367,1.889,368,2.089,369,2.089,370,2.352,371,2.197,372,1.585,373,2.315,374,1.585,375,1.585,376,1.585,377,1.585,378,1.889,379,2.092,380,1.3,381,1.3,382,1.242,383,2.315,384,1.585,385,1.503,386,1.889,387,1.99,388,1.585,389,1.001,390,1.503,391,1.503,392,2.468,393,1.963,394,1.99,395,1.889,396,1.43,397,1.904,398,1.889,399,1.585,400,1.3,401,1.503,402,1.044,403,1.362,404,1.585,405,1.585,406,1.585,407,1.585,408,1.362,409,1.585,410,1.889,411,1.362,412,1.585,413,2.42,414,3.277,415,0.797,416,0.728,417,1.585,418,0.876,419,0.697,420,0.835,421,0.876,422,0.922,423,0.876,424,0.971,425,2.551,426,0.971,427,0.971,428,0.971,429,0.971,430,0.922,431,0.761,432,0.971,433,0.64,434,0.797,435,0.835,436,0.797,437,0.922,438,0.922,439,1.242,440,1.585,441,1.585,442,1.585,443,0.922,444,0.971,445,0.971,446,0.971,447,2.551,448,0.835,449,0.589,450,0.971,451,0.922,452,0.971,453,0.971,454,0.971,455,1.43,456,1.242,457,1.585,458,1.646,459,1.503,460,0.971,461,0.876,462,0.971,463,0.971,464,0.797,465,0.589,466,0.614,467,0.971,468,0.835,469,0.971,470,0.922,471,0.589,472,0.668,473,0.589,474,0.922,475,0.697,476,0.971,477,0.971,478,0.971,479,0.971,480,0.971,481,0.971,482,0.971,483,0.971,484,0.971,485,0.971,486,0.971,487,0.971,488,0.971,489,0.971,490,0.971,491,0.971,492,0.971,493,0.971,494,0.971,495,0.971,496,0.971,497,0.971,498,0.971,499,0.971,500,0.971,501,0.971,502,0.971,503,0.971,504,0.971]],["title/injectables/MemoryStorage.html",[126,1.408,443,2.204]],["body/injectables/MemoryStorage.html",[0,0.242,3,0.643,4,0.443,5,0.373,10,1.668,11,0.789,12,0.823,14,0.756,15,0.725,18,1.023,21,0.482,22,1.245,28,2.212,30,0.796,33,2.027,34,0.941,37,1.156,38,0.016,39,1.11,40,0.831,41,0.985,43,1.418,44,0.789,46,1.753,51,1.145,54,1.557,62,1.679,63,0.823,64,0.823,68,0.373,72,0.767,73,1.828,74,1.557,75,0.986,76,0.986,77,0.986,82,0.941,83,1.418,92,1.429,103,0.482,109,0.545,114,0.004,115,0.007,116,0.004,125,1.486,126,1.098,127,0.725,132,1.469,168,2.418,202,1.61,222,1.035,228,0.502,229,0.789,234,0.986,236,1.419,242,0.568,254,1.11,279,0.696,284,0.545,285,0.896,293,0.756,296,0.986,305,1.066,311,0.86,313,1.545,324,1.035,325,1.148,326,0.326,327,1.035,328,1.634,330,1.035,331,1.148,332,1.148,333,1.148,334,1.148,335,0.986,336,1.148,338,1.194,339,2.3,340,2.199,341,1.752,342,1.148,343,1.358,344,1.148,345,0.986,346,1.148,347,1.486,348,1.634,349,0.986,350,1.148,351,1.647,352,1.812,353,1.148,354,1.035,355,1.089,356,1.148,357,1.089,358,0.696,360,0.823,361,0.986,362,1.148,363,1.812,364,0.668,366,1.557,368,1.634,369,1.634,370,1.929,371,1.719,372,1.148,373,1.812,374,1.148,375,1.148,376,1.148,377,1.148,379,2.09,380,0.941,381,0.941,382,0.899,383,2.244,384,1.148,385,1.089,387,1.557,388,1.148,389,0.725,390,1.089,391,1.089,392,2.025,393,1.61,394,1.557,396,1.035,397,1.719,399,1.148,400,0.941,401,1.089,402,0.756,403,0.986,404,1.148,405,1.148,406,1.148,407,1.148,408,0.986,409,1.148,411,0.986,412,1.148,413,2.632,414,3.548,415,0.941,416,0.86,417,1.812,418,1.035,419,0.823,420,0.986,421,1.035,422,1.089,423,1.035,424,1.148,425,2.775,426,1.148,427,1.148,428,1.148,429,1.148,430,1.089,431,0.899,432,1.148,433,0.756,434,0.941,435,0.986,436,0.941,437,1.089,438,1.089,439,1.419,440,2.244,441,2.244,442,2.244,443,1.719,444,1.148,445,1.148,446,1.148,447,2.775,448,0.986,449,0.696,450,1.148,451,1.089,452,1.148,453,1.148,454,1.148,455,1.634,456,1.419,457,1.812,458,1.841,459,1.719,460,1.148,461,1.035,462,1.148,463,1.148,464,0.941,465,0.696,466,0.725,467,1.148,468,0.986,469,1.148,470,2.418,471,0.696,472,0.789,473,0.696,474,1.089,475,0.823,476,1.148,477,1.148,478,1.148,479,1.148,480,1.148,481,1.148,482,1.148,483,1.148,484,1.148,485,1.148,486,1.148,487,1.148,488,1.148,489,1.148,490,1.148,491,1.148,492,1.148,493,1.148,494,1.148,495,1.148,496,1.148,497,1.148,498,1.148,499,1.148,500,1.148,501,1.148,502,1.148,503,1.148,504,1.148,505,3.05,506,3.05,507,3.05,508,2.232,509,2.232,510,2.232]],["title/classes/NullValidationHandler.html",[0,0.203,287,2.973]],["body/classes/NullValidationHandler.html",[0,0.215,2,1.496,3,0.876,4,0.954,5,0.803,6,3.446,8,2.227,9,1.934,12,2.472,14,2.066,16,4.013,21,1.037,22,2.155,26,4.013,30,1.113,37,1.615,38,0.016,39,1.551,40,1.161,41,1.211,43,1.981,44,2.492,57,4.742,65,4.013,68,0.803,72,0.575,103,1.317,114,0.009,115,0.012,116,0.009,230,4.116,274,3.732,287,4.013,289,4.738,340,2.155,511,5.801,512,5.279,513,5.279,514,6.098,515,4.738,516,6.098,517,4.155,518,4.801,519,4.801,520,4.801]],["title/classes/OAuthErrorEvent.html",[0,0.203,521,2.774]],["body/classes/OAuthErrorEvent.html",[0,0.305,2,1.36,3,1.168,4,0.867,5,0.73,10,1.11,30,0.796,37,1.156,38,0.016,39,1.11,40,1.345,41,0.867,46,2.356,64,2.362,72,0.846,114,0.009,115,0.011,116,0.009,129,3.921,200,2.797,258,2.516,293,2.169,521,3.521,522,2.872,523,4.649,524,4.553,525,4.864,526,4.553,527,4.364,528,2.68,529,2.872,530,2.68,531,2.872,532,2.872,533,2.68,534,2.872,535,2.872,536,2.872,537,2.872,538,2.872,539,2.872,540,2.68,541,2.68,542,2.872,543,2.872,544,2.872,545,2.68,546,2.68,547,2.872,548,2.024,549,2.872,550,2.872,551,2.872,552,3.102,553,2.872,554,4.835,555,4.553,556,2.872]],["title/classes/OAuthEvent.html",[0,0.203,523,2.973]],["body/classes/OAuthEvent.html",[0,0.308,2,1.39,3,1.181,4,0.886,5,0.745,10,1.134,30,0.813,37,1.181,38,0.016,39,1.134,40,1.355,41,0.886,46,1.889,64,1.645,72,0.852,114,0.009,115,0.011,116,0.009,129,3.73,200,2.837,258,2.57,293,2.192,521,2.738,522,2.934,523,4.681,524,4.6,525,4.889,526,3.169,528,2.738,529,2.934,530,2.738,531,2.934,532,2.934,533,2.738,534,2.934,535,2.934,536,2.934,537,2.934,538,2.934,539,2.934,540,2.738,541,2.738,542,2.934,543,2.934,544,2.934,545,2.738,546,2.738,547,2.934,548,2.068,549,2.934,550,2.934,551,2.934,552,3.169,553,2.934,554,4.875,555,4.6,556,2.934,557,4.459]],["title/classes/OAuthInfoEvent.html",[0,0.203,556,2.973]],["body/classes/OAuthInfoEvent.html",[0,0.307,2,1.378,3,1.294,4,0.878,5,0.739,10,1.124,30,0.806,37,1.171,38,0.016,39,1.124,40,1.351,41,0.878,46,1.879,64,1.63,72,0.85,114,0.009,115,0.011,116,0.009,129,3.94,200,2.821,258,2.548,293,2.183,521,2.714,522,2.909,523,4.668,524,4.581,525,4.879,526,3.142,528,2.714,529,2.909,530,2.714,531,2.909,532,2.909,533,2.714,534,2.909,535,2.909,536,2.909,537,2.909,538,2.909,539,2.909,540,2.714,541,2.714,542,2.909,543,2.909,544,2.909,545,2.714,546,2.714,547,2.909,548,2.05,549,2.909,550,2.909,551,2.909,552,3.142,553,2.909,554,4.859,555,4.581,556,3.805,558,4.42]],["title/classes/OAuthLogger.html",[0,0.203,423,2.096]],["body/classes/OAuthLogger.html",[0,0.235,2,0.654,3,0.873,4,0.417,5,0.351,9,0.845,10,1.849,11,1.185,12,0.774,14,0.711,15,0.682,18,0.982,21,0.453,22,1.185,28,2.188,30,0.955,33,1.973,34,0.885,37,1.386,38,0.016,39,1.331,40,0.997,41,1.109,43,1.701,44,0.742,46,1.814,51,1.09,54,1.483,62,1.622,63,0.774,64,0.774,68,0.351,72,0.752,73,1.891,74,1.483,75,0.927,76,0.927,77,0.927,82,0.885,83,1.362,92,1.386,103,0.453,109,0.512,114,0.004,115,0.007,116,0.004,125,1.415,126,1.046,127,0.682,168,2.019,202,1.701,222,0.973,228,0.472,229,1.481,234,0.927,236,1.351,242,0.534,254,1.066,279,0.654,284,0.512,285,0.853,293,0.711,296,0.927,305,1.023,311,1.293,313,1.492,324,0.973,325,1.079,326,0.306,327,0.973,328,1.556,330,0.973,331,1.079,332,1.079,333,1.079,334,1.079,335,0.927,336,1.079,338,1.136,339,2.221,340,2.151,341,1.692,342,1.079,343,1.293,344,1.079,345,0.927,346,1.079,347,1.415,348,1.556,349,0.927,350,1.079,351,1.603,352,1.725,353,1.079,354,0.973,355,1.024,356,1.079,357,1.024,358,0.654,360,0.774,361,0.927,362,1.079,363,2.155,364,0.628,366,1.483,368,1.556,369,1.556,370,1.852,371,1.636,372,1.079,373,1.725,374,1.079,375,1.079,376,1.079,377,1.079,379,2.019,380,0.885,381,0.885,382,0.845,383,2.462,384,1.079,385,1.024,387,1.483,388,1.079,389,0.682,390,1.024,391,2.723,392,1.944,393,1.546,394,1.483,396,0.973,397,1.636,399,1.079,400,0.885,401,1.024,402,0.711,403,0.927,404,1.079,405,1.079,406,1.079,407,1.079,408,0.927,409,1.079,411,0.927,412,1.079,413,2.554,414,3.622,415,1.415,416,1.293,417,2.155,418,1.556,419,1.237,420,1.483,421,1.556,422,1.636,423,1.556,424,1.725,425,3.585,426,1.725,427,1.725,428,1.725,429,1.725,430,1.024,431,0.845,432,1.079,433,0.711,434,0.885,435,0.927,436,0.885,437,1.024,438,1.024,439,1.351,440,1.725,441,1.725,442,1.725,443,1.024,444,1.079,445,1.079,446,1.079,447,2.692,448,0.927,449,0.654,450,1.079,451,1.024,452,1.079,453,1.079,454,1.079,455,1.556,456,1.351,457,1.725,458,1.767,459,1.636,460,1.079,461,0.973,462,1.079,463,1.079,464,0.885,465,0.654,466,0.682,467,1.079,468,0.927,469,1.079,470,1.024,471,0.654,472,0.742,473,0.654,474,1.024,475,0.774,476,1.079,477,1.079,478,1.079,479,1.079,480,1.079,481,1.079,482,1.079,483,1.079,484,1.079,485,1.079,486,1.079,487,1.079,488,1.079,489,1.079,490,1.079,491,1.079,492,1.079,493,1.079,494,1.079,495,1.079,496,1.079,497,1.079,498,1.079,499,1.079,500,1.079,501,1.079,502,1.079,503,1.079,504,1.079,559,3.355,560,2.904,561,3.355,562,2.098,563,4.531,564,2.098,565,2.098,566,2.098,567,2.098]],["title/modules/OAuthModule.html",[568,3.51,569,2.973]],["body/modules/OAuthModule.html",[0,0.172,3,0.7,4,0.762,5,0.642,7,2.728,12,1.94,22,1.356,30,0.7,35,1.78,37,1.016,38,0.016,39,0.976,40,0.731,41,0.762,43,1.247,68,1.289,72,0.46,92,1.016,103,0.829,114,0.008,115,0.01,116,0.008,117,3.461,119,1.973,123,2.982,127,1.247,128,3.739,131,4.087,133,2.525,153,3.739,195,3.739,202,1.709,204,3.23,206,4.154,217,2.085,228,0.863,229,1.356,230,3.965,231,3.32,232,2.982,233,2.525,242,0.976,254,1.526,274,1.872,287,3.949,293,1.782,365,1.696,419,2.687,423,2.44,439,2.119,511,3.321,569,3.949,570,2.982,571,5.26,572,3.837,573,5.26,574,5.26,575,3.837,576,6.457,577,3.837,578,3.459,579,6.001,580,1.872,581,3.321,582,4.663,583,5.26,584,3.321,585,5.26,586,4.087,587,3.837,588,3.461,589,3.837,590,3.837,591,3.837,592,4.553,593,4.553,594,3.837,595,2.982,596,2.982,597,3.837,598,2.728,599,4.553,600,5.855,601,3.837,602,3.837]],["title/classes/OAuthModuleConfig.html",[0,0.203,206,2.774]],["body/classes/OAuthModuleConfig.html",[0,0.294,2,1.676,3,0.981,4,1.068,5,0.899,10,1.664,21,1.161,28,1.482,30,0.981,38,0.016,40,1.024,63,1.983,72,0.784,92,1.423,114,0.011,115,0.013,116,0.011,206,4.018,236,2.636,242,1.367,248,4.305,329,2.891,340,1.899,351,1.544,603,5.663,604,4.653,605,5.014,606,5.48,607,5.375,608,3.821,609,4.176,610,4.653,611,4.653,612,4.176,613,3.537,614,3.821,615,3.821,616,4.653]],["title/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.203,588,2.973]],["body/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.289,2,1.629,3,0.953,4,1.038,5,0.874,8,2.424,10,1.635,14,2.178,21,1.128,22,2.272,30,0.953,37,1.384,38,0.016,39,1.329,40,0.995,41,1.038,43,1.698,68,1.075,72,0.77,103,1.128,114,0.01,115,0.013,116,0.01,204,4.278,214,4.783,217,2.84,219,3.715,228,1.447,229,2.272,294,3.715,517,4.523,588,4.232,617,5.566,618,5.566,619,5.413,620,5.799,621,4.523,622,4.523]],["title/classes/OAuthResourceServerConfig.html",[0,0.203,606,3.51]],["body/classes/OAuthResourceServerConfig.html",[0,0.28,2,1.55,3,0.907,4,0.988,5,0.832,10,1.586,21,1.074,28,1.372,30,1.243,38,0.016,40,1.297,41,1.419,63,2.3,72,0.747,92,1.651,114,0.01,115,0.012,116,0.01,154,2.703,206,3.054,236,2.745,242,1.265,248,4.841,329,2.756,340,2.204,351,1.791,603,6.183,604,4.305,605,3.536,606,5.294,608,4.433,609,4.846,610,5.398,611,5.398,612,4.846,613,4.104,614,4.843,615,4.433,616,5.897,623,4.974,624,4.974,625,4.974]],["title/classes/OAuthResourceServerErrorHandler.html",[0,0.203,204,2.774]],["body/classes/OAuthResourceServerErrorHandler.html",[0,0.289,2,1.629,3,0.953,4,1.038,5,0.874,8,2.424,10,1.848,14,1.77,21,1.128,22,2.272,30,0.953,37,1.384,38,0.016,39,1.329,40,0.995,41,1.038,43,1.698,68,1.075,72,0.77,103,1.128,114,0.01,115,0.013,116,0.01,204,4.278,214,4.783,217,2.84,219,3.715,228,1.447,229,2.272,294,3.715,588,3.439,617,5.566,618,5.566,619,5.413,620,5.799,621,4.523,622,4.523,626,5.226]],["title/classes/OAuthStorage.html",[0,0.203,439,1.82]],["body/classes/OAuthStorage.html",[0,0.239,2,0.68,3,0.631,4,0.433,5,0.365,9,0.878,10,1.806,11,0.77,12,0.804,14,0.739,15,0.708,18,1.008,21,0.471,22,1.222,28,2.209,30,0.784,33,2.006,34,0.919,37,1.138,38,0.016,39,1.093,40,0.819,41,0.972,43,1.396,44,0.77,46,1.733,51,1.124,54,1.528,62,1.657,63,0.804,64,0.804,68,0.365,72,0.762,73,1.807,74,1.528,75,0.964,76,0.964,77,0.964,82,0.919,83,1.59,92,1.413,103,0.471,109,0.532,114,0.004,115,0.007,116,0.004,125,1.458,126,1.078,127,0.708,168,2.394,202,1.59,222,1.011,228,0.491,229,0.77,234,0.964,236,1.393,242,0.554,254,1.093,279,0.68,284,0.532,285,0.879,293,1.172,296,0.964,305,1.049,311,0.84,313,1.525,324,1.011,325,1.121,326,0.318,327,1.011,328,1.604,330,1.011,331,1.121,332,1.121,333,1.121,334,1.121,335,0.964,336,1.121,338,1.172,339,2.27,340,2.246,341,1.729,342,1.121,343,1.333,344,1.121,345,0.964,346,1.121,347,1.458,348,1.604,349,0.964,350,1.121,351,1.631,352,1.778,353,1.121,354,1.011,355,1.064,356,1.121,357,1.064,358,0.68,360,0.804,361,0.964,362,1.121,363,1.778,364,0.652,366,1.528,368,1.604,369,1.604,370,1.9,371,1.687,372,1.121,373,1.778,374,1.121,375,1.121,376,1.121,377,1.121,379,2.063,380,0.919,381,0.919,382,0.878,383,2.516,384,1.121,385,1.064,387,1.528,388,1.121,389,0.708,390,1.064,391,1.064,392,1.994,393,1.586,394,1.528,396,1.011,397,1.687,399,1.121,400,0.919,401,1.064,402,0.739,403,0.964,404,1.121,405,1.121,406,1.121,407,1.121,408,0.964,409,1.121,411,0.964,412,1.121,413,2.603,414,3.528,415,0.919,416,0.84,417,2.21,418,1.011,419,0.804,420,0.964,421,1.011,422,1.064,423,1.011,424,1.121,425,2.743,426,1.121,427,1.121,428,1.121,429,1.121,430,1.687,431,1.393,432,1.778,433,1.172,434,1.458,435,1.528,436,1.458,437,1.687,438,1.687,439,1.732,440,2.21,441,2.21,442,2.21,443,1.064,444,1.121,445,1.121,446,1.121,447,2.743,448,0.964,449,0.68,450,1.121,451,1.064,452,1.121,453,1.121,454,1.121,455,1.604,456,1.393,457,1.778,458,1.813,459,1.687,460,1.121,461,1.011,462,1.121,463,1.121,464,0.919,465,0.68,466,0.708,467,1.121,468,0.964,469,1.121,470,2.387,471,0.68,472,0.77,473,0.68,474,1.064,475,0.804,476,1.121,477,1.121,478,1.121,479,1.121,480,1.121,481,1.121,482,1.121,483,1.121,484,1.121,485,1.121,486,1.121,487,1.121,488,1.121,489,1.121,490,1.121,491,1.121,492,1.121,493,1.121,494,1.121,495,1.121,496,1.121,497,1.121,498,1.121,499,1.121,500,1.121,501,1.121,502,1.121,503,1.121,504,1.121,505,2.994,506,2.994,507,2.994,627,2.18,628,2.18,629,2.18]],["title/classes/OAuthSuccessEvent.html",[0,0.203,553,2.973]],["body/classes/OAuthSuccessEvent.html",[0,0.307,2,1.378,3,1.294,4,0.878,5,0.739,10,1.124,30,0.806,37,1.171,38,0.016,39,1.124,40,1.351,41,0.878,46,1.879,64,1.63,72,0.85,114,0.009,115,0.011,116,0.009,129,3.94,200,2.821,258,2.548,293,2.183,521,2.714,522,2.909,523,4.668,524,4.581,525,4.879,526,3.142,528,2.714,529,2.909,530,2.714,531,2.909,532,2.909,533,2.714,534,2.909,535,2.909,536,2.909,537,2.909,538,2.909,539,2.909,540,2.714,541,2.714,542,2.909,543,2.909,544,2.909,545,2.714,546,2.714,547,2.909,548,2.05,549,2.909,550,2.909,551,2.909,552,3.142,553,3.805,554,4.859,555,4.581,556,2.909,630,4.42]],["title/interfaces/OidcDiscoveryDoc.html",[73,1.53,474,2.204]],["body/interfaces/OidcDiscoveryDoc.html",[0,0.223,3,0.564,4,0.377,5,0.317,9,0.764,10,1.585,11,0.67,12,0.699,14,0.642,15,0.616,18,0.917,21,0.409,28,2.238,33,1.884,34,0.8,38,0.016,40,1.429,41,0.377,44,0.67,46,1.615,51,1.004,54,1.366,62,1.529,63,0.699,64,0.699,68,0.317,72,0.726,73,1.684,74,1.366,75,0.838,76,0.838,77,0.838,82,0.8,83,1.271,92,1.316,103,0.409,109,0.463,114,0.004,115,0.006,116,0.004,125,1.303,126,0.964,127,0.616,168,1.903,202,1.466,222,0.88,228,0.427,229,0.67,234,0.838,236,1.818,242,0.482,254,0.995,279,0.591,284,0.463,285,0.786,293,0.642,296,0.838,305,0.955,311,0.731,313,1.407,324,0.88,325,0.975,326,0.277,327,0.88,328,1.434,329,1.366,330,0.88,331,0.975,332,0.975,333,0.975,334,0.975,335,0.838,336,0.975,338,1.047,339,2.093,340,2.071,341,1.595,342,0.975,343,1.191,344,0.975,345,0.838,346,0.975,347,1.303,348,1.434,349,0.838,350,0.975,351,1.531,352,1.589,353,0.975,354,0.88,355,0.925,356,0.975,357,0.925,358,0.591,360,0.699,361,0.838,362,0.975,363,1.589,364,0.567,366,1.366,368,1.434,369,1.434,370,1.729,371,1.508,372,0.975,373,1.589,374,0.975,375,0.975,376,0.975,377,0.975,379,1.903,380,0.8,381,0.8,382,0.764,383,2.012,384,0.975,385,0.925,387,1.366,388,0.975,389,0.616,390,0.925,391,0.925,392,1.815,393,1.443,394,1.366,396,0.88,397,1.508,399,0.975,400,0.8,401,0.925,402,0.642,403,0.838,404,0.975,405,0.975,406,0.975,407,0.975,408,0.838,409,0.975,411,0.838,412,0.975,413,2.425,414,3.281,415,0.8,416,0.731,417,1.589,418,0.88,419,0.699,420,0.838,421,0.88,422,0.925,423,0.88,424,0.975,425,2.556,426,0.975,427,0.975,428,0.975,429,0.975,430,0.925,431,0.764,432,0.975,433,0.642,434,0.8,435,0.838,436,0.8,437,0.925,438,0.925,439,1.245,440,1.589,441,1.589,442,1.589,443,0.925,444,0.975,445,0.975,446,0.975,447,2.741,448,0.838,449,0.591,450,0.975,451,0.925,452,0.975,453,0.975,454,0.975,455,1.434,456,1.245,457,1.589,458,1.903,459,1.508,460,0.975,461,0.88,462,0.975,463,0.975,464,0.8,465,0.591,466,0.616,467,0.975,468,0.838,469,0.975,470,0.925,471,0.964,472,1.092,473,0.964,474,1.508,475,1.665,476,2.32,477,2.32,478,2.32,479,2.32,480,2.32,481,2.32,482,2.32,483,2.32,484,2.32,485,2.32,486,2.32,487,2.32,488,2.32,489,2.32,490,2.32,491,2.32,492,2.32,493,2.32,494,2.32,495,2.32,496,2.32,497,2.32,498,2.32,499,2.32,500,2.32,501,2.32,502,2.32,503,2.32,504,2.32,631,1.164]],["title/interfaces/ParsedIdToken.html",[73,1.53,451,2.204]],["body/interfaces/ParsedIdToken.html",[0,0.243,3,0.646,4,0.446,5,0.375,9,0.904,10,1.67,11,0.793,12,0.828,14,0.76,15,0.729,18,1.027,21,0.485,28,2.208,33,2.031,34,0.946,38,0.016,40,1.095,41,0.446,44,0.793,46,2.084,51,1.423,54,1.936,62,1.684,63,0.828,64,0.828,68,0.375,72,0.769,73,1.833,74,2.391,75,0.992,76,2.197,77,2.197,82,0.946,83,1.423,92,1.433,103,0.485,109,0.548,114,0.004,115,0.007,116,0.004,125,2.097,126,1.103,127,0.729,168,2.097,202,1.615,222,1.041,228,0.505,229,0.793,234,0.992,236,1.426,242,0.571,254,1.114,279,0.7,284,0.548,285,0.9,293,0.76,296,0.992,305,1.069,311,0.865,313,1.55,324,1.041,325,1.154,326,0.327,327,1.041,328,1.641,329,1.564,330,1.041,331,1.154,332,1.154,333,1.154,334,1.154,335,0.992,336,1.154,338,1.199,339,2.306,340,2.203,341,1.757,342,1.154,343,1.363,344,1.154,345,0.992,346,1.154,347,1.492,348,1.641,349,0.992,350,1.154,351,1.651,352,1.819,353,1.154,354,1.041,355,1.095,356,1.154,357,1.095,358,0.7,360,0.828,361,0.992,362,1.154,363,1.819,364,0.671,366,1.564,368,1.641,369,1.641,370,1.936,371,1.726,372,1.154,373,1.819,374,1.154,375,1.154,376,1.154,377,1.154,379,2.097,380,0.946,381,0.946,382,0.904,383,2.252,384,1.154,385,1.095,387,1.564,388,1.154,389,0.729,390,1.095,391,1.095,392,2.032,393,1.616,394,1.564,396,1.041,397,2.137,399,1.154,400,0.946,401,1.095,402,0.76,403,0.992,404,1.154,405,1.154,406,1.154,407,1.154,408,0.992,409,1.154,411,0.992,412,1.154,413,2.639,414,3.444,415,0.946,416,0.865,417,1.819,418,1.041,419,0.828,420,0.992,421,1.041,422,1.095,423,1.041,424,1.154,425,2.782,426,1.154,427,1.154,428,1.154,429,1.154,430,1.095,431,0.904,432,1.154,433,0.76,434,0.946,435,0.992,436,0.946,437,1.095,438,1.095,439,1.426,440,1.819,441,1.819,442,1.819,443,1.095,444,1.154,445,1.154,446,1.154,447,2.956,448,0.992,449,0.7,450,1.154,451,1.726,452,2.556,453,2.556,454,2.556,455,1.641,456,1.426,457,1.819,458,1.847,459,1.726,460,1.154,461,1.041,462,1.154,463,1.154,464,0.946,465,0.7,466,0.729,467,1.154,468,0.992,469,1.154,470,1.095,471,0.7,472,0.793,473,0.7,474,1.095,475,0.828,476,1.154,477,1.154,478,1.154,479,1.154,480,1.154,481,1.154,482,1.154,483,1.154,484,1.154,485,1.154,486,1.154,487,1.154,488,1.154,489,1.154,490,1.154,491,1.154,492,1.154,493,1.154,494,1.154,495,1.154,496,1.154,497,1.154,498,1.154,499,1.154,500,1.154,501,1.154,502,1.154,503,1.154,504,1.154,631,1.378]],["title/classes/ReceivedTokens.html",[0,0.203,413,2.204]],["body/classes/ReceivedTokens.html",[0,0.243,2,0.703,3,0.648,4,0.448,5,0.377,9,0.909,10,1.673,11,0.797,12,0.832,14,0.764,15,0.733,18,1.03,21,0.487,28,2.204,30,0.91,33,2.036,34,0.952,38,0.016,40,0.95,41,1.078,44,0.797,46,1.872,51,1.155,54,1.943,62,1.952,63,0.832,64,0.832,68,0.377,72,0.77,73,1.838,74,2.204,75,1.943,76,0.997,77,0.997,82,0.952,83,1.62,92,1.436,103,0.487,109,0.551,114,0.004,115,0.007,116,0.004,125,1.499,126,1.108,127,0.733,168,2.103,202,1.62,222,1.047,228,0.508,229,0.797,234,0.997,236,1.432,242,0.574,254,1.268,279,0.703,284,0.551,285,0.904,293,0.764,296,0.997,305,1.073,311,0.869,313,1.555,324,1.047,325,1.16,326,0.329,327,1.047,328,1.649,329,1.571,330,1.047,331,1.16,332,1.16,333,1.16,334,1.16,335,0.997,336,1.16,338,1.204,339,2.313,340,2.207,341,1.762,342,1.16,343,1.369,344,1.16,345,0.997,346,1.16,347,1.499,348,1.649,349,0.997,350,1.16,351,1.655,352,1.827,353,1.16,354,1.047,355,1.101,356,1.16,357,1.101,358,0.703,360,0.832,361,0.997,362,1.16,363,1.827,364,0.675,366,1.571,368,1.649,369,1.649,370,1.943,371,1.734,372,1.16,373,1.827,374,1.16,375,1.16,376,1.16,377,1.16,379,2.542,380,0.952,381,0.952,382,0.909,383,2.26,384,1.16,385,1.101,387,1.571,388,1.16,389,0.733,390,1.101,391,1.101,392,2.039,393,1.622,394,1.571,396,1.047,397,1.734,399,1.16,400,0.952,401,1.101,402,0.764,403,0.997,404,1.16,405,1.16,406,1.16,407,1.16,408,0.997,409,1.16,411,0.997,412,1.16,413,2.811,414,3.45,415,0.952,416,0.869,417,1.827,418,1.047,419,0.832,420,0.997,421,1.047,422,1.101,423,1.047,424,1.16,425,2.789,426,1.16,427,1.16,428,1.16,429,1.16,430,1.101,431,0.909,432,1.16,433,0.764,434,0.952,435,0.997,436,0.952,437,1.101,438,1.101,439,1.432,440,1.827,441,1.827,442,1.827,443,1.101,444,1.16,445,1.16,446,1.16,447,2.962,448,1.571,449,1.108,450,2.26,451,1.101,452,1.16,453,1.16,454,1.16,455,1.649,456,1.432,457,1.827,458,1.854,459,1.734,460,1.16,461,1.047,462,1.16,463,1.16,464,0.952,465,0.703,466,0.733,467,1.16,468,0.997,469,1.16,470,1.101,471,0.703,472,0.797,473,0.703,474,1.101,475,0.832,476,1.16,477,1.16,478,1.16,479,1.16,480,1.16,481,1.16,482,1.16,483,1.16,484,1.16,485,1.16,486,1.16,487,1.16,488,1.16,489,1.16,490,1.16,491,1.16,492,1.16,493,1.16,494,1.16,495,1.16,496,1.16,497,1.16,498,1.16,499,1.16,500,1.16,501,1.16,502,1.16,503,1.16,504,1.16,632,2.257,633,2.257,634,2.257,635,2.257]],["title/injectables/SystemDateTimeProvider.html",[126,1.408,128,3.212]],["body/injectables/SystemDateTimeProvider.html",[0,0.287,3,0.946,4,1.03,5,0.867,10,1.765,21,1.12,22,2.262,30,1.168,38,0.016,43,2.079,68,0.867,72,0.767,103,1.382,109,1.852,114,0.01,115,0.013,116,0.01,117,4.9,118,4.489,119,2.667,120,4.489,121,5.294,123,5.633,125,2.928,126,1.995,127,1.685,128,4.55,129,3.689,130,4.489,132,3.413,290,5.54,636,5.186,637,5.186]],["title/interfaces/TokenResponse.html",[73,1.53,461,2.096]],["body/interfaces/TokenResponse.html",[0,0.241,3,0.638,4,0.44,5,0.37,9,0.892,10,1.663,11,0.782,12,0.816,14,0.75,15,0.719,18,1.017,21,0.478,28,2.214,33,2.019,34,0.933,38,0.016,40,1.14,41,0.862,44,0.782,46,1.746,51,1.746,54,1.547,62,1.671,63,1.82,64,0.816,68,0.37,72,0.765,73,1.82,74,1.547,75,0.978,76,0.978,77,0.978,82,0.933,83,1.41,92,1.423,103,0.478,109,0.54,114,0.004,115,0.007,116,0.004,125,2.08,126,1.091,127,0.719,168,2.08,202,1.603,222,1.027,228,0.498,229,0.782,234,0.978,236,1.41,242,0.563,254,1.254,279,0.69,284,0.54,285,0.89,293,0.75,296,0.978,305,1.06,311,0.853,313,1.538,324,1.027,325,1.138,326,0.323,327,1.027,328,1.623,329,1.547,330,1.027,331,1.138,332,1.138,333,1.138,334,1.138,335,0.978,336,1.138,338,1.185,339,2.289,340,2.192,341,1.743,342,1.138,343,1.348,344,1.138,345,0.978,346,1.138,347,1.476,348,1.623,349,0.978,350,1.138,351,1.641,352,1.799,353,1.138,354,1.027,355,1.08,356,1.138,357,1.08,358,0.69,360,0.816,361,0.978,362,1.138,363,1.799,364,0.662,366,1.547,368,1.623,369,1.623,370,1.918,371,1.707,372,1.138,373,1.799,374,1.138,375,1.138,376,1.138,377,1.138,379,2.523,380,0.933,381,0.933,382,0.892,383,2.232,384,1.138,385,1.08,387,1.547,388,1.138,389,0.719,390,1.08,391,1.08,392,2.014,393,1.601,394,1.547,396,1.027,397,1.707,399,1.138,400,0.933,401,1.08,402,0.75,403,0.978,404,1.138,405,1.138,406,1.138,407,1.138,408,0.978,409,1.138,411,0.978,412,1.138,413,2.621,414,3.431,415,0.933,416,0.853,417,1.799,418,1.027,419,0.816,420,0.978,421,1.027,422,1.08,423,1.027,424,1.138,425,2.763,426,1.138,427,1.138,428,1.138,429,1.138,430,1.08,431,0.892,432,1.138,433,0.75,434,0.933,435,0.978,436,0.933,437,1.08,438,1.08,439,1.41,440,1.799,441,1.799,442,1.799,443,1.08,444,1.138,445,1.138,446,1.138,447,2.938,448,0.978,449,0.69,450,1.138,451,1.08,452,1.138,453,1.138,454,1.138,455,2.014,456,1.749,457,2.232,458,2.08,459,2.117,460,1.799,461,1.623,462,2.537,463,2.537,464,2.08,465,1.538,466,0.719,467,1.138,468,0.978,469,1.138,470,1.08,471,0.69,472,0.782,473,0.69,474,1.08,475,0.816,476,1.138,477,1.138,478,1.138,479,1.138,480,1.138,481,1.138,482,1.138,483,1.138,484,1.138,485,1.138,486,1.138,487,1.138,488,1.138,489,1.138,490,1.138,491,1.138,492,1.138,493,1.138,494,1.138,495,1.138,496,1.138,497,1.138,498,1.138,499,1.138,500,1.138,501,1.138,502,1.138,503,1.138,504,1.138,631,1.359]],["title/injectables/UrlHelperService.html",[126,1.408,586,3.51]],["body/injectables/UrlHelperService.html",[0,0.203,3,0.826,4,0.899,5,0.757,21,0.977,22,2.075,28,2.02,30,1.072,33,2.438,35,2.1,37,1.555,38,0.016,39,1.493,40,1.118,41,1.167,43,1.908,46,2.241,68,0.757,72,0.542,84,3.981,103,1.408,114,0.009,115,0.012,116,0.009,126,1.831,127,1.471,132,2.979,147,2.724,163,3.385,168,2.476,293,1.533,330,2.724,354,2.724,470,2.208,563,3.918,586,4.563,638,6.519,639,4.527,640,5.873,641,5.873,642,5.873,643,4.527,644,5.873,645,4.527,646,4.527,647,4.527,648,5.873,649,5.873,650,3.865,651,4.527,652,4.527,653,4.527,654,5.873,655,4.527,656,4.527,657,4.527,658,4.527,659,4.527]],["title/interfaces/UserInfo.html",[73,1.53,468,1.997]],["body/interfaces/UserInfo.html",[0,0.246,3,0.814,4,0.458,5,0.386,9,0.929,10,1.684,11,0.815,12,0.851,14,0.781,15,0.75,18,1.045,21,0.498,28,2.207,30,0.421,33,2.055,34,0.973,38,0.016,40,0.439,41,0.458,44,0.815,46,1.781,51,1.175,54,1.598,62,1.71,63,0.851,64,0.851,68,0.386,72,0.775,73,1.857,74,1.598,75,1.02,76,1.02,77,1.02,82,0.973,83,1.449,92,1.452,103,0.498,109,0.563,114,0.005,115,0.007,116,0.005,125,1.525,126,1.127,127,0.75,168,2.129,202,1.64,222,1.07,228,0.519,229,0.815,234,1.02,236,1.457,242,0.587,254,1.134,279,0.719,284,0.563,285,0.919,293,0.781,296,1.02,305,1.089,311,0.889,313,1.574,324,1.07,325,1.186,326,0.336,327,1.07,328,1.677,329,1.598,330,1.07,331,1.186,332,1.186,333,1.186,334,1.186,335,1.02,336,1.186,338,1.225,339,2.342,340,2.224,341,1.784,342,1.186,343,1.393,344,1.186,345,1.02,346,1.186,347,1.525,348,1.677,349,1.02,350,1.186,351,1.67,352,1.859,353,1.186,354,1.07,355,1.125,356,1.186,357,1.125,358,0.719,360,0.851,361,1.02,362,1.186,363,1.859,364,0.69,366,1.598,368,1.677,369,1.677,370,1.971,371,1.764,372,1.186,373,1.859,374,1.186,375,1.186,376,1.186,377,1.186,379,2.129,380,0.973,381,0.973,382,0.929,383,2.293,384,1.186,385,1.125,387,1.598,388,1.186,389,0.75,390,1.125,391,1.125,392,2.069,393,1.645,394,1.598,396,1.07,397,1.764,399,1.186,400,0.973,401,1.125,402,0.781,403,1.02,404,1.186,405,1.186,406,1.186,407,1.186,408,1.02,409,1.186,411,1.02,412,1.186,413,2.674,414,3.47,415,0.973,416,0.889,417,1.859,418,1.07,419,0.851,420,1.02,421,1.07,422,1.125,423,1.07,424,1.186,425,2.819,426,1.186,427,1.186,428,1.186,429,1.186,430,1.125,431,0.929,432,1.186,433,0.781,434,0.973,435,1.02,436,0.973,437,1.125,438,1.125,439,1.457,440,1.859,441,1.859,442,1.859,443,1.125,444,1.186,445,1.186,446,1.186,447,2.99,448,1.02,449,0.719,450,1.186,451,1.125,452,1.186,453,1.186,454,1.186,455,2.069,456,1.797,457,2.293,458,2.129,459,2.175,460,1.186,461,1.07,462,1.186,463,1.186,464,0.973,465,0.719,466,1.175,467,1.859,468,1.598,469,2.596,470,1.764,471,0.719,472,0.815,473,0.719,474,1.125,475,0.851,476,1.186,477,1.186,478,1.186,479,1.186,480,1.186,481,1.186,482,1.186,483,1.186,484,1.186,485,1.186,486,1.186,487,1.186,488,1.186,489,1.186,490,1.186,491,1.186,492,1.186,493,1.186,494,1.186,495,1.186,496,1.186,497,1.186,498,1.186,499,1.186,500,1.186,501,1.186,502,1.186,503,1.186,504,1.186,631,1.417,660,2.307,661,2.307]],["title/classes/ValidationHandler.html",[0,0.203,12,1.666]],["body/classes/ValidationHandler.html",[0,0.21,1,2.311,2,1.013,3,0.593,4,0.646,5,0.544,6,2.821,7,3.9,8,1.508,9,1.31,10,1.86,11,1.149,12,2.214,13,1.996,14,1.586,15,1.521,16,3.949,17,1.586,18,1.097,19,2.311,20,3.081,21,0.702,22,1.654,23,3.638,25,2.311,26,3.61,28,1.827,29,3.949,30,0.854,32,2.526,33,1.939,34,1.974,35,1.508,36,0.702,37,1.24,38,0.016,39,1.395,40,0.891,41,0.93,42,3.081,43,1.521,44,2.469,45,2.526,46,1.95,48,2.526,49,4.263,50,2.526,51,2.218,52,2.526,53,2.526,54,1.437,55,2.139,56,2.526,57,4.579,59,4.709,60,4.521,61,3.9,62,1.858,63,2.023,65,3.081,67,3.61,68,0.544,69,2.311,70,2.311,71,2.526,72,0.657,73,1.858,74,1.437,75,1.437,76,1.437,77,1.437,78,1.586,79,2.526,80,3.638,81,3.638,82,1.974,83,1.521,84,3.6,85,3.638,86,2.526,87,2.526,88,2.139,89,2.526,90,2.526,91,2.526,92,0.861,93,2.526,94,2.526,95,2.526,96,2.311,97,4.663,98,2.526,99,4.663,100,2.526,101,2.526,102,2.526,103,1.011,104,4.263,105,2.526,106,2.526,107,2.526,108,2.139,109,0.794,110,2.526,111,2.139,112,2.311,113,2.526,114,0.006,115,0.009,116,0.006,289,2.526,662,3.251,663,3.251]],["title/interfaces/ValidationParams.html",[57,2.774,73,1.53]],["body/interfaces/ValidationParams.html",[0,0.214,1,2.375,3,0.61,4,0.664,5,0.559,6,1.718,7,2.375,8,1.55,10,1.75,11,1.18,12,2.054,13,2.051,14,1.617,15,1.551,16,3.141,17,1.63,18,1.119,19,2.375,20,3.141,21,0.721,23,3.709,25,2.375,26,2.198,28,2.004,29,3.999,32,2.596,33,1.968,34,2.013,35,1.55,36,0.721,38,0.016,39,0.849,40,1.273,42,3.141,44,2.362,45,2.596,46,2.361,48,2.596,49,4.328,50,2.596,51,2.088,52,2.596,53,2.596,54,1.476,55,2.198,56,2.596,57,4.321,59,4.319,60,4.319,61,3.393,62,1.617,63,1.761,65,2.198,67,3.141,68,0.559,69,2.375,70,2.375,71,2.596,72,0.667,73,1.617,74,2.685,75,2.685,76,2.685,77,2.685,78,2.964,79,4.721,80,2.596,81,2.596,82,1.409,83,1.085,84,2.594,85,3.709,86,2.596,87,2.596,88,2.198,89,2.596,90,2.596,91,2.596,92,0.885,93,2.596,94,2.596,95,2.596,96,2.375,97,4.721,98,2.596,99,4.721,100,2.596,101,2.596,102,2.596,103,1.031,104,4.328,105,2.596,106,2.596,107,2.596,108,2.198,109,0.816,110,2.596,111,2.198,112,2.375,113,2.596,114,0.007,115,0.009,116,0.007,154,2.594,329,2.11,631,2.051]],["title/classes/WebHttpUrlEncodingCodec.html",[0,0.203,664,3.911]],["body/classes/WebHttpUrlEncodingCodec.html",[0,0.2,2,1.393,3,0.815,4,0.888,5,0.747,9,1.8,14,1.973,21,0.965,22,2.058,28,2.199,30,1.252,37,1.818,38,0.016,39,1.745,40,1.307,41,1.364,43,2.23,68,0.747,72,0.535,103,1.482,114,0.009,115,0.011,116,0.009,164,4.139,217,2.428,338,1.973,340,2.058,664,5.04,665,4.468,666,5.823,667,5.823,668,5.823,669,6.478,670,5.823,671,5.823,672,5.823,673,5.823,674,5.823,675,4.468,676,5.823,677,5.823,678,4.468,679,5.823,680,5.823,681,4.468,682,5.823,683,4.468,684,4.468,685,4.468,686,4.468,687,4.468]],["title/changelog.html",[688,2.267,689,2.588,690,3.404]],["body/changelog.html",[5,0.79,13,1.26,17,2.014,18,1.362,33,1.67,36,1.194,37,0.544,38,0.009,40,0.628,41,0.408,51,0.667,64,2.039,78,1.001,83,0.667,92,0.873,109,0.805,112,1.459,114,0.004,115,0.006,116,0.004,117,1.351,119,1.055,121,2.343,145,1.351,146,1.351,160,1.595,182,2.343,200,1.001,228,0.462,229,0.725,230,1.26,231,2.431,233,3.637,236,0.827,242,1.316,254,1.477,274,1.001,283,0.791,284,1.418,295,0.827,299,2.244,304,1.822,305,1.712,308,2.561,311,1.591,313,2.186,327,0.952,330,0.952,338,1.754,341,0.725,343,1.995,345,2.567,347,1.993,349,1.456,354,1.529,357,1.001,364,1.549,365,1.825,368,0.952,369,0.952,379,2.696,385,1.001,389,0.667,401,1.001,402,1.116,431,0.827,449,0.64,455,0.952,456,1.664,461,0.952,464,1.39,468,0.907,473,1.027,548,2.402,609,1.595,690,1.777,691,2.053,692,2.053,693,2.053,694,2.053,695,4.481,696,4.481,697,2.053,698,2.053,699,5.809,700,2.053,701,2.053,702,2.053,703,2.053,704,2.053,705,2.053,706,2.053,707,2.053,708,2.053,709,2.053,710,2.053,711,2.053,712,2.053,713,2.053,714,5.177,715,2.053,716,2.053,717,2.053,718,2.053,719,2.053,720,3.574,721,2.935,722,2.053,723,2.053,724,2.053,725,2.053,726,2.053,727,2.053,728,1.459,729,2.053,730,1.115,731,2.053,732,2.053,733,5.528,734,2.053,735,2.053,736,2.053,737,2.053,738,2.053,739,0.827,740,2.053,741,3.296,742,2.053,743,2.053,744,2.053,745,2.053,746,4.481,747,2.053,748,2.053,749,2.053,750,1.183,751,2.053,752,2.343,753,2.053,754,2.053,755,1.777,756,2.053,757,4.785,758,2.053,759,2.053,760,1.595,761,2.053,762,3.36,763,1.115,764,2.053,765,4.129,766,2.053,767,2.053,768,2.053,769,2.053,770,2.053,771,1.777,772,1.777,773,3.574,774,2.053,775,2.053,776,2.053,777,2.053,778,2.053,779,1.351,780,2.053,781,2.053,782,4.13,783,5.809,784,4.13,785,4.13,786,3.296,787,2.053,788,2.053,789,2.053,790,2.053,791,2.053,792,2.053,793,3.296,794,3.296,795,2.053,796,2.053,797,2.053,798,2.053,799,2.053,800,2.053,801,2.053,802,2.053,803,4.13,804,3.296,805,2.053,806,3.296,807,2.053,808,2.053,809,2.053,810,4.13,811,2.053,812,2.053,813,2.853,814,2.053,815,2.053,816,2.053,817,2.053,818,2.053,819,2.053,820,2.053,821,3.296,822,4.13,823,4.13,824,4.13,825,2.053,826,1.595,827,2.053,828,4.727,829,2.053,830,2.053,831,2.053,832,2.053,833,2.053,834,2.053,835,2.053,836,2.053,837,4.13,838,3.296,839,2.053,840,2.053,841,2.053,842,3.296,843,2.053,844,2.053,845,1.777,846,2.053,847,2.053,848,2.053,849,2.053,850,2.053,851,2.853,852,2.053,853,3.574,854,3.209,855,4.13,856,2.053,857,4.13,858,3.574,859,3.209,860,2.935,861,4.13,862,2.053,863,1.777,864,2.053,865,2.053,866,2.123,867,1.459,868,2.053,869,1.777,870,3.296,871,3.296,872,3.296,873,3.296,874,3.296,875,2.343,876,2.024,877,2.853,878,3.296,879,3.567,880,2.853,881,1.608,882,3.209,883,2.853,884,3.296,885,3.296,886,2.903,887,1.9,888,2.053,889,2.343,890,2.561,891,3.296,892,2.853,893,4.092,894,3.296,895,2.053,896,2.053,897,2.053,898,1.777,899,2.053,900,2.853,901,2.853,902,2.169,903,3.296,904,2.853,905,2.853,906,3.296,907,3.296,908,3.296,909,4.13,910,2.561,911,2.853,912,3.296,913,2.343,914,2.024,915,3.296,916,3.296,917,3.296,918,3.296,919,2.343,920,3.296,921,3.296,922,3.296,923,3.296,924,3.296,925,2.853,926,3.296,927,3.296,928,3.296,929,3.296,930,3.296,931,2.053,932,2.053,933,2.053,934,3.296,935,2.053,936,3.296,937,2.053,938,1.777,939,1.777,940,1.777,941,1.777,942,0.907,943,1.777,944,1.777,945,1.183,946,1.351,947,2.053,948,2.053,949,2.053,950,1.459,951,2.053,952,2.053,953,2.053,954,2.053,955,2.053,956,2.053,957,2.053,958,3.296,959,2.053,960,2.053,961,3.296,962,1.777,963,2.053,964,2.053,965,2.935,966,3.296,967,2.053,968,2.053,969,2.053,970,2.053,971,2.053,972,2.053,973,1.777,974,1.777,975,2.053,976,2.053,977,2.053,978,2.053,979,2.053,980,2.053,981,2.053,982,1.777,983,2.053,984,2.053]],["title/dependencies.html",[985,3.933,986,4.156]],["body/dependencies.html",[38,0.016,70,3.527,78,2.421,114,0.01,115,0.012,116,0.01,127,1.612,145,3.265,146,3.265,149,3.855,164,3.527,219,4.426,283,2.399,284,1.52,285,1.583,299,2.697,584,4.295,721,3.527,986,3.855,987,4.962,988,7.768,989,4.962,990,4.962,991,4.962,992,6.227,993,5.39,994,4.962,995,4.962,996,4.962,997,4.962,998,4.962,999,4.962,1000,4.962,1001,4.962,1002,4.295,1003,4.962,1004,3.855,1005,4.962,1006,4.962,1007,4.962,1008,4.962,1009,4.962,1010,6.227,1011,4.962,1012,4.962,1013,4.962,1014,4.962,1015,4.962,1016,4.962,1017,4.962,1018,4.962,1019,4.962,1020,4.962,1021,4.962]],["title/miscellaneous/functions.html",[1022,2.415,1023,4.63]],["body/miscellaneous/functions.html",[6,2.742,8,3.261,21,1.152,28,1.471,37,1.938,38,0.015,39,1.861,41,1.454,43,1.733,69,4.629,114,0.011,115,0.013,116,0.011,133,3.51,155,4.144,157,4.144,592,6.084,593,6.084,1022,3.275,1023,4.616,1024,6.512,1025,6.512,1026,7.03,1027,6.512,1028,6.512,1029,5.636,1030,6.512,1031,5.334,1032,5.334,1033,5.636,1034,5.334,1035,5.334,1036,5.334,1037,5.334]],["title/index.html",[21,0.849,688,2.267,689,2.588]],["body/index.html",[0,0.077,4,0.342,5,0.287,11,0.608,13,1.056,15,1.187,17,1.391,18,1.578,30,0.314,34,0.725,36,1.098,38,0.015,51,0.559,67,1.131,68,0.85,72,0.342,78,0.839,83,0.559,92,0.968,96,1.222,109,0.42,111,1.877,114,0.003,115,0.006,116,0.006,119,0.884,121,2.027,147,0.798,154,0.934,194,1.488,217,0.934,228,1.316,231,2.615,242,0.725,248,1.877,254,1.573,272,2.244,279,1.139,280,1.336,281,2.307,283,2.864,284,1.544,285,1.573,295,1.149,298,1.222,299,3.179,300,2.84,301,2.563,302,1.222,304,2.172,305,1.68,306,2.216,307,3.664,309,1.877,310,0.798,311,0.662,312,2.027,313,2.009,314,2.027,316,1.877,317,0.611,318,1.877,319,2.216,320,2.216,321,1.336,326,0.251,338,0.966,340,1.291,341,0.608,348,0.798,351,1.05,358,1.139,360,0.634,361,0.76,364,1.272,365,1.26,380,1.203,381,0.725,382,1.149,389,1.75,396,0.798,400,1.541,402,0.966,411,0.76,415,1.989,420,1.26,433,0.966,434,0.725,436,0.725,448,0.76,449,0.889,456,1.713,458,1.203,459,1.391,465,1.139,466,1.75,468,0.76,471,1.139,472,1.291,473,1.326,475,1.052,513,2.469,548,1.695,569,1.131,580,1.391,582,2.216,595,1.336,596,1.336,605,1.222,608,1.222,614,2.027,615,1.222,695,2.469,696,1.488,720,1.488,721,1.222,728,2.027,730,2.311,739,1.472,746,2.469,750,0.991,752,2.027,757,1.488,762,1.222,779,1.877,813,1.488,826,2.216,854,1.336,860,1.222,866,2.187,869,1.488,876,1.751,879,2.611,881,0.839,882,1.336,883,1.488,887,2.718,889,3.615,892,1.488,893,1.488,898,2.469,902,1.877,910,1.336,911,1.488,914,1.751,919,1.222,925,1.488,938,1.488,939,1.488,940,1.488,941,1.488,942,2.084,943,1.488,944,1.488,945,1.644,946,1.131,965,1.222,1002,1.488,1004,1.336,1038,1.719,1039,3.655,1040,2.598,1041,1.719,1042,1.719,1043,2.852,1044,1.719,1045,1.719,1046,2.216,1047,1.719,1048,2.852,1049,3.664,1050,1.719,1051,1.719,1052,3.615,1053,3.655,1054,1.719,1055,2.469,1056,1.336,1057,1.719,1058,1.719,1059,4.253,1060,1.719,1061,2.852,1062,2.852,1063,1.488,1064,2.852,1065,1.719,1066,1.719,1067,1.719,1068,3.103,1069,1.719,1070,1.719,1071,1.719,1072,2.852,1073,1.719,1074,1.719,1075,2.852,1076,3.023,1077,2.469,1078,0.839,1079,2.216,1080,1.336,1081,1.222,1082,1.336,1083,1.488,1084,2.216,1085,2.216,1086,0.884,1087,1.488,1088,2.216,1089,3.655,1090,1.719,1091,1.719,1092,2.611,1093,1.751,1094,1.719,1095,1.719,1096,6.324,1097,4.402,1098,1.719,1099,2.852,1100,1.719,1101,1.719,1102,1.719,1103,1.719,1104,3.655,1105,2.852,1106,1.131,1107,1.719,1108,2.852,1109,1.719,1110,1.719,1111,2.852,1112,1.719,1113,1.719,1114,1.719,1115,1.719,1116,3.655,1117,2.852,1118,1.719,1119,1.719,1120,1.488,1121,1.719,1122,1.488,1123,1.336,1124,1.719,1125,1.719,1126,1.719,1127,1.719,1128,1.719,1129,1.719,1130,1.131,1131,1.719,1132,1.719,1133,1.719,1134,1.719,1135,4.716,1136,1.488,1137,1.336,1138,2.852,1139,2.216,1140,1.719,1141,1.131,1142,0.991,1143,1.719,1144,1.222,1145,2.852,1146,1.336,1147,1.751,1148,1.488,1149,1.488,1150,2.852,1151,1.719,1152,2.244,1153,1.719,1154,1.488,1155,1.719,1156,1.719,1157,1.222,1158,1.719,1159,2.216,1160,1.488,1161,1.719,1162,1.719,1163,1.488,1164,1.719,1165,1.719,1166,1.719,1167,2.311,1168,1.719,1169,3.655,1170,1.719,1171,1.719,1172,1.719,1173,1.719,1174,1.719,1175,2.469,1176,3.163,1177,2.216,1178,1.751,1179,1.336,1180,1.488,1181,1.336,1182,1.719,1183,1.751,1184,1.719,1185,1.336,1186,1.719,1187,0.725,1188,1.222,1189,1.751,1190,1.719,1191,1.719,1192,0.934,1193,0.991,1194,0.991,1195,1.222,1196,1.751,1197,1.719,1198,1.488,1199,2.469,1200,2.852,1201,2.216,1202,1.336,1203,1.719,1204,1.719,1205,1.719,1206,1.222,1207,1.488,1208,0.991,1209,1.466,1210,1.056,1211,1.719,1212,1.719,1213,1.877,1214,2.244,1215,1.131,1216,1.056,1217,0.884,1218,0.884,1219,1.719,1220,1.719,1221,1.719,1222,2.852,1223,1.719,1224,1.719,1225,1.719,1226,1.877,1227,1.131,1228,1.719,1229,1.719,1230,1.488,1231,1.719,1232,1.719,1233,1.719,1234,1.719,1235,1.719,1236,2.216,1237,1.056,1238,1.719,1239,2.852,1240,1.719,1241,1.877,1242,1.222,1243,1.719,1244,1.719,1245,1.719,1246,1.488,1247,1.877,1248,1.222,1249,1.336,1250,1.719,1251,1.719,1252,1.222,1253,1.719,1254,1.488,1255,1.719,1256,2.469,1257,1.488,1258,0.991,1259,1.336,1260,1.719,1261,1.336,1262,2.852,1263,1.719,1264,1.719,1265,1.719,1266,1.488,1267,1.488,1268,1.719,1269,1.488,1270,1.131,1271,1.336,1272,0.934,1273,2.852,1274,1.719,1275,1.719,1276,1.719,1277,1.719,1278,2.852,1279,2.852,1280,1.719,1281,1.719,1282,1.719,1283,1.719,1284,1.719,1285,1.719,1286,1.719,1287,1.719,1288,1.336,1289,1.719,1290,1.719,1291,1.719,1292,1.719,1293,1.719,1294,1.719,1295,1.719,1296,1.131,1297,1.719,1298,1.719,1299,1.719,1300,1.719,1301,1.222,1302,1.719,1303,3.163,1304,1.336,1305,1.719,1306,1.719,1307,1.719,1308,1.719,1309,1.719]],["title/license.html",[688,2.267,689,2.588,858,3.404]],["body/license.html",[18,1.455,38,0.012,114,0.01,115,0.012,116,0.01,218,4.274,358,1.539,390,2.409,763,2.684,845,5.374,973,4.274,974,4.274,1052,3.51,1056,3.837,1123,3.837,1152,3.032,1269,4.274,1272,2.684,1310,6.791,1311,4.938,1312,4.938,1313,6.208,1314,4.938,1315,4.938,1316,4.938,1317,4.938,1318,4.938,1319,6.208,1320,7.761,1321,4.938,1322,4.938,1323,4.938,1324,4.468,1325,4.938,1326,3.837,1327,4.938,1328,4.938,1329,4.938,1330,4.938,1331,4.938,1332,4.938,1333,4.938,1334,6.208,1335,4.938,1336,4.938,1337,4.938,1338,4.938,1339,4.938,1340,6.208,1341,6.208,1342,4.938,1343,4.938,1344,4.938,1345,4.938,1346,4.938,1347,4.938,1348,4.938,1349,4.938,1350,4.938,1351,4.938,1352,4.938,1353,4.274,1354,4.938,1355,4.938,1356,4.938,1357,4.938,1358,4.938,1359,4.938,1360,4.938,1361,4.938,1362,4.274,1363,4.938,1364,4.938,1365,4.938,1366,4.938,1367,4.938]],["title/modules.html",[570,4.557]],["body/modules.html",[38,0.014,114,0.012,115,0.014,116,0.012,569,4.091,570,4.83,1301,4.419,1368,6.217,1369,6.217]],["title/overview.html",[1370,5.077]],["body/overview.html",[2,1.881,38,0.014,114,0.012,115,0.014,116,0.012,132,3.971,568,4.689,631,3.706,650,3.971,986,5.446,1152,3.706,1304,4.689,1370,5.224,1371,7.009,1372,6.035,1373,7.009]],["title/miscellaneous/typealiases.html",[1022,2.415,1374,5.349]],["body/miscellaneous/typealiases.html",[21,1.161,38,0.016,40,1.024,114,0.011,115,0.013,116,0.011,258,3.098,522,3.537,525,4.305,528,3.301,529,3.537,530,3.301,531,3.537,532,3.537,533,3.301,534,3.537,535,3.537,536,3.537,537,3.537,538,3.537,539,3.537,540,3.301,541,3.301,542,3.537,543,3.537,544,3.537,545,3.301,546,3.301,547,3.537,548,2.493,549,3.537,550,3.537,551,3.537,1022,3.301,1375,5.375,1376,5.375]],["title/miscellaneous/variables.html",[1022,2.415,1377,4.63]],["body/miscellaneous/variables.html",[6,3.202,8,3.311,21,1.071,35,3.157,36,1.071,38,0.015,68,1.041,78,3.038,109,1.211,114,0.01,115,0.012,116,0.012,133,3.265,144,3.527,146,4.098,272,3.824,273,4.295,274,3.038,279,1.547,280,3.855,281,1.681,283,2.622,284,1.662,285,1.73,294,4.426,295,2.742,296,2.193,297,4.295,298,3.527,299,2.697,300,3.855,301,2.697,302,3.527,303,3.527,304,1.912,305,1.52,306,3.855,307,4.838,308,3.855,309,3.265,310,2.302,311,1.912,312,3.527,313,1.547,314,3.527,315,4.295,316,3.265,317,0.83,318,3.265,319,3.855,320,3.855,321,3.855,365,3.008,1022,3.047,1029,4.295,1377,4.295,1378,6.227,1379,4.962,1380,4.962,1381,4.962,1382,4.962]],["title/additional-documentation/getting-started.html",[317,0.582,326,0.508,688,2.007,689,2.292]],["body/additional-documentation/getting-started.html",[38,0.014,114,0.012,115,0.014,116,0.012,295,2.475,688,4.081,689,4.66,1227,4.042,1272,3.338,1383,4.773,1384,6.143]],["title/additional-documentation/preserving-state-(like-the-requested-url).html",[242,0.72,317,0.474,326,0.413,379,1.195,1385,2.452,1386,1.864]],["body/additional-documentation/preserving-state-(like-the-requested-url).html",[3,1.07,38,0.015,41,1.165,114,0.012,115,0.014,116,0.012,242,1.752,296,2.591,335,2.591,345,2.591,379,3.087,739,2.362,1252,4.168,1288,4.556,1385,5.075,1386,4.535,1387,5.864,1388,5.864,1389,4.168,1390,5.864,1391,5.864]],["title/additional-documentation/refreshing-a-token.html",[254,0.886,317,0.582,326,0.508,1142,2.007]],["body/additional-documentation/refreshing-a-token.html",[15,1.978,17,2.336,35,2.222,36,1.446,38,0.012,114,0.009,115,0.012,116,0.009,119,3.442,163,2.761,202,1.556,223,3.721,231,2.463,254,1.85,279,1.493,295,2.453,304,2.346,305,1.776,310,2.222,313,2.087,358,1.493,364,2.003,365,2.117,380,2.02,381,2.02,382,1.929,393,1.767,464,2.02,465,1.493,473,1.493,650,3.152,730,3.638,763,3.638,867,3.404,875,3.404,876,2.941,1130,3.152,1141,3.152,1142,3.51,1144,4.329,1146,3.721,1183,2.941,1185,3.721,1201,3.721,1209,2.463,1213,3.152,1296,4.007,1326,3.721,1392,3.152,1393,3.404,1394,4.145,1395,4.145,1396,3.721,1397,5.271,1398,3.404,1399,4.145,1400,3.721,1401,4.145,1402,4.145,1403,4.145,1404,3.404,1405,3.721,1406,4.731,1407,3.721,1408,3.721,1409,4.731,1410,4.731,1411,3.721,1412,3.721,1413,3.721,1414,3.404,1415,3.721,1416,3.721,1417,3.152,1418,3.721,1419,3.721,1420,3.721,1421,3.721]],["title/additional-documentation/silent-refresh.html",[317,0.582,326,0.508,343,1.342,364,1.042]],["body/additional-documentation/silent-refresh.html",[3,0.5,5,0.83,11,1.458,15,1.34,17,1.336,18,1.163,28,1.138,30,0.5,33,1.754,35,2.302,36,1.396,38,0.015,46,0.89,51,0.89,62,1.397,68,0.458,72,0.328,83,1.925,92,1.092,103,0.591,109,1.007,114,0.008,115,0.008,116,0.005,119,2.552,147,1.27,154,1.488,159,2.128,163,1.578,202,1.612,210,2.128,225,2.37,228,1.117,229,1.754,242,1.405,254,1.691,279,0.854,283,1.589,284,0.669,285,1.049,295,1.999,299,1.488,301,1.488,304,2.4,305,1.72,309,2.714,310,1.27,313,2.073,339,1.914,343,2.622,347,1.739,349,1.21,351,1.587,358,1.722,360,1.831,361,1.823,364,2.075,365,2.193,366,1.823,370,1.21,389,1.795,391,2.421,393,2.186,408,1.823,416,1.055,419,1.01,420,1.823,430,1.336,431,1.103,433,0.928,449,1.286,455,1.914,464,1.155,465,1.286,466,1.795,471,0.854,475,1.01,578,1.578,580,2.421,613,1.802,650,1.802,688,1.578,730,2.242,739,1.999,750,1.578,762,1.947,763,3.002,779,1.802,859,2.128,860,1.947,866,1.408,875,1.947,876,1.681,877,2.37,881,1.336,886,2.533,889,1.947,942,1.823,946,3.266,1033,2.37,1081,1.947,1086,1.408,1092,1.681,1130,1.802,1141,2.714,1142,2.861,1144,2.932,1167,3.002,1187,1.155,1188,1.947,1189,3.048,1192,2.697,1193,1.578,1194,1.578,1195,1.947,1196,1.681,1202,2.128,1208,1.578,1209,1.408,1210,1.681,1214,1.681,1215,1.802,1216,1.681,1217,1.408,1218,1.408,1248,1.947,1254,3.571,1258,1.578,1261,2.128,1270,1.802,1272,1.488,1296,2.714,1303,2.37,1304,2.128,1324,1.802,1398,1.947,1404,1.947,1405,2.128,1406,3.205,1407,2.128,1408,2.128,1409,3.205,1410,3.205,1411,2.128,1412,2.128,1413,2.128,1414,1.947,1415,2.128,1416,2.128,1417,1.802,1418,2.128,1419,2.128,1420,2.128,1421,2.128,1422,2.738,1423,4.125,1424,2.128,1425,3.205,1426,2.738,1427,2.738,1428,2.738,1429,2.738,1430,2.738,1431,2.738,1432,4.125,1433,5.524,1434,1.947,1435,2.37,1436,2.738,1437,2.738,1438,2.738,1439,2.738,1440,2.738,1441,3.571,1442,2.37,1443,1.578,1444,1.802,1445,2.738,1446,1.947,1447,1.947,1448,1.578,1449,2.738,1450,2.738,1451,2.738,1452,2.37,1453,4.296,1454,3.205,1455,2.37,1456,2.738,1457,2.738,1458,2.738,1459,2.738,1460,3.856,1461,2.128,1462,2.738,1463,2.738,1464,2.738,1465,2.37,1466,2.738,1467,2.738,1468,2.738,1469,2.738,1470,2.738,1471,2.738,1472,2.738,1473,2.738,1474,4.125,1475,2.738,1476,4.125,1477,2.37,1478,2.128,1479,3.571,1480,2.738,1481,2.738,1482,2.738,1483,2.738,1484,2.738,1485,2.738,1486,2.738,1487,2.738,1488,2.738,1489,2.738,1490,2.37,1491,2.738,1492,2.738,1493,2.128,1494,4.125,1495,2.738,1496,2.738,1497,2.738,1498,2.738,1499,2.738,1500,2.738,1501,2.128,1502,2.738,1503,2.738,1504,2.738,1505,2.738,1506,2.738,1507,2.738,1508,2.738]],["title/additional-documentation/token-refresh.html",[254,0.886,317,0.582,326,0.508,364,1.042]],["body/additional-documentation/token-refresh.html",[15,1.978,17,2.336,35,2.222,36,1.446,38,0.012,114,0.009,115,0.012,116,0.009,119,3.442,163,2.761,202,1.556,223,3.721,231,2.463,254,1.85,279,1.493,295,2.453,304,2.346,305,1.776,310,2.222,313,2.087,358,1.493,364,2.003,365,2.117,380,2.02,381,2.02,382,1.929,393,1.767,464,2.02,465,1.493,473,1.493,650,3.152,730,3.638,763,3.638,867,3.404,875,3.404,876,2.941,1130,3.152,1141,3.152,1142,3.51,1144,4.329,1146,3.721,1183,2.941,1185,3.721,1201,3.721,1209,2.463,1213,3.152,1296,4.007,1326,3.721,1392,3.152,1393,3.404,1394,4.145,1395,4.145,1396,3.721,1397,5.271,1398,3.404,1399,4.145,1400,3.721,1401,4.145,1402,4.145,1403,4.145,1404,3.404,1405,3.721,1406,4.731,1407,3.721,1408,3.721,1409,4.731,1410,4.731,1411,3.721,1412,3.721,1413,3.721,1414,3.404,1415,3.721,1416,3.721,1417,3.152,1418,3.721,1419,3.721,1420,3.721,1421,3.721]],["title/additional-documentation/working-with-httpinterceptors.html",[317,0.582,326,0.508,962,3.014,1509,3.014]],["body/additional-documentation/working-with-httpinterceptors.html",[0,0.259,10,0.907,14,1.693,18,1.172,28,0.983,38,0.016,41,0.993,55,3.289,62,1.208,63,1.844,68,1.172,72,0.599,84,1.938,92,1.324,103,1.514,114,0.007,115,0.01,116,0.007,126,1.558,127,1.158,195,2.535,196,5.415,200,1.739,202,1.624,203,3.086,204,4.045,205,3.086,206,3.07,208,3.086,209,4.327,210,2.77,211,4.327,213,3.086,214,3.798,215,3.086,216,5.415,217,1.938,227,4.485,228,1.299,229,2.211,230,3.07,231,1.833,232,2.77,233,3.289,234,2.765,235,3.086,236,1.436,239,3.086,242,0.907,243,3.086,244,3.086,245,3.086,246,3.086,247,5.415,248,4.117,249,3.086,252,3.086,254,1.468,267,3.086,268,4.327,270,3.086,281,1.208,283,1.374,284,0.871,285,0.907,311,1.374,318,2.346,338,1.955,351,1.436,358,1.111,365,2.551,382,1.436,416,1.374,419,1.315,421,1.654,439,2.325,588,2.346,605,2.535,608,3.553,614,3.553,615,2.535,619,2.77,620,3.884,773,3.086,779,2.346,866,1.833,901,3.086,1077,3.086,1078,1.739,1086,2.57,1122,3.086,1123,2.77,1177,2.77,1202,2.77,1206,2.535,1248,2.535,1256,4.327,1257,3.086,1258,2.055,1259,2.77,1398,2.535,1452,3.086,1461,2.77,1509,3.086,1510,3.566,1511,3.566,1512,3.086,1513,3.566,1514,3.086,1515,3.086,1516,3.566,1517,3.566,1518,3.566,1519,3.566,1520,3.566,1521,4.996,1522,3.086,1523,3.566,1524,3.566,1525,3.566,1526,2.346,1527,3.566,1528,3.566,1529,3.566,1530,3.566,1531,3.566,1532,3.566,1533,3.566,1534,3.566,1535,3.086,1536,3.566,1537,2.77,1538,3.566,1539,3.566,1540,3.566,1541,3.566,1542,3.566,1543,3.884,1544,3.566,1545,3.566,1546,3.566,1547,3.566,1548,3.566,1549,3.566]],["title/additional-documentation/callback-after-login.html",[317,0.582,326,0.508,739,1.403,1550,2.706]],["body/additional-documentation/callback-after-login.html",[38,0.016,51,2.188,62,1.91,63,2.08,114,0.011,115,0.013,116,0.011,335,2.976,387,2.492,397,2.751,402,2.281,420,2.492,739,2.713,859,4.382,1106,3.711,1242,4.009,1258,3.25,1353,4.881,1386,3.711,1389,4.009,1550,5.233,1551,5.639,1552,5.639,1553,5.639,1554,5.639,1555,5.639,1556,5.639]],["title/additional-documentation/popup-based-login.html",[317,0.522,326,0.456,347,1.318,739,1.259,913,2.221]],["body/additional-documentation/popup-based-login.html",[17,2.636,18,1.538,38,0.014,114,0.011,115,0.013,116,0.011,281,1.83,293,1.83,295,2.644,301,2.936,310,3.045,341,1.909,343,2.724,347,2.768,364,1.617,382,2.177,415,2.768,437,2.636,466,1.755,772,4.677,854,4.198,887,3.114,910,4.198,946,4.319,965,3.841,1055,4.677,1068,3.556,1078,2.636,1130,3.556,1181,4.198,1187,2.278,1216,3.318,1424,4.198,1455,4.677,1477,4.677,1501,4.198,1557,4.677,1558,5.403,1559,4.677,1560,5.403,1561,5.403,1562,5.403,1563,5.403,1564,4.198,1565,5.403,1566,5.403,1567,5.403,1568,4.198,1569,5.403]],["title/additional-documentation/custom-query-parameters.html",[37,0.827,317,0.522,326,0.456,338,1.058,408,1.381]],["body/additional-documentation/custom-query-parameters.html",[33,2.096,37,1.57,38,0.015,114,0.012,115,0.014,116,0.012,304,2.285,305,1.448,338,2.35,351,1.703,393,2.188,408,2.621,950,4.216,1570,5.134,1571,5.931,1572,5.931,1573,5.931,1574,5.931,1575,5.931,1576,5.931,1577,5.931]],["title/additional-documentation/events.html",[317,0.658,326,0.574,394,1.738]],["body/additional-documentation/events.html",[5,0.736,18,1.032,28,1.214,36,0.95,38,0.015,62,1.491,68,0.736,78,2.147,83,1.43,114,0.009,115,0.011,116,0.009,214,2.896,229,1.555,233,3.794,254,1.119,258,2.537,281,1.953,283,1.696,284,1.408,285,1.119,299,2.392,304,1.696,305,1.075,327,2.042,328,2.042,343,2.222,364,1.924,369,2.675,370,1.945,379,2.432,394,3.212,396,3.286,403,1.945,418,2.042,471,1.372,521,3.541,528,2.703,530,2.703,533,2.703,540,2.703,541,2.703,545,2.703,560,3.81,730,2.392,763,2.392,765,3.129,866,2.965,886,2.703,890,3.42,902,2.896,913,3.129,1068,2.896,1092,3.541,1093,3.541,1147,2.703,1258,2.537,1301,3.129,1386,3.794,1396,4.48,1454,3.42,1461,3.42,1478,3.42,1578,4.402,1579,4.402,1580,4.402,1581,3.81,1582,4.402,1583,4.402,1584,3.81,1585,3.81,1586,4.402,1587,4.402,1588,4.402,1589,4.402,1590,4.402,1591,3.81,1592,4.402,1593,4.402,1594,4.402,1595,4.402,1596,4.402,1597,4.402,1598,5.766,1599,7.407,1600,5.766,1601,4.402,1602,4.402,1603,4.402,1604,4.402,1605,3.81,1606,4.402,1607,4.402,1608,3.81,1609,5.766,1610,5.766,1611,4.402,1612,4.402,1613,4.402,1614,4.402,1615,4.402,1616,4.402]],["title/additional-documentation/routing-with-the-hashstrategy.html",[317,0.582,326,0.508,914,2.138,1271,2.706]],["body/additional-documentation/routing-with-the-hashstrategy.html",[13,3.201,18,1.222,19,4.564,33,1.842,36,1.386,38,0.015,62,1.766,72,0.625,83,1.693,92,1.38,114,0.01,115,0.013,116,0.01,281,1.766,328,2.418,339,2.418,360,2.368,361,2.837,365,2.304,366,2.304,368,2.418,371,2.543,515,4.05,568,4.05,876,3.201,914,3.943,982,4.512,1063,6.023,1086,2.68,1188,3.705,1206,3.705,1237,3.201,1247,3.43,1258,3.004,1266,4.512,1270,3.43,1271,4.989,1434,3.705,1479,6.286,1493,4.05,1501,4.05,1617,4.05,1618,5.212,1619,4.512,1620,6.958,1621,5.212,1622,5.212,1623,5.212,1624,5.212,1625,5.212,1626,5.212,1627,5.212,1628,5.212,1629,5.212,1630,4.05,1631,5.212]],["title/additional-documentation/adapt-id_token-validation.html",[51,1.015,274,1.524,317,0.522,326,0.456,1632,2.704]],["body/additional-documentation/adapt-id_token-validation.html",[11,1.797,12,2.538,30,0.928,38,0.016,51,2.054,59,3.614,60,3.614,61,3.614,62,2.142,67,4.16,68,0.85,73,1.722,78,2.48,82,2.144,84,2.763,109,1.241,114,0.01,115,0.012,116,0.01,272,4.225,274,3.084,279,1.971,281,1.722,283,1.959,284,1.241,285,1.293,287,3.345,311,2.436,393,2.332,411,2.247,418,2.358,419,1.875,422,3.084,433,1.722,434,2.144,438,2.48,472,1.797,473,1.585,598,3.614,600,4.401,760,3.95,1068,3.345,1187,2.144,1261,3.95,1417,3.345,1460,3.95,1537,3.95,1559,4.401,1617,3.95,1632,4.401,1633,5.084,1634,5.084,1635,5.084,1636,5.084,1637,4.401,1638,5.084,1639,4.401,1640,5.084,1641,5.084,1642,4.401,1643,5.084]],["title/additional-documentation/session-checks.html",[317,0.582,326,0.508,765,2.476,886,2.138]],["body/additional-documentation/session-checks.html",[30,0.761,36,1.352,38,0.015,68,0.697,72,0.5,83,1.808,92,1.104,114,0.008,115,0.011,116,0.008,147,1.935,228,1.252,254,1.415,257,3.24,281,1.885,283,1.607,284,1.018,285,1.06,295,2.242,298,2.965,299,3.024,301,2.266,304,1.607,305,1.359,310,2.581,313,1.3,318,2.744,338,1.413,340,1.966,343,2.413,351,1.198,355,2.034,364,2.142,389,1.355,393,1.538,394,1.843,402,1.413,411,1.843,458,1.759,465,1.3,466,1.355,471,1.735,475,1.538,546,3.417,548,1.935,580,2.714,750,2.404,752,2.965,760,3.24,763,3.024,765,5.279,771,4.816,863,3.61,880,3.61,881,2.034,886,3.845,889,2.965,942,2.953,946,2.744,1040,2.965,1086,2.144,1093,2.561,1141,2.744,1147,3.417,1152,2.561,1167,2.266,1181,3.24,1183,3.845,1187,1.759,1189,3.845,1192,3.024,1193,2.404,1196,2.561,1217,2.144,1218,2.144,1226,2.744,1247,2.744,1252,2.965,1362,3.61,1393,2.965,1417,3.662,1441,3.61,1443,2.404,1444,2.744,1448,2.404,1493,3.24,1535,3.61,1605,3.61,1619,3.61,1644,4.17,1645,4.17,1646,4.17,1647,4.17,1648,4.17,1649,4.17,1650,4.17,1651,4.17,1652,4.17,1653,4.17,1654,4.17,1655,3.24,1656,5.564,1657,4.17,1658,5.564,1659,4.17,1660,4.17,1661,4.17,1662,4.17,1663,4.17,1664,4.17,1665,4.17,1666,4.17,1667,4.17,1668,4.17,1669,4.17,1670,4.17]],["title/additional-documentation/server-side-rendering.html",[228,0.703,317,0.522,326,0.456,434,1.318,1671,2.704]],["body/additional-documentation/server-side-rendering.html",[38,0.014,114,0.012,115,0.014,116,0.012,228,1.645,277,5.061,281,1.981,340,2.066,434,3.083,851,5.061,879,3.59,1078,2.852,1084,4.543,1085,4.543,1526,3.847,1543,4.543,1557,5.061,1671,6.328,1672,5.847,1673,5.847,1674,5.061,1675,5.847,1676,5.847,1677,5.847]],["title/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[281,0.75,304,0.853,305,0.541,317,0.37,326,0.323,472,0.782,473,0.69,1187,0.934,1324,1.457]],["body/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[0,0.198,11,1.559,15,1.433,18,1.353,38,0.016,40,0.84,72,0.528,109,1.077,114,0.009,115,0.011,116,0.009,202,1.876,228,1.299,242,1.737,281,1.494,295,1.777,304,1.7,305,1.077,310,2.046,316,2.902,317,0.737,329,1.949,341,1.559,351,1.659,358,1.375,360,1.627,389,2.092,403,1.949,416,1.7,431,1.777,433,1.494,435,1.949,436,1.86,449,2.007,456,1.777,465,1.375,466,2.092,471,1.375,472,2.04,473,1.8,548,2.046,578,3.328,580,2.152,613,2.902,728,3.135,739,2.594,879,2.709,881,2.152,942,2.552,945,2.542,1076,3.135,1078,2.152,1092,2.709,1093,2.709,1152,2.709,1154,3.818,1159,3.427,1167,3.499,1178,2.709,1187,2.435,1192,2.397,1193,2.542,1194,2.542,1208,2.542,1209,2.268,1214,3.546,1217,2.268,1218,2.268,1227,2.902,1237,2.709,1242,3.135,1249,3.427,1272,2.397,1324,2.902,1389,3.135,1392,2.902,1425,3.427,1434,3.135,1443,3.328,1448,2.542,1522,3.818,1564,3.427,1655,3.427,1678,3.818,1679,3.135,1680,3.135,1681,4.411,1682,4.411,1683,3.427,1684,3.135,1685,3.427,1686,3.818,1687,3.818,1688,3.818,1689,4.411,1690,4.411,1691,3.818,1692,3.818,1693,4.411]],["title/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[36,0.478,274,1.08,317,0.37,326,0.323,449,0.69,472,0.782,473,0.69,580,1.08,1694,2.214]],["body/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[18,1.023,30,1.046,38,0.015,64,1.61,68,0.73,72,0.523,92,1.156,114,0.009,115,0.011,116,0.009,147,2.024,228,0.982,242,1.796,274,3.124,279,1.36,281,1.478,283,1.682,284,1.066,285,1.458,345,1.929,349,1.929,351,1.839,360,1.61,365,1.929,366,2.534,389,1.418,419,1.61,433,1.478,449,2.202,458,1.84,465,1.787,466,1.418,471,1.996,472,2.563,473,2.261,475,2.362,580,3.318,598,4.076,739,1.758,750,2.516,881,2.129,942,2.534,950,4.553,1056,3.391,1068,2.872,1147,3.933,1167,3.48,1189,3.933,1192,2.372,1193,2.516,1194,2.516,1195,3.102,1196,2.68,1208,2.516,1209,2.244,1210,2.68,1215,2.872,1216,2.68,1217,2.244,1218,2.244,1267,3.778,1272,2.372,1435,3.778,1443,2.516,1444,2.872,1446,3.102,1447,3.102,1448,2.516,1591,3.778,1695,6.405,1696,4.364,1697,5.888,1698,4.364,1699,4.963,1700,4.364,1701,4.364,1702,4.364,1703,4.364,1704,4.364,1705,4.364,1706,4.364,1707,4.364,1708,4.364,1709,4.364,1710,4.364,1711,4.364,1712,3.778,1713,3.778,1714,4.364]],["title/additional-documentation/using-systemjs.html",[36,0.752,317,0.582,326,0.508,1715,3.014]],["body/additional-documentation/using-systemjs.html",[36,1.167,38,0.016,114,0.011,115,0.013,116,0.011,145,3.556,222,2.506,283,2.833,284,1.795,285,1.798,578,3.114,721,4.666,965,4.666,1093,3.318,1148,4.677,1454,4.198,1715,6.119,1716,5.403,1717,5.403,1718,5.403,1719,5.403,1720,6.564,1721,6.564,1722,5.403,1723,5.403,1724,5.403,1725,5.403,1726,5.403,1727,5.403,1728,5.403,1729,5.403]],["title/additional-documentation/using-implicit-flow.html",[36,0.675,304,1.204,305,0.763,317,0.522,326,0.456]],["body/additional-documentation/using-implicit-flow.html",[0,0.232,30,0.685,36,1.119,38,0.016,39,1.317,46,1.219,68,1.189,72,0.711,84,3.224,103,1.119,109,0.916,114,0.007,115,0.01,116,0.007,127,1.683,147,1.741,202,2.311,228,0.845,231,1.93,234,1.659,242,1.317,272,3.181,279,1.17,281,1.271,283,2.465,284,1.639,285,1.764,293,1.271,302,2.668,303,2.668,304,2.286,305,1.639,309,3.409,313,1.17,316,2.47,317,0.866,341,1.326,351,1.078,358,1.17,360,1.385,380,1.583,381,1.583,389,1.219,392,1.741,433,1.271,448,2.289,449,1.615,465,1.615,466,1.219,471,1.17,475,1.385,548,1.741,578,2.163,580,1.831,612,2.916,739,2.865,750,2.163,779,2.47,881,1.831,942,2.289,945,2.163,1040,2.668,1163,3.249,1167,3.224,1178,2.305,1179,2.916,1187,2.185,1189,3.928,1192,2.04,1193,2.163,1194,2.163,1196,2.305,1208,2.163,1209,1.93,1210,2.305,1215,2.47,1216,2.305,1217,1.93,1218,1.93,1241,2.47,1246,3.249,1247,2.47,1270,2.47,1288,2.916,1296,2.47,1404,2.668,1443,2.163,1444,2.47,1446,2.668,1447,2.668,1448,2.163,1521,3.249,1526,2.47,1585,3.249,1617,2.916,1630,2.916,1639,3.249,1679,4.547,1680,3.683,1730,3.754,1731,3.754,1732,3.754,1733,3.754,1734,3.754,1735,3.754,1736,3.754,1737,5.181,1738,3.754,1739,3.754,1740,3.754,1741,3.754,1742,3.754,1743,3.249,1744,3.754,1745,3.754,1746,3.249,1747,3.249,1748,3.754,1749,5.181,1750,3.754,1751,3.754,1752,3.754]],["title/additional-documentation/using-password-flow.html",[36,0.675,305,0.763,317,0.522,326,0.456,1139,2.428]],["body/additional-documentation/using-password-flow.html",[0,0.183,3,0.494,11,0.956,17,1.994,18,1.382,36,1.493,38,0.016,39,0.688,40,0.515,43,0.879,51,0.879,72,0.49,103,0.584,109,0.661,114,0.005,115,0.008,116,0.005,161,2.103,168,2.315,182,2.906,200,1.32,202,1.784,227,3.177,228,1.395,231,1.391,242,1.253,254,1.637,275,4.753,279,0.844,281,1.669,285,1.04,295,2.375,303,1.924,304,1.043,305,1.758,310,2.547,313,0.844,329,1.807,340,2.191,341,0.956,348,1.255,351,1.693,358,0.844,364,1.223,387,2.178,389,2.014,392,1.255,393,1.508,400,1.724,402,0.917,415,1.141,416,1.575,431,1.09,433,2.342,435,1.196,436,1.141,448,2.427,449,1.838,456,1.09,465,1.536,466,2.153,471,1.274,472,1.94,473,1.712,512,2.342,515,2.103,730,1.471,739,1.647,866,1.391,867,2.906,879,2.51,881,1.994,902,3.242,904,3.539,913,1.924,914,1.662,919,2.906,942,2.178,993,3.539,1040,1.924,1078,2.876,1092,1.662,1106,1.781,1120,3.539,1137,3.177,1139,5.372,1142,1.56,1147,2.51,1160,3.539,1167,3.204,1178,3.026,1183,2.51,1187,2.315,1194,2.357,1198,2.342,1199,5.984,1206,2.906,1207,3.539,1208,2.357,1209,2.102,1213,3.242,1217,2.534,1218,2.534,1230,2.342,1237,1.662,1241,1.781,1242,3.503,1248,1.924,1258,1.56,1270,1.781,1324,3.242,1386,1.781,1414,1.924,1424,3.177,1434,1.924,1443,2.84,1448,2.357,1453,2.342,1460,2.103,1490,2.342,1512,2.342,1526,1.781,1537,2.103,1584,2.342,1637,2.342,1642,3.539,1655,3.177,1679,2.906,1680,2.906,1684,2.906,1685,3.177,1686,2.342,1687,2.342,1688,2.342,1746,3.539,1747,3.539,1753,2.706,1754,2.706,1755,2.706,1756,2.706,1757,2.706,1758,2.706,1759,2.706,1760,2.706,1761,2.706,1762,2.342,1763,2.342,1764,2.706,1765,2.706,1766,2.706,1767,4.088,1768,4.088,1769,4.088,1770,4.088,1771,4.088,1772,4.088,1773,4.088,1774,2.342,1775,2.706,1776,2.706,1777,2.706,1778,2.706,1779,2.706,1780,2.706,1781,2.706,1782,2.706,1783,2.706,1784,4.088,1785,2.706,1786,2.706,1787,2.706,1788,2.706,1789,2.706,1790,4.088,1791,2.706,1792,4.088,1793,2.706,1794,2.706,1795,2.706,1796,2.706,1797,2.706,1798,2.706]],["title/additional-documentation/configure-custom-oauthstorage.html",[317,0.522,326,0.456,338,1.058,439,1.259,1187,1.318]],["body/additional-documentation/configure-custom-oauthstorage.html",[0,0.271,18,1.415,36,1.303,38,0.016,68,1.009,72,0.723,103,1.02,114,0.009,115,0.012,116,0.009,119,2.429,144,3.358,154,2.567,217,2.567,281,1.6,283,1.82,284,1.153,285,1.201,301,2.567,338,2.253,341,1.669,365,2.088,400,2.545,416,1.82,419,1.742,431,2.824,435,3.274,436,2.545,439,2.824,569,3.108,580,3.245,582,3.67,595,3.67,596,3.67,598,3.358,599,4.089,762,4.291,860,3.358,1004,3.67,1052,3.358,1078,2.304,1086,2.429,1175,5.225,1176,5.758,1177,3.67,1178,3.706,1179,3.67,1180,5.225,1187,1.992,1188,4.729,1272,2.567,1301,3.358,1478,3.67,1543,3.67,1799,4.724,1800,4.724,1801,4.089,1802,4.724,1803,6.036,1804,4.724]],["title/additional-documentation/manually-skipping-login-form.html",[317,0.474,326,0.413,739,1.141,1237,1.74,1241,1.864,1805,2.452]],["body/additional-documentation/manually-skipping-login-form.html",[15,1.51,18,1.4,36,1.004,38,0.016,44,1.643,83,1.941,103,1.426,109,1.135,114,0.009,115,0.012,116,0.009,228,1.046,242,1.182,254,1.519,257,3.612,301,2.527,305,1.135,312,3.305,317,0.777,324,2.772,335,2.055,341,1.643,358,1.449,370,2.055,400,1.96,421,2.157,449,1.449,466,1.51,728,3.305,739,1.873,763,2.527,853,4.024,866,2.39,886,2.855,900,4.024,902,3.059,905,4.024,942,2.055,945,2.68,1086,2.39,1092,2.855,1106,3.059,1137,3.612,1183,2.855,1210,2.855,1237,2.855,1241,3.059,1247,3.059,1252,3.305,1550,3.612,1581,4.024,1608,4.024,1630,3.612,1674,4.024,1743,4.024,1805,4.024,1806,5.975,1807,4.649,1808,4.649,1809,4.649,1810,5.975,1811,4.649,1812,5.975,1813,4.649,1814,4.649,1815,4.649,1816,4.649,1817,4.649,1818,4.649,1819,4.649,1820,4.649,1821,4.649,1822,4.649,1823,4.649,1824,4.649,1825,4.649,1826,4.649]],["title/additional-documentation/original-config-api.html",[317,0.522,326,0.456,578,1.801,1214,1.919,1392,2.056]],["body/additional-documentation/original-config-api.html",[0,0.185,15,1.341,18,0.968,30,0.753,35,1.915,38,0.016,39,1.05,72,0.495,109,1.008,111,2.717,114,0.008,115,0.011,116,0.008,200,2.014,202,1.796,228,1.402,242,1.584,254,1.05,274,3.039,279,1.287,281,1.399,284,1.008,285,1.05,295,1.663,310,1.915,314,2.935,317,0.69,329,1.825,351,1.587,358,1.723,360,1.523,387,1.825,389,2.024,403,1.825,416,2.13,433,1.399,449,1.942,465,1.287,466,2.162,471,1.287,472,2.351,473,2.074,475,1.523,578,3.835,580,2.014,613,2.717,730,2.244,739,2.51,866,2.123,879,3.394,881,2.014,890,3.208,914,2.535,942,1.825,945,2.38,1076,2.935,1093,2.535,1097,3.574,1106,2.717,1159,3.208,1167,3.386,1178,3.394,1187,1.741,1192,2.244,1193,2.38,1194,2.38,1195,2.935,1208,2.38,1209,2.123,1210,2.535,1214,4.086,1215,2.717,1216,2.535,1217,2.123,1218,2.123,1227,2.717,1249,3.208,1272,2.244,1383,3.208,1389,2.935,1392,3.637,1393,2.935,1425,4.295,1443,2.38,1444,2.717,1446,2.935,1447,2.935,1448,2.38,1514,3.574,1515,3.574,1564,3.208,1678,3.574,1679,2.935,1680,2.935,1683,3.208,1684,2.935,1685,3.208,1691,3.574,1692,3.574,1697,4.784,1699,3.574,1712,3.574,1713,3.574,1762,3.574,1763,3.574,1774,3.574,1827,4.129,1828,4.129,1829,4.129,1830,4.129,1831,4.129,1832,4.129,1833,4.129,1834,4.129,1835,4.129,1836,4.129,1837,4.129]],["title/additional-documentation/authorization-servers.html",[317,0.582,326,0.508,1236,2.706,1838,3.014]],["body/additional-documentation/authorization-servers.html",[36,1.266,38,0.014,114,0.012,115,0.014,116,0.012,284,1.432,389,1.905,402,2.335,458,2.472,471,1.828,752,4.168,887,3.38,1136,5.075,1149,5.075,1236,5.688,1400,4.556,1442,5.075,1526,3.858,1568,4.556,1801,5.075,1839,5.864,1840,6.892,1841,5.864,1842,5.864,1843,5.864]],["title/additional-documentation/authorization-servers/using-identity-server.html",[36,0.675,228,0.703,317,0.522,326,0.456,942,1.381]],["body/additional-documentation/authorization-servers/using-identity-server.html",[36,1.322,38,0.014,114,0.012,115,0.014,116,0.012,228,1.59,402,2.075,887,3.53,942,3.124,1078,2.988,1157,4.353,1226,4.03]],["title/additional-documentation/authorization-servers/using-keycloak.html",[36,0.752,317,0.582,326,0.508,1046,2.706]],["body/additional-documentation/authorization-servers/using-keycloak.html",[36,1.33,38,0.014,114,0.012,115,0.014,116,0.012,402,2.087,887,3.551,1046,5.511,1078,3.005,1157,4.379,1226,4.054]],["title/additional-documentation/authorization-servers/auth0.html",[317,0.658,326,0.574,1049,3.056]],["body/additional-documentation/authorization-servers/auth0.html",[5,0.765,18,1.386,36,1.415,37,1.212,38,0.015,39,1.164,41,0.909,68,0.765,72,0.548,92,1.212,114,0.009,115,0.012,116,0.009,147,2.123,254,1.666,283,2.279,284,1.444,285,1.504,295,1.844,313,1.844,317,0.765,351,1.315,364,1.77,402,1.55,415,1.93,419,1.688,433,1.55,449,1.427,456,2.383,465,1.427,471,1.427,475,1.688,548,2.744,581,5.12,688,2.638,750,2.638,755,5.12,826,3.556,866,2.353,881,2.233,882,3.556,887,2.638,919,4.205,945,3.409,950,3.254,1049,5.383,1052,3.254,1078,2.233,1086,2.353,1088,3.556,1142,2.638,1147,3.632,1152,2.811,1157,3.254,1187,2.494,1189,4.024,1192,2.487,1196,2.811,1213,3.012,1214,2.811,1217,2.353,1218,2.353,1226,3.012,1227,3.012,1259,3.556,1383,3.556,1465,3.962,1568,4.596,1570,3.962,1683,3.556,1684,3.254,1838,3.962,1844,4.577,1845,4.577,1846,4.577,1847,5.915,1848,4.577,1849,4.577,1850,4.577,1851,4.577,1852,4.577,1853,4.577,1854,4.577,1855,4.577,1856,4.577,1857,5.915,1858,5.915,1859,4.577,1860,4.577,1861,4.577,1862,4.577,1863,4.577]],["title/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[317,0.474,326,0.413,1079,2.201,1080,2.201,1081,2.014,1082,2.201]],["body/additional-documentation/authorization-servers/azure-ad-(active-directory).html",[36,1.501,38,0.014,114,0.012,115,0.014,116,0.012,281,2.015,326,0.867,1076,4.228,1079,5.721,1080,4.622,1081,4.228,1082,5.4,1083,5.148,1084,5.4,1085,5.4,1086,3.058,1087,5.148,1088,4.622]]],"invertedIndex":[["",{"_index":38,"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/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":163,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.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":800,"title":{},"body":{"changelog.html":{}}}],["0.1.4",{"_index":801,"title":{},"body":{"changelog.html":{}}}],["0.11.4",{"_index":1021,"title":{},"body":{"dependencies.html":{}}}],["0.33",{"_index":1419,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["0.43.0",{"_index":1018,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":1416,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["026dcb3",{"_index":824,"title":{},"body":{"changelog.html":{}}}],["03",{"_index":936,"title":{},"body":{"changelog.html":{}}}],["04",{"_index":933,"title":{},"body":{"changelog.html":{}}}],["05",{"_index":931,"title":{},"body":{"changelog.html":{}}}],["06",{"_index":784,"title":{},"body":{"changelog.html":{}}}],["07",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["07bb62d",{"_index":929,"title":{},"body":{"changelog.html":{}}}],["09",{"_index":932,"title":{},"body":{"changelog.html":{}}}],["0c0a4a7",{"_index":748,"title":{},"body":{"changelog.html":{}}}],["0f03d39",{"_index":912,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":650,"title":{},"body":{"injectables/UrlHelperService.html":{},"overview.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["1.0",{"_index":1648,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["1.3.0",{"_index":1006,"title":{},"body":{"dependencies.html":{}}}],["1.4.3",{"_index":1000,"title":{},"body":{"dependencies.html":{}}}],["1.5.1",{"_index":1003,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":1075,"title":{},"body":{"index.html":{}}}],["10.0.0",{"_index":782,"title":{},"body":{"changelog.html":{}}}],["10.0.3",{"_index":1001,"title":{},"body":{"dependencies.html":{}}}],["10.2.0",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["10.3.0",{"_index":1007,"title":{},"body":{"dependencies.html":{}}}],["10.x",{"_index":1099,"title":{},"body":{"index.html":{}}}],["1061",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["11",{"_index":911,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["12",{"_index":1062,"title":{},"body":{"index.html":{}}}],["12.0.0",{"_index":691,"title":{},"body":{"changelog.html":{}}}],["12.x",{"_index":1098,"title":{},"body":{"index.html":{}}}],["13",{"_index":1094,"title":{},"body":{"index.html":{}}}],["13.0.1",{"_index":988,"title":{},"body":{"dependencies.html":{}}}],["13.x",{"_index":1095,"title":{},"body":{"index.html":{}}}],["132c624",{"_index":855,"title":{},"body":{"changelog.html":{}}}],["16",{"_index":694,"title":{},"body":{"changelog.html":{}}}],["169d749",{"_index":827,"title":{},"body":{"changelog.html":{}}}],["1816e7b",{"_index":839,"title":{},"body":{"changelog.html":{}}}],["1_0.html#tokenendpoint",{"_index":460,"title":{},"body":{"classes/LoginOptions.html":{},"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":467,"title":{},"body":{"classes/LoginOptions.html":{},"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":906,"title":{},"body":{"changelog.html":{}}}],["2",{"_index":96,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["2.0",{"_index":1185,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["2.0.0",{"_index":1016,"title":{},"body":{"dependencies.html":{}}}],["2.1",{"_index":1040,"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":1010,"title":{},"body":{"dependencies.html":{}}}],["2.9.2",{"_index":997,"title":{},"body":{"dependencies.html":{}}}],["2/oidc",{"_index":1274,"title":{},"body":{"index.html":{}}}],["20",{"_index":1304,"title":{},"body":{"index.html":{},"overview.html":{},"additional-documentation/silent-refresh.html":{}}}],["20.000",{"_index":1507,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["2017",{"_index":1312,"title":{},"body":{"license.html":{}}}],["2020",{"_index":783,"title":{},"body":{"changelog.html":{}}}],["2021",{"_index":692,"title":{},"body":{"changelog.html":{}}}],["2204c5a",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["23",{"_index":934,"title":{},"body":{"changelog.html":{}}}],["256",{"_index":819,"title":{},"body":{"changelog.html":{}}}],["28",{"_index":937,"title":{},"body":{"changelog.html":{}}}],["2nd",{"_index":1861,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["3.1",{"_index":1510,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["3.4.1",{"_index":1005,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":785,"title":{},"body":{"changelog.html":{}}}],["31c6273",{"_index":899,"title":{},"body":{"changelog.html":{}}}],["38c7c3f",{"_index":829,"title":{},"body":{"changelog.html":{}}}],["3d331f2",{"_index":930,"title":{},"body":{"changelog.html":{}}}],["3f44eca",{"_index":915,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":880,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["4.3",{"_index":1061,"title":{},"body":{"index.html":{}}}],["4.x",{"_index":1105,"title":{},"body":{"index.html":{}}}],["401",{"_index":1519,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["403",{"_index":1520,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["40f5ae5",{"_index":807,"title":{},"body":{"changelog.html":{}}}],["415e053",{"_index":792,"title":{},"body":{"changelog.html":{}}}],["4202",{"_index":1170,"title":{},"body":{"index.html":{}}}],["4202]/index.html",{"_index":1171,"title":{},"body":{"index.html":{}}}],["4202]/silent",{"_index":1172,"title":{},"body":{"index.html":{}}}],["429ed2c",{"_index":894,"title":{},"body":{"changelog.html":{}}}],["4607d55",{"_index":822,"title":{},"body":{"changelog.html":{}}}],["4711",{"_index":1575,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["4bf8901",{"_index":891,"title":{},"body":{"changelog.html":{}}}],["4def1c1",{"_index":797,"title":{},"body":{"changelog.html":{}}}],["4th",{"_index":1447,"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":1373,"title":{},"body":{"overview.html":{}}}],["5.x",{"_index":1108,"title":{},"body":{"index.html":{}}}],["51e438a",{"_index":698,"title":{},"body":{"changelog.html":{}}}],["58a8132",{"_index":848,"title":{},"body":{"changelog.html":{}}}],["58c6354",{"_index":885,"title":{},"body":{"changelog.html":{}}}],["59f65d2",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["5c5288c",{"_index":849,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":1104,"title":{},"body":{"index.html":{}}}],["6.5.3",{"_index":1011,"title":{},"body":{"dependencies.html":{}}}],["6.6.7",{"_index":1013,"title":{},"body":{"dependencies.html":{}}}],["61sdfs.eu.auth0.com",{"_index":1848,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["61sdfs.eu.auth0.com/v2/logout",{"_index":1852,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["65c2b95",{"_index":852,"title":{},"body":{"changelog.html":{}}}],["678ff95",{"_index":843,"title":{},"body":{"changelog.html":{}}}],["687",{"_index":907,"title":{},"body":{"changelog.html":{}}}],["7",{"_index":1102,"title":{},"body":{"index.html":{}}}],["7.x",{"_index":1103,"title":{},"body":{"index.html":{}}}],["7009",{"_index":940,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["70fd826",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["71b705c",{"_index":921,"title":{},"body":{"changelog.html":{}}}],["728",{"_index":697,"title":{},"body":{"changelog.html":{}}}],["735",{"_index":963,"title":{},"body":{"changelog.html":{}}}],["741",{"_index":957,"title":{},"body":{"changelog.html":{}}}],["75",{"_index":1407,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["755",{"_index":948,"title":{},"body":{"changelog.html":{}}}],["773",{"_index":842,"title":{},"body":{"changelog.html":{}}}],["77cb37a",{"_index":896,"title":{},"body":{"changelog.html":{}}}],["7a15194",{"_index":805,"title":{},"body":{"changelog.html":{}}}],["7eac8ae",{"_index":924,"title":{},"body":{"changelog.html":{}}}],["8",{"_index":898,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["8.0.12",{"_index":795,"title":{},"body":{"changelog.html":{}}}],["8.0.19",{"_index":796,"title":{},"body":{"changelog.html":{}}}],["8.x",{"_index":1101,"title":{},"body":{"index.html":{}}}],["808969225",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["825",{"_index":828,"title":{},"body":{"changelog.html":{}}}],["84d95a7",{"_index":789,"title":{},"body":{"changelog.html":{}}}],["8ab853b",{"_index":874,"title":{},"body":{"changelog.html":{}}}],["8fa99ff",{"_index":917,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":300,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["9.0.0",{"_index":1002,"title":{},"body":{"dependencies.html":{},"index.html":{}}}],["9.1.0",{"_index":941,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["9.2",{"_index":790,"title":{},"body":{"changelog.html":{}}}],["9.2.0",{"_index":935,"title":{},"body":{"changelog.html":{}}}],["9.2.1",{"_index":804,"title":{},"body":{"changelog.html":{}}}],["9.2.2",{"_index":806,"title":{},"body":{"changelog.html":{}}}],["9.3.0",{"_index":808,"title":{},"body":{"changelog.html":{}}}],["9.x",{"_index":1100,"title":{},"body":{"index.html":{}}}],["92ee76d",{"_index":820,"title":{},"body":{"changelog.html":{}}}],["93902a5",{"_index":878,"title":{},"body":{"changelog.html":{}}}],["970",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["972",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["9761bad",{"_index":736,"title":{},"body":{"changelog.html":{}}}],["9]{3",{"_index":107,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["9e257d0",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["9e95c73",{"_index":836,"title":{},"body":{"changelog.html":{}}}],["_throw(err",{"_index":1530,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["a021627fd9d3the",{"_index":1675,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["a05bd8a",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["above",{"_index":1272,"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":150,"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":735,"title":{},"body":{"changelog.html":{}}}],["access",{"_index":902,"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":938,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["account",{"_index":1845,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["acr_values_supported",{"_index":487,"title":{},"body":{"classes/LoginOptions.html":{},"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":1362,"title":{},"body":{"license.html":{},"additional-documentation/session-checks.html":{}}}],["activate",{"_index":1656,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["activated",{"_index":1649,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["active",{"_index":1080,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["actual",{"_index":342,"title":{},"body":{"classes/LoginOptions.html":{},"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":1082,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["adapt",{"_index":1632,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["add",{"_index":762,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["added",{"_index":756,"title":{},"body":{"changelog.html":{}}}],["adding",{"_index":1718,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["addition",{"_index":1653,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["additional",{"_index":326,"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":1707,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["adjust",{"_index":1411,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["advanced",{"_index":1465,"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":181,"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":152,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aliases",{"_index":1375,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["alice/alice",{"_index":1165,"title":{},"body":{"index.html":{}}}],["align",{"_index":1182,"title":{},"body":{"index.html":{}}}],["allow",{"_index":875,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["allowedurls",{"_index":614,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["allows",{"_index":666,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["already",{"_index":13,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["alternative",{"_index":1449,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["although",{"_index":1769,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ambient",{"_index":832,"title":{},"body":{"changelog.html":{}}}],["analyzing",{"_index":984,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1332,"title":{},"body":{"license.html":{}}}],["angular",{"_index":283,"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":987,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":584,"title":{},"body":{"modules/OAuthModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":217,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.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":989,"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":990,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":991,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":992,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":995,"title":{},"body":{"dependencies.html":{}}}],["another",{"_index":1434,"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":174,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["anymore",{"_index":405,"title":{},"body":{"classes/LoginOptions.html":{},"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":1802,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["api",{"_index":1214,"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":1853,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["app",{"_index":945,"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":1849,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["app.component.html",{"_index":1738,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["app/home.html",{"_index":1742,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["appcomponent",{"_index":1178,"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":1612,"title":{},"body":{"additional-documentation/events.html":{}}}],["application",{"_index":309,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["applications",{"_index":318,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{}}}],["appmodule",{"_index":1180,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["approach",{"_index":1440,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["approutermodule",{"_index":1624,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["arbitrary",{"_index":1471,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["argument",{"_index":1287,"title":{},"body":{"index.html":{}}}],["arising",{"_index":1365,"title":{},"body":{"license.html":{}}}],["arr",{"_index":1037,"title":{},"body":{"miscellaneous/functions.html":{}}}],["array",{"_index":615,"title":{},"body":{"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":1677,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["asset",{"_index":1489,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["assets",{"_index":1492,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["associated",{"_index":1321,"title":{},"body":{"license.html":{}}}],["asstring",{"_index":91,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["assumes",{"_index":1158,"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":373,"title":{},"body":{"classes/LoginOptions.html":{},"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":1472,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["audience",{"_index":1854,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth",{"_index":389,"title":{},"body":{"classes/LoginOptions.html":{},"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":1734,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["auth0",{"_index":1049,"title":{"additional-documentation/authorization-servers/auth0.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["auth0's",{"_index":1855,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["auth_config",{"_index":1378,"title":{},"body":{"miscellaneous/variables.html":{}}}],["authcodeflowconfig",{"_index":1190,"title":{},"body":{"index.html":{}}}],["authconfig",{"_index":1189,"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":1674,"title":{},"body":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["authentication",{"_index":1303,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["authorization",{"_index":1838,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["authorization_endpoint",{"_index":476,"title":{},"body":{"classes/LoginOptions.html":{},"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":1840,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["authors",{"_index":1355,"title":{},"body":{"license.html":{}}}],["authstorage",{"_index":1542,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["automate",{"_index":1253,"title":{},"body":{"index.html":{}}}],["automatic",{"_index":870,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":1141,"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":1301,"title":{},"body":{"index.html":{},"modules.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["avoid",{"_index":371,"title":{},"body":{"classes/LoginOptions.html":{},"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":981,"title":{},"body":{"changelog.html":{}}}],["azure",{"_index":1079,"title":{"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["b",{"_index":161,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["b486546",{"_index":817,"title":{},"body":{"changelog.html":{}}}],["b64decodeunicode",{"_index":1024,"title":{},"body":{"miscellaneous/functions.html":{}}}],["b64decodeunicode(str",{"_index":1032,"title":{},"body":{"miscellaneous/functions.html":{}}}],["back",{"_index":1564,"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":1045,"title":{},"body":{"index.html":{}}}],["backwards",{"_index":1829,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["base",{"_index":1699,"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":1034,"title":{},"body":{"miscellaneous/functions.html":{}}}],["based",{"_index":913,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["bbff95b",{"_index":745,"title":{},"body":{"changelog.html":{}}}],["bearer",{"_index":267,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["beaugrand",{"_index":1717,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["beeing",{"_index":775,"title":{},"body":{"changelog.html":{}}}],["before",{"_index":730,"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":298,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["behavior",{"_index":1843,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["below",{"_index":1512,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["best",{"_index":380,"title":{},"body":{"classes/LoginOptions.html":{},"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":1755,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["between",{"_index":1414,"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":966,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1661,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["blocked",{"_index":776,"title":{},"body":{"changelog.html":{}}}],["blockers",{"_index":777,"title":{},"body":{"changelog.html":{}}}],["blog",{"_index":1084,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["bob/bob",{"_index":1164,"title":{},"body":{"index.html":{}}}],["boolean",{"_index":236,"title":{},"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":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["bootstrap",{"_index":1004,"title":{},"body":{"dependencies.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bootstrapping",{"_index":1229,"title":{},"body":{"index.html":{}}}],["breaking",{"_index":1278,"title":{},"body":{"index.html":{}}}],["brecht",{"_index":968,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1369,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":993,"title":{},"body":{"dependencies.html":{},"additional-documentation/using-password-flow.html":{}}}],["browsers",{"_index":1156,"title":{},"body":{"index.html":{}}}],["buffer",{"_index":140,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["bug",{"_index":695,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bugfixes",{"_index":1119,"title":{},"body":{"index.html":{}}}],["build",{"_index":860,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bump",{"_index":794,"title":{},"body":{"changelog.html":{}}}],["bundle",{"_index":320,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bundling",{"_index":1067,"title":{},"body":{"index.html":{}}}],["button",{"_index":740,"title":{},"body":{"changelog.html":{}}}],["bytearray",{"_index":143,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["bytearray].map(value",{"_index":187,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["c",{"_index":1311,"title":{},"body":{"license.html":{}}}],["c2b2753",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["c799ead",{"_index":903,"title":{},"body":{"changelog.html":{}}}],["c9a2c55",{"_index":718,"title":{},"body":{"changelog.html":{}}}],["ca435c0",{"_index":812,"title":{},"body":{"changelog.html":{}}}],["cae715e",{"_index":802,"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":1296,"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":1550,"title":{"additional-documentation/callback-after-login.html":{}},"body":{"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["called",{"_index":387,"title":{},"body":{"classes/LoginOptions.html":{},"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":1252,"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":609,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"changelog.html":{}}}],["cand",{"_index":180,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["candhash",{"_index":172,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["care",{"_index":1398,"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":297,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["carlier",{"_index":969,"title":{},"body":{"changelog.html":{}}}],["carry",{"_index":1811,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["case",{"_index":1258,"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":1460,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["catch",{"_index":1265,"title":{},"body":{"index.html":{}}}],["catch(err",{"_index":1498,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["catcherror",{"_index":220,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["catcherror((_",{"_index":260,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["change",{"_index":1279,"title":{},"body":{"index.html":{}}}],["changelog",{"_index":690,"title":{"changelog.html":{}},"body":{"changelog.html":{}}}],["changes",{"_index":863,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["charactes",{"_index":667,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["charge",{"_index":1316,"title":{},"body":{"license.html":{}}}],["check",{"_index":370,"title":{},"body":{"classes/LoginOptions.html":{},"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":481,"title":{},"body":{"classes/LoginOptions.html":{},"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":886,"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":235,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["chore",{"_index":786,"title":{},"body":{"changelog.html":{}}}],["chore(deps",{"_index":793,"title":{},"body":{"changelog.html":{}}}],["chore(release",{"_index":803,"title":{},"body":{"changelog.html":{}}}],["circular",{"_index":1534,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["cites",{"_index":1770,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["cjs",{"_index":1726,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["claim",{"_index":1358,"title":{},"body":{"license.html":{}}}],["claim_types_supported",{"_index":499,"title":{},"body":{"classes/LoginOptions.html":{},"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":448,"title":{},"body":{"classes/LoginOptions.html":{},"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":1747,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims_parameter_supported",{"_index":501,"title":{},"body":{"classes/LoginOptions.html":{},"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":500,"title":{},"body":{"classes/LoginOptions.html":{},"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/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/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":{}}}],["clear",{"_index":401,"title":{},"body":{"classes/LoginOptions.html":{},"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":1233,"title":{},"body":{"index.html":{}}}],["cli",{"_index":1487,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cli.json",{"_index":1491,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["click",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["client",{"_index":433,"title":{},"body":{"classes/LoginOptions.html":{},"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":1857,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["clientid",{"_index":1196,"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":1166,"title":{},"body":{"index.html":{}}}],["closes",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["code",{"_index":313,"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":847,"title":{},"body":{"changelog.html":{}}}],["code_error",{"_index":536,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["codeflow",{"_index":768,"title":{},"body":{"changelog.html":{}}}],["codes",{"_index":1518,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["come",{"_index":1442,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["commands",{"_index":1133,"title":{},"body":{"index.html":{}}}],["commit",{"_index":868,"title":{},"body":{"changelog.html":{}}}],["commonjs",{"_index":1066,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":583,"title":{},"body":{"modules/OAuthModule.html":{}}}],["communication",{"_index":1502,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["community",{"_index":1055,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["compat",{"_index":1012,"title":{},"body":{"dependencies.html":{}}}],["compatibility",{"_index":1830,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["compatible",{"_index":417,"title":{},"body":{"classes/LoginOptions.html":{},"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":1429,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["complex",{"_index":1482,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["compliant",{"_index":1839,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["compodoc/compodoc",{"_index":1134,"title":{},"body":{"index.html":{}}}],["component",{"_index":1679,"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":1298,"title":{},"body":{"index.html":{}}}],["conditions",{"_index":1339,"title":{},"body":{"license.html":{}}}],["config",{"_index":578,"title":{"additional-documentation/original-config-api.html":{}},"body":{"modules/OAuthModule.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":1147,"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":1187,"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":779,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["configuring",{"_index":1404,"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":458,"title":{},"body":{"classes/LoginOptions.html":{},"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":1366,"title":{},"body":{"license.html":{}}}],["considered",{"_index":1291,"title":{},"body":{"index.html":{}}}],["consistent",{"_index":1712,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["console",{"_index":418,"title":{},"body":{"classes/LoginOptions.html":{},"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":1555,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.debug('given_name",{"_index":1792,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('hash",{"_index":178,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["console.debug('ok",{"_index":1798,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('refresh",{"_index":1496,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.debug('state",{"_index":1390,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["console.debug('your",{"_index":1669,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["console.debug(context",{"_index":1556,"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":1499,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.error(err",{"_index":323,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["console.error(event",{"_index":1595,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.log(e));or",{"_index":1587,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.warn(event",{"_index":1596,"title":{},"body":{"additional-documentation/events.html":{}}}],["const",{"_index":147,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.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":{}}}],["constructor",{"_index":200,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.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(oauthservice",{"_index":201,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["constructor(private",{"_index":1680,"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":552,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["constructor(type",{"_index":524,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["contain",{"_index":1116,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1630,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["context",{"_index":1552,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["contract",{"_index":1363,"title":{},"body":{"license.html":{}}}],["contribute",{"_index":1127,"title":{},"body":{"index.html":{}}}],["contributer",{"_index":815,"title":{},"body":{"changelog.html":{}}}],["contributers",{"_index":967,"title":{},"body":{"changelog.html":{}}}],["contribution",{"_index":1558,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["contributions",{"_index":1121,"title":{},"body":{"index.html":{}}}],["contributors",{"_index":1309,"title":{},"body":{"index.html":{}}}],["control",{"_index":1807,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["controls",{"_index":406,"title":{},"body":{"classes/LoginOptions.html":{},"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":1222,"title":{},"body":{"index.html":{}}}],["cookie",{"_index":1437,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cookies",{"_index":884,"title":{},"body":{"changelog.html":{}}}],["copied",{"_index":1486,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["copies",{"_index":1334,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1319,"title":{},"body":{"license.html":{}}}],["copying",{"_index":857,"title":{},"body":{"changelog.html":{}}}],["copyright",{"_index":1310,"title":{},"body":{"license.html":{}}}],["core",{"_index":459,"title":{},"body":{"classes/LoginOptions.html":{},"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":706,"title":{},"body":{"changelog.html":{}}}],["corrupted",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["cors",{"_index":1863,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["cought",{"_index":1529,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["counterparts",{"_index":1289,"title":{},"body":{"index.html":{}}}],["create",{"_index":437,"title":{},"body":{"classes/LoginOptions.html":{},"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":1090,"title":{},"body":{"index.html":{}}}],["createdefaultlogger",{"_index":592,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["createdefaultstorage",{"_index":593,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["creates",{"_index":1533,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["credentials",{"_index":1787,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["credits",{"_index":1041,"title":{},"body":{"index.html":{}}}],["critical",{"_index":1118,"title":{},"body":{"index.html":{}}}],["cross",{"_index":1484,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["crypto",{"_index":151,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["current",{"_index":1183,"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":823,"title":{},"body":{"changelog.html":{}}}],["custom",{"_index":338,"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":330,"title":{},"body":{"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":1799,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customparameters",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["customqueryparams",{"_index":1570,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["customredirecturi",{"_index":331,"title":{},"body":{"classes/LoginOptions.html":{},"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":616,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["cycle",{"_index":1112,"title":{},"body":{"index.html":{}}}],["d",{"_index":160,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{}}}],["da16494",{"_index":754,"title":{},"body":{"changelog.html":{}}}],["damages",{"_index":1359,"title":{},"body":{"license.html":{}}}],["daniel",{"_index":970,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":168,"title":{},"body":{"injectables/DefaultHashHandler.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":{},"additional-documentation/using-password-flow.html":{}}}],["date",{"_index":123,"title":{},"body":{"classes/DateTimeProvider.html":{},"modules/OAuthModule.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":{},"modules/OAuthModule.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{}}}],["datetimeprovider:10",{"_index":637,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["datetimeprovider:14",{"_index":636,"title":{},"body":{"injectables/SystemDateTimeProvider.html":{}}}],["deal",{"_index":1323,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1367,"title":{},"body":{"license.html":{}}}],["debug",{"_index":559,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["debug(message",{"_index":424,"title":{},"body":{"classes/LoginOptions.html":{},"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":1583,"title":{},"body":{"additional-documentation/events.html":{}}}],["decide",{"_index":1643,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["declarations",{"_index":596,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["decodekey",{"_index":670,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodekey(k",{"_index":674,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(hash",{"_index":647,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["decodeuricomponent(k",{"_index":686,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(v",{"_index":687,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeutf8",{"_index":1028,"title":{},"body":{"miscellaneous/functions.html":{}}}],["decodeutf8(s",{"_index":155,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["decodevalue",{"_index":671,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodevalue(v",{"_index":677,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["default",{"_index":365,"title":{},"body":{"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":1727,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["defaulthashhandler",{"_index":131,"title":{"injectables/DefaultHashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"modules/OAuthModule.html":{}}}],["defaultoauthinterceptor",{"_index":195,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["defaults",{"_index":1445,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["define",{"_index":1488,"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/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":383,"title":{},"body":{"classes/LoginOptions.html":{},"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":1652,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["demand",{"_index":1120,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demands",{"_index":1198,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demo",{"_index":881,"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":1553,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["dep",{"_index":814,"title":{},"body":{"changelog.html":{}}}],["dependancy",{"_index":895,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":986,"title":{"dependencies.html":{}},"body":{"dependencies.html":{},"overview.html":{}}}],["dependency",{"_index":311,"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":1224,"title":{},"body":{"index.html":{}}}],["deprecated",{"_index":392,"title":{},"body":{"classes/LoginOptions.html":{},"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":1721,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["described",{"_index":1424,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["describes",{"_index":1827,"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":1795,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["details",{"_index":890,"title":{},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/original-config-api.html":{}}}],["detects",{"_index":388,"title":{},"body":{"classes/LoginOptions.html":{},"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":1591,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["directed",{"_index":1823,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["directly",{"_index":1248,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["directory",{"_index":1081,"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":368,"title":{},"body":{"classes/LoginOptions.html":{},"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":825,"title":{},"body":{"changelog.html":{}}}],["disabled",{"_index":1603,"title":{},"body":{"additional-documentation/events.html":{}}}],["disablenoncecheck",{"_index":332,"title":{},"body":{"classes/LoginOptions.html":{},"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":333,"title":{},"body":{"classes/LoginOptions.html":{},"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":472,"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":531,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["discovery_document_loaded",{"_index":528,"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":532,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["display",{"_index":1243,"title":{},"body":{"index.html":{}}}],["display_values_supported",{"_index":498,"title":{},"body":{"classes/LoginOptions.html":{},"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":404,"title":{},"body":{"classes/LoginOptions.html":{},"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":1330,"title":{},"body":{"license.html":{}}}],["docs",{"_index":889,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["docs(readme",{"_index":850,"title":{},"body":{"changelog.html":{}}}],["document",{"_index":473,"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":1052,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["documentation/refreshing",{"_index":1263,"title":{},"body":{"index.html":{}}}],["documentation/using",{"_index":1276,"title":{},"body":{"index.html":{}}}],["documented",{"_index":865,"title":{},"body":{"changelog.html":{}}}],["doesn't",{"_index":1693,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["doing",{"_index":385,"title":{},"body":{"classes/LoginOptions.html":{},"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":1485,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["domains",{"_index":1705,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["don't",{"_index":1242,"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":1833,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["draft",{"_index":1184,"title":{},"body":{"index.html":{}}}],["dummy",{"_index":275,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["dummyclientsecret",{"_index":1207,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["during",{"_index":1478,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["dynamic",{"_index":994,"title":{},"body":{"dependencies.html":{}}}],["e",{"_index":182,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["e.g",{"_index":1483,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["e.type",{"_index":257,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["e2599e0",{"_index":908,"title":{},"body":{"changelog.html":{}}}],["e2e",{"_index":711,"title":{},"body":{"changelog.html":{}}}],["e89aa6d",{"_index":861,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":1115,"title":{},"body":{"index.html":{}}}],["ease",{"_index":1146,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["easier",{"_index":1427,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["easiest",{"_index":1536,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["edge",{"_index":1463,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["elements",{"_index":999,"title":{},"body":{"dependencies.html":{}}}],["email",{"_index":1218,"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":1522,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["encode",{"_index":1297,"title":{},"body":{"index.html":{}}}],["encodekey",{"_index":672,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodekey(k",{"_index":680,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encoder",{"_index":164,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"dependencies.html":{}}}],["encoder.encode(valuetohash",{"_index":169,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodeuricomponent",{"_index":1286,"title":{},"body":{"index.html":{}}}],["encodeuricomponent(k",{"_index":684,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeuricomponent(v",{"_index":685,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeutf8",{"_index":1030,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(arr",{"_index":1036,"title":{},"body":{"miscellaneous/functions.html":{}}}],["encodeutf8(fsha256(decodeutf8(valuetohash",{"_index":173,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodevalue",{"_index":673,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodevalue(v",{"_index":682,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encounter",{"_index":1598,"title":{},"body":{"additional-documentation/events.html":{}}}],["end",{"_index":1088,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/auth0.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["end_session_endpoint",{"_index":482,"title":{},"body":{"classes/LoginOptions.html":{},"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":456,"title":{},"body":{"classes/LoginOptions.html":{},"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":1697,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["endpont",{"_index":1780,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ends",{"_index":1650,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["enforce",{"_index":1203,"title":{},"body":{"index.html":{}}}],["enhancements",{"_index":1125,"title":{},"body":{"index.html":{}}}],["ensure",{"_index":1251,"title":{},"body":{"index.html":{}}}],["ensures",{"_index":1696,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["enter",{"_index":1753,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["enters",{"_index":1140,"title":{},"body":{"index.html":{}}}],["enum",{"_index":1615,"title":{},"body":{"additional-documentation/events.html":{}}}],["environment",{"_index":1060,"title":{},"body":{"index.html":{}}}],["environments",{"_index":377,"title":{},"body":{"classes/LoginOptions.html":{},"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":964,"title":{},"body":{"changelog.html":{}}}],["err",{"_index":294,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"miscellaneous/variables.html":{}}}],["err));when",{"_index":1500,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["error",{"_index":229,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.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":{},"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":429,"title":{},"body":{"classes/LoginOptions.html":{},"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":203,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["errors",{"_index":1515,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["escapedkey",{"_index":657,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["escapedvalue",{"_index":658,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["esm",{"_index":818,"title":{},"body":{"changelog.html":{}}}],["etc",{"_index":1176,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["event",{"_index":763,"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":394,"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":1616,"title":{},"body":{"additional-documentation/events.html":{}}}],["eventtype",{"_index":525,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["example",{"_index":1086,"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":1157,"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":1228,"title":{},"body":{"index.html":{}}}],["existing",{"_index":1239,"title":{},"body":{"index.html":{}}}],["expected",{"_index":1604,"title":{},"body":{"additional-documentation/events.html":{}}}],["expects",{"_index":1856,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["experience",{"_index":1841,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["expired",{"_index":1796,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["expires",{"_index":1144,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["expires_in",{"_index":463,"title":{},"body":{"classes/LoginOptions.html":{},"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":900,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["explicitly",{"_index":1642,"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/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":597,"title":{},"body":{"modules/OAuthModule.html":{}}}],["express",{"_index":1346,"title":{},"body":{"license.html":{}}}],["extend",{"_index":1804,"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":799,"title":{},"body":{"changelog.html":{}}}],["extensive",{"_index":1589,"title":{},"body":{"additional-documentation/events.html":{}}}],["extraction",{"_index":960,"title":{},"body":{"changelog.html":{}}}],["f42f943",{"_index":809,"title":{},"body":{"changelog.html":{}}}],["f5bd96c",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["fact",{"_index":1430,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["factor",{"_index":1412,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["factories",{"_index":594,"title":{},"body":{"modules/OAuthModule.html":{}}}],["factory",{"_index":144,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["fail",{"_index":1709,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["fails",{"_index":1694,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{}}],["fall",{"_index":1563,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["fallback",{"_index":1481,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["false",{"_index":366,"title":{},"body":{"classes/LoginOptions.html":{},"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":1426,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["fast",{"_index":149,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"dependencies.html":{}}}],["fb3afe4",{"_index":830,"title":{},"body":{"changelog.html":{}}}],["feat(oauth",{"_index":821,"title":{},"body":{"changelog.html":{}}}],["features",{"_index":746,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["feel",{"_index":1122,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fetch",{"_index":1230,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["fetching",{"_index":1784,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ff7d1d9",{"_index":751,"title":{},"body":{"changelog.html":{}}}],["fhash",{"_index":170,"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/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":1322,"title":{},"body":{"license.html":{}}}],["filter",{"_index":221,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["filter((e",{"_index":256,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["finally",{"_index":1480,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["find",{"_index":1383,"title":{},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/original-config-api.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["fine",{"_index":1268,"title":{},"body":{"index.html":{}}}],["fired",{"_index":1406,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["first",{"_index":1210,"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":1351,"title":{},"body":{"license.html":{}}}],["fix",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["fix(lib",{"_index":856,"title":{},"body":{"changelog.html":{}}}],["fixed",{"_index":909,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":696,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["flag",{"_index":374,"title":{},"body":{"classes/LoginOptions.html":{},"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":1736,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["flow",{"_index":305,"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":1277,"title":{},"body":{"index.html":{}}}],["flow.md",{"_index":838,"title":{},"body":{"changelog.html":{}}}],["flows",{"_index":348,"title":{},"body":{"classes/LoginOptions.html":{},"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":743,"title":{},"body":{"changelog.html":{}}}],["folder",{"_index":1129,"title":{},"body":{"index.html":{}}}],["followed",{"_index":353,"title":{},"body":{"classes/LoginOptions.html":{},"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":358,"title":{},"body":{"classes/LoginOptions.html":{},"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":1801,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/authorization-servers.html":{}}}],["for(var",{"_index":1467,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["form",{"_index":1241,"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":1725,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["former",{"_index":1635,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["forroot",{"_index":574,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forroot(config",{"_index":575,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forward",{"_index":1473,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["forwards",{"_index":1235,"title":{},"body":{"index.html":{}}}],["found",{"_index":1543,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["foundation",{"_index":1186,"title":{},"body":{"index.html":{}}}],["four",{"_index":1211,"title":{},"body":{"index.html":{}}}],["fragment",{"_index":339,"title":{},"body":{"classes/LoginOptions.html":{},"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":1123,"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":171,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["full",{"_index":1614,"title":{},"body":{"additional-documentation/events.html":{}}}],["function",{"_index":154,"title":{},"body":{"injectables/DefaultHashHandler.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":1023,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":1337,"title":{},"body":{"license.html":{}}}],["further",{"_index":1150,"title":{},"body":{"index.html":{}}}],["g",{"_index":919,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["geheim",{"_index":1773,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then",{"_index":1794,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then((resp",{"_index":1789,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["general",{"_index":1200,"title":{},"body":{"index.html":{}}}],["generate",{"_index":1132,"title":{},"body":{"index.html":{}}}],["gethashfragmentparams",{"_index":640,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["gethashfragmentparams(customhashfragment",{"_index":642,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["getitem",{"_index":505,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["getitem(key",{"_index":440,"title":{},"body":{"classes/LoginOptions.html":{},"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":846,"title":{},"body":{"changelog.html":{}}}],["getting",{"_index":688,"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":700,"title":{},"body":{"changelog.html":{}}}],["give",{"_index":1503,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["go",{"_index":1464,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["gone",{"_index":1610,"title":{},"body":{"additional-documentation/events.html":{}}}],["google",{"_index":1702,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["grant",{"_index":755,"title":{},"body":{"changelog.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["grant_types_supported",{"_index":489,"title":{},"body":{"classes/LoginOptions.html":{},"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":1315,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1368,"title":{},"body":{"modules.html":{}}}],["great",{"_index":1557,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{}}}],["guard",{"_index":905,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["guards",{"_index":1058,"title":{},"body":{"index.html":{}}}],["guide",{"_index":1384,"title":{},"body":{"additional-documentation/getting-started.html":{}}}],["guidelines",{"_index":869,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["half",{"_index":1418,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["hallo",{"_index":1749,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["handle",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["handle(req",{"_index":250,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["handleerror",{"_index":618,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["handleerror(err",{"_index":619,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler",{"_index":230,"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":517,"title":{},"body":{"classes/NullValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{}}}],["handler.ts:12",{"_index":271,"title":{},"body":{"classes/HashHandler.html":{}}}],["handler.ts:20",{"_index":663,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:25",{"_index":288,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["handler.ts:27",{"_index":662,"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":626,"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":518,"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":1513,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["hash",{"_index":33,"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":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/custom-query-parameters.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hash.indexof",{"_index":648,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(1",{"_index":652,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(questionmarkposition",{"_index":651,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hashalg",{"_index":85,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["hasharray",{"_index":166,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashhandler",{"_index":153,"title":{"classes/HashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{}}}],["hashing",{"_index":1042,"title":{},"body":{"index.html":{}}}],["hashlocationstrategy",{"_index":1065,"title":{},"body":{"index.html":{}}}],["hashstrategy",{"_index":1271,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hashstring",{"_index":175,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hasreceivedtokens",{"_index":1810,"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":268,"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",{"_index":587,"title":{},"body":{"modules/OAuthModule.html":{}}}],["helper.service.ts",{"_index":639,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:25",{"_index":645,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:5",{"_index":643,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.ts",{"_index":1026,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hence",{"_index":1136,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["here",{"_index":1078,"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":1597,"title":{},"body":{"additional-documentation/events.html":{}}}],["hereby",{"_index":1314,"title":{},"body":{"license.html":{}}}],["hexcode",{"_index":188,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcode.padstart(2",{"_index":191,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes",{"_index":186,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes.join",{"_index":192,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexstring(buffer",{"_index":185,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hidden",{"_index":1432,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["holders",{"_index":1356,"title":{},"body":{"license.html":{}}}],["home",{"_index":1554,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["homecomponent",{"_index":1179,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["hook",{"_index":411,"title":{},"body":{"classes/LoginOptions.html":{},"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":1476,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["http",{"_index":1516,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["http://localhost:4200",{"_index":1161,"title":{},"body":{"index.html":{}}}],["http://localhost:8080/#/home",{"_index":1631,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["http://openid.net/specs/openid",{"_index":457,"title":{},"body":{"classes/LoginOptions.html":{},"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":1259,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["http_interceptors",{"_index":585,"title":{},"body":{"modules/OAuthModule.html":{}}}],["httpclientmodule",{"_index":1175,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["httperrorresponse",{"_index":1539,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpevent",{"_index":215,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httphandler",{"_index":211,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptor",{"_index":216,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptors",{"_index":1509,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpmodule",{"_index":923,"title":{},"body":{"changelog.html":{}}}],["httpparametercodec",{"_index":669,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["httprequest",{"_index":209,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpresponse",{"_index":620,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["https://dev",{"_index":1847,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["https://github.com/jeroenheijmans/sample",{"_index":1057,"title":{},"body":{"index.html":{}}}],["https://github.com/lankaapura/angular",{"_index":1676,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://github.com/manfredsteyer/angular",{"_index":757,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["https://idsvr4.azurewebsites.net",{"_index":1191,"title":{},"body":{"index.html":{}}}],["https://manfredsteyer.github.io/angular",{"_index":1053,"title":{},"body":{"index.html":{}}}],["https://medium.com/lankapura/angular",{"_index":1673,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://steyer",{"_index":1443,"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":1701,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["i=0",{"_index":1468,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["id",{"_index":449,"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":495,"title":{},"body":{"classes/LoginOptions.html":{},"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":496,"title":{},"body":{"classes/LoginOptions.html":{},"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":494,"title":{},"body":{"classes/LoginOptions.html":{},"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":450,"title":{},"body":{"classes/LoginOptions.html":{},"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":1124,"title":{},"body":{"index.html":{}}}],["identity",{"_index":942,"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":1071,"title":{},"body":{"index.html":{}}}],["idsvr",{"_index":851,"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":452,"title":{},"body":{"classes/LoginOptions.html":{},"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":454,"title":{},"body":{"classes/LoginOptions.html":{},"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":453,"title":{},"body":{"classes/LoginOptions.html":{},"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":910,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["iframe",{"_index":1433,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iframes",{"_index":346,"title":{},"body":{"classes/LoginOptions.html":{},"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":1862,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["implcit",{"_index":1766,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["implemantion",{"_index":1527,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["implement",{"_index":1521,"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":438,"title":{},"body":{"classes/LoginOptions.html":{},"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":1646,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["implementing",{"_index":302,"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":304,"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":1347,"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":1212,"title":{},"body":{"index.html":{}}}],["imports",{"_index":595,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["included",{"_index":390,"title":{},"body":{"classes/LoginOptions.html":{},"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":384,"title":{},"body":{"classes/LoginOptions.html":{},"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":845,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["increase",{"_index":787,"title":{},"body":{"changelog.html":{}}}],["indeed",{"_index":1469,"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/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":1193,"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":660,"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/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":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["info(message",{"_index":426,"title":{},"body":{"classes/LoginOptions.html":{},"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":1391,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["information",{"_index":1093,"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":1578,"title":{},"body":{"additional-documentation/events.html":{}}}],["inherited",{"_index":290,"title":{},"body":{"classes/JwksValidationHandler.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["initial",{"_index":1479,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initialize",{"_index":1220,"title":{},"body":{"index.html":{}}}],["initializes",{"_index":1223,"title":{},"body":{"index.html":{}}}],["initialnavigation",{"_index":1627,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initimplicitflow",{"_index":1288,"title":{},"body":{"index.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-implicit-flow.html":{}}}],["initloginflow",{"_index":854,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["initloginflowinpopup",{"_index":772,"title":{},"body":{"changelog.html":{},"additional-documentation/popup-based-login.html":{}}}],["inject",{"_index":1538,"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":1532,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injection",{"_index":422,"title":{},"body":{"classes/LoginOptions.html":{},"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":956,"title":{},"body":{"changelog.html":{}}}],["injectiontoken('auth_config",{"_index":1382,"title":{},"body":{"miscellaneous/variables.html":{}}}],["inline",{"_index":811,"title":{},"body":{"changelog.html":{}}}],["install",{"_index":306,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["installing",{"_index":1173,"title":{},"body":{"index.html":{}}}],["instance",{"_index":1415,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["instanceof",{"_index":1594,"title":{},"body":{"additional-documentation/events.html":{}}}],["instead",{"_index":341,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["intended",{"_index":1731,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["interaction",{"_index":1439,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["intercept",{"_index":199,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["intercept(req",{"_index":208,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["intercepted",{"_index":610,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["interceptor",{"_index":194,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"index.html":{}}}],["interceptors",{"_index":196,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["interceptors/default",{"_index":590,"title":{},"body":{"modules/OAuthModule.html":{}}}],["interceptors/resource",{"_index":589,"title":{},"body":{"modules/OAuthModule.html":{}}}],["interesting",{"_index":1808,"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":631,"title":{},"body":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"overview.html":{}}}],["internally",{"_index":363,"title":{},"body":{"classes/LoginOptions.html":{},"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":747,"title":{},"body":{"changelog.html":{}}}],["invalid_nonce_in_state",{"_index":530,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["ionic",{"_index":1307,"title":{},"body":{"index.html":{}}}],["isn't",{"_index":512,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["isresponse(str",{"_index":1466,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["issue",{"_index":831,"title":{},"body":{"changelog.html":{}}}],["issuer",{"_index":475,"title":{},"body":{"classes/LoginOptions.html":{},"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":882,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["issuing",{"_index":1431,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["ivy",{"_index":835,"title":{},"body":{"changelog.html":{}}}],["java",{"_index":1048,"title":{},"body":{"index.html":{}}}],["jeroenheijmans",{"_index":980,"title":{},"body":{"changelog.html":{}}}],["jie",{"_index":971,"title":{},"body":{"changelog.html":{}}}],["job",{"_index":982,"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":721,"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":1284,"title":{},"body":{"index.html":{}}}],["jwks_load_error",{"_index":529,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["jwks_uri",{"_index":483,"title":{},"body":{"classes/LoginOptions.html":{},"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":272,"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":1640,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["jwt",{"_index":753,"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":676,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["keep",{"_index":1452,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["kevin",{"_index":1716,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["key",{"_index":470,"title":{},"body":{"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":{}}}],["keycloak",{"_index":1046,"title":{"additional-documentation/authorization-servers/using-keycloak.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers/using-keycloak.html":{}}}],["keys",{"_index":1636,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["kicks",{"_index":1763,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["kind",{"_index":1345,"title":{},"body":{"license.html":{}}}],["known",{"_index":1428,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["known/openid",{"_index":1776,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["labat",{"_index":979,"title":{},"body":{"changelog.html":{}}}],["labels",{"_index":1126,"title":{},"body":{"index.html":{}}}],["laing",{"_index":977,"title":{},"body":{"changelog.html":{}}}],["later",{"_index":1637,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["leads",{"_index":1535,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/session-checks.html":{}}}],["leftmosthalf",{"_index":93,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["levels",{"_index":1592,"title":{},"body":{"additional-documentation/events.html":{}}}],["leveraging",{"_index":1617,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["liability",{"_index":1360,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1357,"title":{},"body":{"license.html":{}}}],["lib",{"_index":402,"title":{},"body":{"classes/LoginOptions.html":{},"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":281,"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":1710,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["license",{"_index":858,"title":{"license.html":{}},"body":{"changelog.html":{}}}],["life",{"_index":1409,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["lifetime",{"_index":1663,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["limitation",{"_index":1326,"title":{},"body":{"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["limited",{"_index":1348,"title":{},"body":{"license.html":{}}}],["lin",{"_index":972,"title":{},"body":{"changelog.html":{}}}],["line",{"_index":1490,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["linjie997",{"_index":949,"title":{},"body":{"changelog.html":{}}}],["linked",{"_index":1087,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["links",{"_index":1091,"title":{},"body":{"index.html":{}}}],["list",{"_index":1396,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/events.html":{}}}],["listed",{"_index":1524,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["listen",{"_index":759,"title":{},"body":{"changelog.html":{}}}],["lite",{"_index":1015,"title":{},"body":{"dependencies.html":{}}}],["load",{"_index":1774,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["loaddiscoverydocumentandlogin",{"_index":853,"title":{},"body":{"changelog.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["loaddiscoverydocumentandtrylogin",{"_index":1806,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["loaded",{"_index":1453,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["loading",{"_index":1790,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["loadkeys",{"_index":79,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["loaduserprofile",{"_index":1606,"title":{},"body":{"additional-documentation/events.html":{}}}],["local",{"_index":1651,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["localhost:[4200",{"_index":1169,"title":{},"body":{"index.html":{}}}],["localstorage",{"_index":435,"title":{},"body":{"classes/LoginOptions.html":{},"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":708,"title":{},"body":{"changelog.html":{}}}],["location.hash",{"_index":703,"title":{},"body":{"changelog.html":{}}}],["location.origin",{"_index":1458,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["location.search",{"_index":1457,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["locationstrategy",{"_index":1618,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["log",{"_index":560,"title":{},"body":{"classes/OAuthLogger.html":{},"additional-documentation/events.html":{}}}],["log(message",{"_index":427,"title":{},"body":{"classes/LoginOptions.html":{},"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":1436,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["loggin",{"_index":1781,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["logging",{"_index":415,"title":{},"body":{"classes/LoginOptions.html":{},"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":739,"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":767,"title":{},"body":{"changelog.html":{}}}],["loginoptions",{"_index":324,"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":1744,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["logout",{"_index":548,"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":1851,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["logs",{"_index":1590,"title":{},"body":{"additional-documentation/events.html":{}}}],["long",{"_index":1613,"title":{},"body":{"additional-documentation/events.html":{}}}],["longer",{"_index":1588,"title":{},"body":{"additional-documentation/events.html":{}}}],["look",{"_index":1076,"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":1275,"title":{},"body":{"index.html":{}}}],["lower",{"_index":1257,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["main",{"_index":1454,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-systemjs.html":{}}}],["maintain",{"_index":1711,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["major",{"_index":1114,"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":1569,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["management",{"_index":1647,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["mandatory",{"_index":1290,"title":{},"body":{"index.html":{}}}],["manfred",{"_index":973,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["manner",{"_index":350,"title":{},"body":{"classes/LoginOptions.html":{},"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":1237,"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":222,"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":262,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mark",{"_index":356,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1163,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["mccloghry",{"_index":976,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":1561,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["means",{"_index":1417,"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":1732,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["memorystorage",{"_index":443,"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":1393,"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":1350,"title":{},"body":{"license.html":{}}}],["merge",{"_index":218,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"license.html":{}}}],["mergemap",{"_index":224,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mergemap((token",{"_index":266,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["message",{"_index":391,"title":{},"body":{"classes/LoginOptions.html":{},"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":1720,"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/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":1202,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["minutes",{"_index":1305,"title":{},"body":{"index.html":{}}}],["miscellaneous",{"_index":1022,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":922,"title":{},"body":{"changelog.html":{}}}],["mode",{"_index":737,"title":{},"body":{"changelog.html":{}}}],["moderating",{"_index":983,"title":{},"body":{"changelog.html":{}}}],["modern",{"_index":1155,"title":{},"body":{"index.html":{}}}],["modify",{"_index":1328,"title":{},"body":{"license.html":{}}}],["module",{"_index":568,"title":{"modules/OAuthModule.html":{}},"body":{"overview.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["module.config",{"_index":232,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["module.config.ts",{"_index":604,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:11",{"_index":623,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:12",{"_index":625,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:13",{"_index":624,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:2",{"_index":607,"title":{},"body":{"classes/OAuthModuleConfig.html":{}}}],["moduleconfig",{"_index":205,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["modules",{"_index":570,"title":{"modules.html":{}},"body":{"modules/OAuthModule.html":{},"modules.html":{}}}],["modulewithproviders",{"_index":579,"title":{},"body":{"modules/OAuthModule.html":{}}}],["moment",{"_index":1665,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["moos",{"_index":958,"title":{},"body":{"changelog.html":{}}}],["more",{"_index":1092,"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":280,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["msec",{"_index":1506,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["much",{"_index":1109,"title":{},"body":{"index.html":{}}}],["multi",{"_index":602,"title":{},"body":{"modules/OAuthModule.html":{}}}],["multiple",{"_index":741,"title":{},"body":{"changelog.html":{}}}],["multiplying",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["name",{"_index":39,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.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":282,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["navigation",{"_index":1620,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["need",{"_index":301,"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":312,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needs",{"_index":1660,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["net",{"_index":1072,"title":{},"body":{"index.html":{}}}],["net/.net",{"_index":1044,"title":{},"body":{"index.html":{}}}],["never",{"_index":375,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1107,"title":{},"body":{"index.html":{}}}],["newest",{"_index":1659,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["next",{"_index":210,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req",{"_index":247,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req).catch(err",{"_index":1549,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ngmodule",{"_index":582,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["ngx",{"_index":1008,"title":{},"body":{"dependencies.html":{}}}],["ngzone",{"_index":928,"title":{},"body":{"changelog.html":{}}}],["node_modules/jsrsasign/lib/jsrsasign",{"_index":1728,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["nonce",{"_index":369,"title":{},"body":{"classes/LoginOptions.html":{},"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":1354,"title":{},"body":{"license.html":{}}}],["normally",{"_index":399,"title":{},"body":{"classes/LoginOptions.html":{},"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":862,"title":{},"body":{"changelog.html":{}}}],["note",{"_index":310,"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":1422,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["nothing",{"_index":514,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["notice",{"_index":1340,"title":{},"body":{"license.html":{}}}],["notification",{"_index":1644,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notifications",{"_index":1657,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notified",{"_index":1666,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["now",{"_index":121,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/SystemDateTimeProvider.html":{},"changelog.html":{},"index.html":{}}}],["nowadays",{"_index":314,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/original-config-api.html":{}}}],["npm",{"_index":307,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["null",{"_index":293,"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":287,"title":{"classes/NullValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["nullvalidationhandler:11",{"_index":291,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["nullvalidationhandler:8",{"_index":292,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["number",{"_index":125,"title":{},"body":{"classes/DateTimeProvider.html":{},"injectables/DefaultHashHandler.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":{}}}],["oauth",{"_index":231,"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",{"_index":591,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oauth.interceptor.ts",{"_index":198,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:23",{"_index":207,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:44",{"_index":212,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth2",{"_index":284,"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":303,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oautherrorevent",{"_index":521,"title":{"classes/OAuthErrorEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"additional-documentation/events.html":{}}}],["oauthevent",{"_index":523,"title":{"classes/OAuthEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthinfoevent",{"_index":556,"title":{"classes/OAuthInfoEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthlogger",{"_index":423,"title":{"classes/OAuthLogger.html":{}},"body":{"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":{}}}],["oauthmodule",{"_index":569,"title":{"modules/OAuthModule.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"modules.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmodule.forroot",{"_index":1177,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmoduleconfig",{"_index":206,"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":588,"title":{"classes/OAuthNoopResourceServerErrorHandler.html":{}},"body":{"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthresourceserverconfig",{"_index":606,"title":{"classes/OAuthResourceServerConfig.html":{}},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["oauthresourceservererrorhandler",{"_index":204,"title":{"classes/OAuthResourceServerErrorHandler.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthservice",{"_index":202,"title":{},"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":{},"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":439,"title":{"classes/OAuthStorage.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}},"body":{"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":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthsuccessevent",{"_index":553,"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":214,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["obtaining",{"_index":1318,"title":{},"body":{"license.html":{}}}],["occur",{"_index":1582,"title":{},"body":{"additional-documentation/events.html":{}}}],["of(null",{"_index":261,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["of(this.oauthservice.getaccesstoken()).pipe(filter((token",{"_index":253,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["officially",{"_index":1074,"title":{},"body":{"index.html":{}}}],["offline_access",{"_index":1213,"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":285,"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":1285,"title":{},"body":{"index.html":{}}}],["oidc.module.ts",{"_index":572,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.module.ts:30",{"_index":577,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.umd.js",{"_index":1724,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["oidc/docs",{"_index":1054,"title":{},"body":{"index.html":{}}}],["oidc/docs/additional",{"_index":1262,"title":{},"body":{"index.html":{}}}],["oidc/issues/728#issuecomment",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/1020",{"_index":781,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/919",{"_index":758,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/935",{"_index":761,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/936",{"_index":766,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/938",{"_index":769,"title":{},"body":{"changelog.html":{}}}],["oidc/pull/965",{"_index":778,"title":{},"body":{"changelog.html":{}}}],["oidcdiscoverydoc",{"_index":474,"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":1497,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["okta",{"_index":1089,"title":{},"body":{"index.html":{}}}],["older",{"_index":1097,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["one",{"_index":279,"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":1302,"title":{},"body":{"index.html":{}}}],["onloginerror",{"_index":334,"title":{},"body":{"classes/LoginOptions.html":{},"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":335,"title":{},"body":{"classes/LoginOptions.html":{},"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":1844,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["opened",{"_index":744,"title":{},"body":{"changelog.html":{}}}],["opener",{"_index":1477,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["openid",{"_index":471,"title":{},"body":{"classes/LoginOptions.html":{},"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":742,"title":{},"body":{"changelog.html":{}}}],["opht1tkt9e9fvqtzpbvf1thvhjrxvyvx",{"_index":1850,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["option",{"_index":771,"title":{},"body":{"changelog.html":{},"additional-documentation/session-checks.html":{}}}],["optional",{"_index":41,"title":{},"body":{"classes/AbstractValidationHandler.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/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":425,"title":{},"body":{"classes/LoginOptions.html":{},"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":327,"title":{},"body":{"classes/LoginOptions.html":{},"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":179,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["original",{"_index":1392,"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":1730,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["otherparam",{"_index":1576,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["otherwise",{"_index":1269,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":1152,"title":{},"body":{"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":{}}}],["output",{"_index":859,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["outside",{"_index":927,"title":{},"body":{"changelog.html":{}}}],["over",{"_index":1410,"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":1370,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owner",{"_index":1767,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["package",{"_index":985,"title":{"dependencies.html":{}},"body":{}}],["package.json",{"_index":788,"title":{},"body":{"changelog.html":{}}}],["packages",{"_index":1634,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["paddedhexcode",{"_index":190,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["page",{"_index":317,"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":655,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["pairs",{"_index":654,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["param",{"_index":104,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parameter",{"_index":950,"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/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":{},"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":1474,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["parse",{"_index":1692,"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":451,"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":641,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["parsequerystring(querystring",{"_index":644,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["particular",{"_index":1352,"title":{},"body":{"license.html":{}}}],["pass",{"_index":345,"title":{},"body":{"classes/LoginOptions.html":{},"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":1528,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["passing",{"_index":918,"title":{},"body":{"changelog.html":{}}}],["password",{"_index":1139,"title":{"additional-documentation/using-password-flow.html":{}},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["passwords",{"_index":668,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["path",{"_index":1267,"title":{},"body":{"index.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pathlocationstrategy",{"_index":1064,"title":{},"body":{"index.html":{}}}],["perform",{"_index":1493,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["performs",{"_index":1619,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["permission",{"_index":1313,"title":{},"body":{"license.html":{}}}],["permissions",{"_index":1208,"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":1335,"title":{},"body":{"license.html":{}}}],["person",{"_index":1317,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1336,"title":{},"body":{"license.html":{}}}],["perspective",{"_index":1754,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["phil",{"_index":975,"title":{},"body":{"changelog.html":{}}}],["pingone",{"_index":1704,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pipe",{"_index":264,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pipe(catcherror((err",{"_index":251,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pkce",{"_index":1135,"title":{},"body":{"index.html":{}}}],["plan",{"_index":1113,"title":{},"body":{"index.html":{}}}],["please",{"_index":295,"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":888,"title":{},"body":{"changelog.html":{}}}],["plus",{"_index":727,"title":{},"body":{"changelog.html":{}}}],["pmccloghrylaing",{"_index":951,"title":{},"body":{"changelog.html":{}}}],["popperjs/core",{"_index":996,"title":{},"body":{"dependencies.html":{}}}],["popup",{"_index":347,"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":550,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["popup_closed",{"_index":549,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["portions",{"_index":1343,"title":{},"body":{"license.html":{}}}],["possible",{"_index":1761,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["post",{"_index":1085,"title":{},"body":{"index.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["postlogoutredirecturi",{"_index":749,"title":{},"body":{"changelog.html":{}}}],["ppanthony",{"_index":1722,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["practice",{"_index":381,"title":{},"body":{"classes/LoginOptions.html":{},"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":1204,"title":{},"body":{"index.html":{}}}],["predefined",{"_index":959,"title":{},"body":{"changelog.html":{}}}],["prefixes",{"_index":1256,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["prepared",{"_index":1038,"title":{},"body":{"index.html":{}}}],["present",{"_index":357,"title":{},"body":{"classes/LoginOptions.html":{},"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":1385,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["prevent",{"_index":773,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["preventclearhashafterlogin",{"_index":336,"title":{},"body":{"classes/LoginOptions.html":{},"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":1501,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["previously",{"_index":1818,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["private",{"_index":234,"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":376,"title":{},"body":{"classes/LoginOptions.html":{},"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":1217,"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":1821,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["project",{"_index":864,"title":{},"body":{"changelog.html":{}}}],["project's",{"_index":1678,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["projects/.../base64",{"_index":1025,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../events.ts",{"_index":1376,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../factories.ts",{"_index":1027,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../hash",{"_index":1029,"title":{},"body":{"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["projects/.../jwks",{"_index":1380,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tokens.ts",{"_index":1379,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/angular",{"_index":571,"title":{},"body":{"modules/OAuthModule.html":{}}}],["projects/lib/src/base64",{"_index":1031,"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":665,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:10",{"_index":683,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:14",{"_index":675,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:18",{"_index":678,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:6",{"_index":681,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/events.ts",{"_index":522,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["projects/lib/src/events.ts:28",{"_index":557,"title":{},"body":{"classes/OAuthEvent.html":{}}}],["projects/lib/src/events.ts:32",{"_index":630,"title":{},"body":{"classes/OAuthSuccessEvent.html":{}}}],["projects/lib/src/events.ts:38",{"_index":558,"title":{},"body":{"classes/OAuthInfoEvent.html":{}}}],["projects/lib/src/events.ts:44",{"_index":527,"title":{},"body":{"classes/OAuthErrorEvent.html":{}}}],["projects/lib/src/factories.ts",{"_index":1035,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/interceptors/default",{"_index":197,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["projects/lib/src/interceptors/resource",{"_index":617,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["projects/lib/src/oauth",{"_index":603,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["projects/lib/src/token",{"_index":6,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.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":1381,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/types.ts",{"_index":325,"title":{},"body":{"classes/LoginOptions.html":{},"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":629,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:107",{"_index":508,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:111",{"_index":509,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:115",{"_index":510,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:125",{"_index":634,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:126",{"_index":632,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:127",{"_index":633,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:128",{"_index":635,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:13",{"_index":395,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:162",{"_index":661,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:20",{"_index":410,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:28",{"_index":386,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:40",{"_index":337,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:50",{"_index":378,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:59",{"_index":367,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:67",{"_index":398,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:74",{"_index":359,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:84",{"_index":562,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:85",{"_index":565,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:86",{"_index":566,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:87",{"_index":567,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:88",{"_index":564,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:98",{"_index":627,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:99",{"_index":628,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/url",{"_index":638,"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":1824,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve",{"_index":1812,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve(null",{"_index":519,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["promise.resolve(true",{"_index":520,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["properties",{"_index":329,"title":{},"body":{"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":393,"title":{},"body":{"classes/LoginOptions.html":{},"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":1394,"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":1525,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["provide",{"_index":419,"title":{},"body":{"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":{},"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":1056,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["provider",{"_index":580,"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":598,"title":{},"body":{"modules/OAuthModule.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":1537,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["providing",{"_index":1785,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["prs",{"_index":1117,"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":1329,"title":{},"body":{"license.html":{}}}],["published",{"_index":1599,"title":{},"body":{"additional-documentation/events.html":{}}}],["publishes",{"_index":1580,"title":{},"body":{"additional-documentation/events.html":{}}}],["pull",{"_index":943,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["purpose",{"_index":1353,"title":{},"body":{"license.html":{},"additional-documentation/callback-after-login.html":{}}}],["pwa",{"_index":1306,"title":{},"body":{"index.html":{}}}],["query",{"_index":408,"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":1145,"title":{},"body":{"index.html":{}}}],["querystring",{"_index":354,"title":{},"body":{"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":659,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["question",{"_index":355,"title":{},"body":{"classes/LoginOptions.html":{},"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":649,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["quite",{"_index":1764,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["read",{"_index":296,"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":1621,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["readme",{"_index":1227,"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":554,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["ready",{"_index":791,"title":{},"body":{"changelog.html":{}}}],["real",{"_index":278,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["reason",{"_index":526,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["receive",{"_index":760,"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":413,"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":1815,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["receiving",{"_index":1835,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["recommend",{"_index":1083,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers/azure-ad-(active-directory).html":{}}}],["recommended",{"_index":1273,"title":{},"body":{"index.html":{}}}],["recommented",{"_index":315,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["redhat",{"_index":1047,"title":{},"body":{"index.html":{}}}],["redhat's",{"_index":1073,"title":{},"body":{"index.html":{}}}],["redirect",{"_index":360,"title":{},"body":{"classes/LoginOptions.html":{},"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":1138,"title":{},"body":{"index.html":{}}}],["redirecting",{"_index":1153,"title":{},"body":{"index.html":{}}}],["redirects",{"_index":1249,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["redirecturi",{"_index":750,"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":1168,"title":{},"body":{"index.html":{}}}],["refactor",{"_index":810,"title":{},"body":{"changelog.html":{}}}],["refresh",{"_index":364,"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":946,"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":1451,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["refresh_token",{"_index":464,"title":{},"body":{"classes/LoginOptions.html":{},"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":1399,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["refreshed",{"_index":1611,"title":{},"body":{"additional-documentation/events.html":{}}}],["refreshes",{"_index":344,"title":{},"body":{"classes/LoginOptions.html":{},"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":1142,"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":1402,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["regarding",{"_index":1148,"title":{},"body":{"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["regards",{"_index":1280,"title":{},"body":{"index.html":{}}}],["register",{"_index":1655,"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":1195,"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":612,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["registration_endpoint",{"_index":484,"title":{},"body":{"classes/LoginOptions.html":{},"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":1514,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["relations",{"_index":1759,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["release",{"_index":1111,"title":{},"body":{"index.html":{}}}],["removal",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["remove",{"_index":813,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["removed",{"_index":1292,"title":{},"body":{"index.html":{}}}],["removeitem",{"_index":506,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["removeitem(key",{"_index":441,"title":{},"body":{"classes/LoginOptions.html":{},"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":407,"title":{},"body":{"classes/LoginOptions.html":{},"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":1671,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"additional-documentation/server-side-rendering.html":{}}}],["replace",{"_index":955,"title":{},"body":{"changelog.html":{}}}],["replaced",{"_index":840,"title":{},"body":{"changelog.html":{}}}],["replacements",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["replay",{"_index":372,"title":{},"body":{"classes/LoginOptions.html":{},"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":447,"title":{},"body":{"classes/LoginOptions.html":{},"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":213,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.clone",{"_index":270,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers",{"_index":1547,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers.set('authorization",{"_index":269,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["req.url.tolowercase",{"_index":243,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["request",{"_index":1209,"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":497,"title":{},"body":{"classes/LoginOptions.html":{},"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":1386,"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":944,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["require','jsrsasign",{"_index":1729,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["requirements",{"_index":1397,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["reset",{"_index":1372,"title":{},"body":{"overview.html":{}}}],["resolve",{"_index":1822,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolve(true",{"_index":1826,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolves",{"_index":1607,"title":{},"body":{"additional-documentation/events.html":{}}}],["resource",{"_index":227,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["resources",{"_index":1050,"title":{},"body":{"index.html":{}}}],["resourceserver",{"_index":605,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["resourceservererrorhandler",{"_index":611,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["respect",{"_index":1400,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/authorization-servers.html":{}}}],["respective",{"_index":1077,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["respond",{"_index":1438,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["response",{"_index":455,"title":{},"body":{"classes/LoginOptions.html":{},"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":488,"title":{},"body":{"classes/LoginOptions.html":{},"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":844,"title":{},"body":{"changelog.html":{}}}],["response_types_supported",{"_index":486,"title":{},"body":{"classes/LoginOptions.html":{},"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":826,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["restriction",{"_index":1325,"title":{},"body":{"license.html":{}}}],["result",{"_index":114,"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/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/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":1601,"title":{},"body":{"additional-documentation/events.html":{}}}],["retrieving",{"_index":362,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1470,"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/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":1858,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["reverse",{"_index":1293,"title":{},"body":{"index.html":{}}}],["revocation",{"_index":892,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revocation_endpoint",{"_index":504,"title":{},"body":{"classes/LoginOptions.html":{},"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":780,"title":{},"body":{"changelog.html":{}}}],["revoke",{"_index":893,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["revoketokenandlogout",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["rfc",{"_index":939,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["rights",{"_index":1327,"title":{},"body":{"license.html":{}}}],["risk",{"_index":516,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["robin",{"_index":978,"title":{},"body":{"changelog.html":{}}}],["roblabat",{"_index":954,"title":{},"body":{"changelog.html":{}}}],["root",{"_index":1623,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["rotation",{"_index":1846,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["route",{"_index":1266,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["router",{"_index":1063,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routermodule.forroot(app_routes",{"_index":1625,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routes",{"_index":1622,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routing",{"_index":914,"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":925,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["running",{"_index":833,"title":{},"body":{"changelog.html":{}}}],["runs",{"_index":1160,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["rxjs",{"_index":219,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"dependencies.html":{}}}],["rxjs/add/operator/catch",{"_index":1541,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/observable",{"_index":1540,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/operators",{"_index":226,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["s",{"_index":157,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"miscellaneous/functions.html":{}}}],["safe",{"_index":1137,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["sake",{"_index":1828,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["same",{"_index":349,"title":{},"body":{"classes/LoginOptions.html":{},"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/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sample",{"_index":879,"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":308,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["saveafter",{"_index":1283,"title":{},"body":{"index.html":{}}}],["saved",{"_index":1602,"title":{},"body":{"additional-documentation/events.html":{}}}],["saveimporting",{"_index":1174,"title":{},"body":{"index.html":{}}}],["scenario",{"_index":1837,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["scope",{"_index":465,"title":{},"body":{"classes/LoginOptions.html":{},"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":715,"title":{},"body":{"changelog.html":{}}}],["scopes_supported",{"_index":485,"title":{},"body":{"classes/LoginOptions.html":{},"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":947,"title":{},"body":{"changelog.html":{}}}],["search",{"_index":1462,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["seconds",{"_index":1508,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["secret",{"_index":1199,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["section",{"_index":1270,"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":382,"title":{},"body":{"classes/LoginOptions.html":{},"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":866,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.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":1735,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["sell",{"_index":1333,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":1009,"title":{},"body":{"dependencies.html":{}}}],["send",{"_index":613,"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":248,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["sending",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["sends",{"_index":1654,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sense",{"_index":904,"title":{},"body":{"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["separatorindex",{"_index":656,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["server",{"_index":228,"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":{},"modules/OAuthModule.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":1154,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity",{"_index":1444,"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":1775,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/authorize",{"_index":1682,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/endsession",{"_index":1690,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/token",{"_index":1779,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/userinfo",{"_index":1783,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.code",{"_index":1197,"title":{},"body":{"index.html":{}}}],["servers",{"_index":1236,"title":{"additional-documentation/authorization-servers.html":{}},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["service",{"_index":233,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["service_documentation",{"_index":502,"title":{},"body":{"classes/LoginOptions.html":{},"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":765,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["session's",{"_index":1662,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_changed",{"_index":544,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["session_error",{"_index":545,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["session_state",{"_index":916,"title":{},"body":{"changelog.html":{}}}],["session_terminated",{"_index":546,"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":1668,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_unchanged",{"_index":547,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["sessionchecksenabled",{"_index":1658,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sessionstorage",{"_index":436,"title":{},"body":{"classes/LoginOptions.html":{},"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":351,"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":1548,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["setitem",{"_index":507,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["setitem(key",{"_index":442,"title":{},"body":{"classes/LoginOptions.html":{},"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":1566,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["setstorage",{"_index":1686,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["setting",{"_index":876,"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":1568,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/authorization-servers.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["setup",{"_index":1261,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["several",{"_index":1700,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sha",{"_index":112,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"changelog.html":{}}}],["sha256",{"_index":146,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"dependencies.html":{},"miscellaneous/variables.html":{}}}],["sha256(accesstoken",{"_index":90,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["shaking",{"_index":1282,"title":{},"body":{"index.html":{}}}],["shall",{"_index":1341,"title":{},"body":{"license.html":{}}}],["share",{"_index":1698,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sharing",{"_index":1723,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["ship",{"_index":1760,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["short",{"_index":1584,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["showdebuginformation",{"_index":1219,"title":{},"body":{"index.html":{}}}],["shown",{"_index":1226,"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":1526,"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":434,"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":728,"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":1645,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["silent",{"_index":343,"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":539,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["silent_refresh_timeout",{"_index":541,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silently_refreshed",{"_index":540,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silentrefresh",{"_index":1494,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["silentrefreshredirecturi",{"_index":1441,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["silentrefreshtimeout",{"_index":1505,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["similar",{"_index":1765,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["simple",{"_index":430,"title":{},"body":{"classes/LoginOptions.html":{},"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":316,"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":883,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["size",{"_index":1110,"title":{},"body":{"index.html":{}}}],["sizes",{"_index":321,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["skip",{"_index":515,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["skipping",{"_index":1805,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["skips",{"_index":1638,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["smaller",{"_index":319,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["snippet",{"_index":1585,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["software",{"_index":1320,"title":{},"body":{"license.html":{}}}],["solution",{"_index":1188,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["something",{"_index":1814,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["somevalue",{"_index":1577,"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/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":1051,"title":{},"body":{"index.html":{}}}],["spa",{"_index":1167,"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":1194,"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":1201,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["spec",{"_index":1605,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["special",{"_index":1842,"title":{},"body":{"additional-documentation/authorization-servers.html":{}}}],["specific",{"_index":1216,"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":1708,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["specifies",{"_index":1395,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["specs",{"_index":1149,"title":{},"body":{"index.html":{},"additional-documentation/authorization-servers.html":{}}}],["src",{"_index":1128,"title":{},"body":{"index.html":{}}}],["standard",{"_index":867,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["start",{"_index":1714,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["started",{"_index":689,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{}}}],["starting",{"_index":1572,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["starts",{"_index":1733,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["startup",{"_index":1762,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["state",{"_index":379,"title":{"additional-documentation/preserving-state-(like-the-requested-url).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/preserving-state-(like-the-requested-url).html":{},"additional-documentation/events.html":{}}}],["static",{"_index":573,"title":{},"body":{"modules/OAuthModule.html":{}}}],["status",{"_index":1517,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["steyer",{"_index":974,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["still",{"_index":1435,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["stopautomaticrefresh",{"_index":871,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":872,"title":{},"body":{"changelog.html":{}}}],["storage",{"_index":431,"title":{},"body":{"classes/LoginOptions.html":{},"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":1803,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["store",{"_index":1234,"title":{},"body":{"index.html":{}}}],["stored",{"_index":1608,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["storing",{"_index":432,"title":{},"body":{"classes/LoginOptions.html":{},"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":1033,"title":{},"body":{"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{}}}],["strategy",{"_index":1423,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["stream",{"_index":1581,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["strict",{"_index":1836,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["strictdiscoverydocumentvalidation",{"_index":1695,"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":183,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["strong",{"_index":1757,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["sub",{"_index":469,"title":{},"body":{"classes/LoginOptions.html":{},"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":1338,"title":{},"body":{"license.html":{}}}],["subject_types_supported",{"_index":490,"title":{},"body":{"classes/LoginOptions.html":{},"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":1331,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1342,"title":{},"body":{"license.html":{}}}],["succeeded",{"_index":1388,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["successful",{"_index":1551,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["successfully",{"_index":396,"title":{},"body":{"classes/LoginOptions.html":{},"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":1206,"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":1459,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["suited",{"_index":1756,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["summary.json",{"_index":1131,"title":{},"body":{"index.html":{}}}],["super",{"_index":322,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["super(type",{"_index":555,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["support",{"_index":752,"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":1181,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["sure",{"_index":1130,"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":1255,"title":{},"body":{"index.html":{}}}],["symbol",{"_index":352,"title":{},"body":{"classes/LoginOptions.html":{},"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":1719,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["systemdatetimeprovider",{"_index":128,"title":{"injectables/SystemDateTimeProvider.html":{}},"body":{"classes/DateTimeProvider.html":{},"modules/OAuthModule.html":{},"injectables/SystemDateTimeProvider.html":{}}}],["systemjs",{"_index":1715,"title":{"additional-documentation/using-systemjs.html":{}},"body":{"additional-documentation/using-systemjs.html":{}}}],["table",{"_index":816,"title":{},"body":{"changelog.html":{}}}],["take",{"_index":223,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["take(1",{"_index":265,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["takes",{"_index":1461,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["targeting",{"_index":1562,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["task",{"_index":1254,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["tasks",{"_index":1579,"title":{},"body":{"additional-documentation/events.html":{}}}],["telling",{"_index":276,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["tells",{"_index":1244,"title":{},"body":{"index.html":{}}}],["template",{"_index":1748,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["templateurl",{"_index":1737,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["tenant",{"_index":1574,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["terminated",{"_index":1670,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["tested",{"_index":1059,"title":{},"body":{"index.html":{}}}],["testen",{"_index":1752,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["testing",{"_index":1043,"title":{},"body":{"index.html":{}}}],["tests",{"_index":712,"title":{},"body":{"changelog.html":{}}}],["text",{"_index":1014,"title":{},"body":{"dependencies.html":{}}}],["textencoder",{"_index":165,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["thanks",{"_index":965,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-systemjs.html":{}}}],["that's",{"_index":1771,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["then(info",{"_index":1495,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["things",{"_index":1560,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["third",{"_index":1421,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.authservice.events.subscribe(event",{"_index":1593,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.authstorage.getitem('access_token",{"_index":1546,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.calchash(params.accesstoken",{"_index":89,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.checkurl(url",{"_index":246,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.configure",{"_index":1739,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.data.delete(key",{"_index":445,"title":{},"body":{"classes/LoginOptions.html":{},"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":444,"title":{},"body":{"classes/LoginOptions.html":{},"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":446,"title":{},"body":{"classes/LoginOptions.html":{},"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":841,"title":{},"body":{"changelog.html":{}}}],["this.errorhandler.handleerror(err",{"_index":252,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.inferhashalgorithm(params.idtokenheader",{"_index":86,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["this.moduleconfig",{"_index":244,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver",{"_index":245,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls",{"_index":239,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find((u",{"_index":240,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find(u",{"_index":1544,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation",{"_index":237,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation(url",{"_index":238,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.sendaccesstoken",{"_index":249,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.oauthservice",{"_index":1809,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.clientid",{"_index":1684,"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":1231,"title":{},"body":{"index.html":{}}}],["this.oauthservice.configure(authconfig",{"_index":1740,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.customqueryparams",{"_index":1573,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["this.oauthservice.dummyclientsecret",{"_index":1772,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.events(filter(e",{"_index":1816,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.events.pipe",{"_index":255,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.events.pipe(filter(e",{"_index":1667,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["this.oauthservice.events.subscribe(e",{"_index":1586,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflow('max",{"_index":1788,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max",{"_index":1793,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.getaccesstoken",{"_index":263,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.getidentityclaims",{"_index":1746,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.hasvalidaccesstoken",{"_index":1819,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.hasvalididtoken",{"_index":1820,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initcodeflow();there",{"_index":1221,"title":{},"body":{"index.html":{}}}],["this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');after",{"_index":1387,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["this.oauthservice.initloginflow",{"_index":1743,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initloginflow();also",{"_index":1225,"title":{},"body":{"index.html":{}}}],["this.oauthservice.issuer",{"_index":1831,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument().then",{"_index":1832,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument(url).then",{"_index":1777,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandlogin",{"_index":1245,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin",{"_index":1246,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin();logging",{"_index":1232,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaduserprofile",{"_index":1791,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loginurl",{"_index":1681,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.logout",{"_index":1745,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.logout();if",{"_index":1238,"title":{},"body":{"index.html":{}}}],["this.oauthservice.logouturl",{"_index":1689,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.redirecturi",{"_index":1683,"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":1797,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.refreshtoken();automatically",{"_index":1403,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.revoketokenandlogout",{"_index":1859,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["this.oauthservice.revoketokenandlogout();skipping",{"_index":1240,"title":{},"body":{"index.html":{}}}],["this.oauthservice.scope",{"_index":1685,"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":1688,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.setupautomaticsilentrefresh();by",{"_index":1405,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["this.oauthservice.silentrefreshredirecturi",{"_index":1450,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["this.oauthservice.tokenendpoint",{"_index":1778,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.tokenvalidationhandler",{"_index":1639,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.trylogin",{"_index":1389,"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":1628,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.oauthservice.userinfoendpoint",{"_index":1782,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.parsequerystring(hash",{"_index":653,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["this.router.navigate",{"_index":1629,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.tohashstring(hasharray",{"_index":176,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.tohashstring2(hasharray",{"_index":177,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.window.addeventlistener('unload",{"_index":1825,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["those",{"_index":1401,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/token-refresh.html":{}}}],["three",{"_index":1446,"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":421,"title":{},"body":{"classes/LoginOptions.html":{},"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":621,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["throwerror(err",{"_index":622,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["time",{"_index":119,"title":{},"body":{"classes/DateTimeProvider.html":{},"modules/OAuthModule.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":225,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{}}}],["timeout(this.oauthservice.waitfortokeninmsec",{"_index":259,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["timeoutfactor",{"_index":1413,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["timer",{"_index":1609,"title":{},"body":{"additional-documentation/events.html":{}}}],["timers",{"_index":873,"title":{},"body":{"changelog.html":{}}}],["timespan",{"_index":1504,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["together",{"_index":1672,"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":193,"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":254,"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":1408,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/token-refresh.html":{}}}],["token(s",{"_index":403,"title":{},"body":{"classes/LoginOptions.html":{},"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":1264,"title":{},"body":{"index.html":{}}}],["token_endpoint",{"_index":477,"title":{},"body":{"classes/LoginOptions.html":{},"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":478,"title":{},"body":{"classes/LoginOptions.html":{},"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":479,"title":{},"body":{"classes/LoginOptions.html":{},"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":535,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_expires",{"_index":543,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_received",{"_index":258,"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":1817,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["token_refresh_error",{"_index":538,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_refreshed",{"_index":537,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_revoke_error",{"_index":551,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_type",{"_index":462,"title":{},"body":{"classes/LoginOptions.html":{},"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":542,"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":461,"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":926,"title":{},"body":{"changelog.html":{}}}],["tokenvalidationhandler",{"_index":412,"title":{},"body":{"classes/LoginOptions.html":{},"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":1633,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["tort",{"_index":1364,"title":{},"body":{"license.html":{}}}],["transmit",{"_index":1768,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["transmitted",{"_index":1571,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["transmitting",{"_index":1511,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["tree",{"_index":1281,"title":{},"body":{"index.html":{}}}],["tries",{"_index":1691,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["triggers",{"_index":1420,"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/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.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":1860,"title":{},"body":{"additional-documentation/authorization-servers/auth0.html":{}}}],["trust",{"_index":1758,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["try",{"_index":1106,"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":328,"title":{},"body":{"classes/LoginOptions.html":{},"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":953,"title":{},"body":{"changelog.html":{}}}],["ts",{"_index":1687,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["tsickle",{"_index":1017,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":1019,"title":{},"body":{"dependencies.html":{}}}],["turn",{"_index":1713,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["tutorial",{"_index":1300,"title":{},"body":{"index.html":{}}}],["tutorials",{"_index":1299,"title":{},"body":{"index.html":{}}}],["two",{"_index":1559,"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/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":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["typealiases",{"_index":1374,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["typeerror('expected",{"_index":158,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["typeof",{"_index":156,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["types",{"_index":581,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/authorization-servers/auth0.html":{}}}],["typo",{"_index":837,"title":{},"body":{"changelog.html":{}}}],["ui_locales_supported",{"_index":503,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["uint8array(buffer",{"_index":184,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["uint8array(d.length",{"_index":162,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["unchanged",{"_index":764,"title":{},"body":{"changelog.html":{}}}],["under",{"_index":1567,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["unfortunately",{"_index":1664,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["universal",{"_index":834,"title":{},"body":{"changelog.html":{}}}],["up",{"_index":1247,"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":1039,"title":{},"body":{"index.html":{}}}],["update",{"_index":720,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["upgrade",{"_index":897,"title":{},"body":{"changelog.html":{}}}],["upgrading",{"_index":1295,"title":{},"body":{"index.html":{}}}],["uri",{"_index":361,"title":{},"body":{"classes/LoginOptions.html":{},"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":242,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"modules/OAuthModule.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":1545,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["url.tolowercase().startswith(u.tolowercase",{"_index":241,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["url?x=1",{"_index":920,"title":{},"body":{"changelog.html":{}}}],["urlhelperservice",{"_index":586,"title":{"injectables/UrlHelperService.html":{}},"body":{"modules/OAuthModule.html":{},"injectables/UrlHelperService.html":{}}}],["urls",{"_index":608,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["usage",{"_index":952,"title":{},"body":{"changelog.html":{}}}],["use",{"_index":18,"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":{},"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":1215,"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":600,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["used",{"_index":340,"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":599,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["usehash",{"_index":1626,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["user",{"_index":466,"title":{},"body":{"classes/LoginOptions.html":{},"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":1786,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["user_profile_load_error",{"_index":534,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["user_profile_loaded",{"_index":533,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["userinfo",{"_index":468,"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":492,"title":{},"body":{"classes/LoginOptions.html":{},"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":493,"title":{},"body":{"classes/LoginOptions.html":{},"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":480,"title":{},"body":{"classes/LoginOptions.html":{},"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":491,"title":{},"body":{"classes/LoginOptions.html":{},"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":1162,"title":{},"body":{"index.html":{}}}],["username/passwort",{"_index":1750,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["users",{"_index":277,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/server-side-rendering.html":{}}}],["uses",{"_index":416,"title":{},"body":{"classes/LoginOptions.html":{},"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":877,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["usevalue",{"_index":601,"title":{},"body":{"modules/OAuthModule.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":286,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["v",{"_index":679,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["valid",{"_index":1250,"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":289,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{}}}],["validated",{"_index":397,"title":{},"body":{"classes/LoginOptions.html":{},"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":513,"title":{},"body":{"classes/NullValidationHandler.html":{},"index.html":{}}}],["validation",{"_index":274,"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/hash",{"_index":133,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{},"miscellaneous/functions.html":{},"miscellaneous/variables.html":{}}}],["validation/jwks",{"_index":273,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["validation/null",{"_index":511,"title":{},"body":{"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{}}}],["validation/validation",{"_index":7,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"modules/OAuthModule.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":{},"modules/OAuthModule.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":576,"title":{},"body":{"modules/OAuthModule.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":1151,"title":{},"body":{"index.html":{}}}],["value",{"_index":35,"title":{},"body":{"classes/AbstractValidationHandler.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":189,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["values",{"_index":409,"title":{},"body":{"classes/LoginOptions.html":{},"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":159,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"additional-documentation/silent-refresh.html":{}}}],["variables",{"_index":1377,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["various",{"_index":1706,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vdveer",{"_index":961,"title":{},"body":{"changelog.html":{}}}],["versatility",{"_index":1260,"title":{},"body":{"index.html":{}}}],["version",{"_index":299,"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":1096,"title":{},"body":{"index.html":{}}}],["via",{"_index":1068,"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":1205,"title":{},"body":{"index.html":{}}}],["void",{"_index":414,"title":{},"body":{"classes/LoginOptions.html":{},"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":1448,"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":{}}}],["want",{"_index":400,"title":{},"body":{"classes/LoginOptions.html":{},"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":561,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["warn(message",{"_index":428,"title":{},"body":{"classes/LoginOptions.html":{},"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":1641,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["warranties",{"_index":1349,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1344,"title":{},"body":{"license.html":{}}}],["way",{"_index":901,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["we've",{"_index":1070,"title":{},"body":{"index.html":{}}}],["web",{"_index":1159,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["webcomponents/custom",{"_index":998,"title":{},"body":{"dependencies.html":{}}}],["webhttpurlencodingcodec",{"_index":664,"title":{"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["webpack",{"_index":1069,"title":{},"body":{"index.html":{}}}],["websocket",{"_index":798,"title":{},"body":{"changelog.html":{}}}],["well",{"_index":420,"title":{},"body":{"classes/LoginOptions.html":{},"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":1143,"title":{},"body":{"index.html":{}}}],["whenever",{"_index":1600,"title":{},"body":{"additional-documentation/events.html":{}}}],["whether",{"_index":1361,"title":{},"body":{"license.html":{}}}],["white",{"_index":1523,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["widow",{"_index":1475,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["window",{"_index":774,"title":{},"body":{"changelog.html":{}}}],["window.crypto.subtle.digest(algorithm",{"_index":167,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["window.location.hash",{"_index":646,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["window.location.origin",{"_index":1192,"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":1455,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["window.parent",{"_index":1565,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["window.parent).postmessage(location.hash",{"_index":1456,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["windowref",{"_index":770,"title":{},"body":{"changelog.html":{}}}],["wish",{"_index":1813,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["within",{"_index":1425,"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":1324,"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":887,"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":962,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{"changelog.html":{}}}],["works",{"_index":1800,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["workshops",{"_index":1308,"title":{},"body":{"index.html":{}}}],["write",{"_index":1531,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ws02",{"_index":1703,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["yes",{"_index":563,"title":{},"body":{"classes/OAuthLogger.html":{},"injectables/UrlHelperService.html":{}}}],["you're",{"_index":1294,"title":{},"body":{"index.html":{}}}],["you've",{"_index":1741,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["yourself",{"_index":1834,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["zone.js",{"_index":1020,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":1371,"title":{},"body":{"overview.html":{}}}],["zum",{"_index":1751,"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';\nconst sha256 = factory();\n\nimport fsha256 from 'fast-sha256';\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/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';\nconst sha256 = factory();\n\nimport fsha256 from 'fast-sha256';\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:30\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 { DateTimeProvider, SystemDateTimeProvider } from './date-time-provider';\nimport { OAuthStorage, OAuthLogger } from './types';\nimport { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\n\nimport { OAuthService } from './oauth-service';\nimport { UrlHelperService } from './url-helper.service';\n\nimport { OAuthModuleConfig } from './oauth-module.config';\nimport {\n  OAuthResourceServerErrorHandler,\n  OAuthNoopResourceServerErrorHandler,\n} from './interceptors/resource-server-error-handler';\nimport { DefaultOAuthInterceptor } from './interceptors/default-oauth.interceptor';\nimport { ValidationHandler } from './token-validation/validation-handler';\nimport { NullValidationHandler } from './token-validation/null-validation-handler';\nimport { createDefaultLogger, createDefaultStorage } from './factories';\nimport {\n  HashHandler,\n  DefaultHashHandler,\n} from './token-validation/hash-handler';\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: [\n        OAuthService,\n        UrlHelperService,\n        { provide: OAuthLogger, useFactory: createDefaultLogger },\n        { provide: OAuthStorage, useFactory: createDefaultStorage },\n        { provide: ValidationHandler, useClass: validationHandlerClass },\n        { provide: HashHandler, useClass: DefaultHashHandler },\n        {\n          provide: OAuthResourceServerErrorHandler,\n          useClass: OAuthNoopResourceServerErrorHandler,\n        },\n        { provide: OAuthModuleConfig, useValue: config },\n        {\n          provide: HTTP_INTERCEPTORS,\n          useClass: DefaultOAuthInterceptor,\n          multi: true,\n        },\n        { provide: DateTimeProvider, useClass: SystemDateTimeProvider },\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"},"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 : 13.0.1\n        \n            @angular/common : 13.0.1\n        \n            @angular/compiler : 13.0.1\n        \n            @angular/core : 13.0.1\n        \n            @angular/elements : 13.0.1\n        \n            @angular/forms : 13.0.1\n        \n            @angular/platform-browser : 13.0.1\n        \n            @angular/platform-browser-dynamic : 13.0.1\n        \n            @angular/router : 13.0.1\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                \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\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 12 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 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 --saveImporting the NgModule\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                    20 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                            err   (projects/.../jwks-validation-handler.ts)\n                        \n                        \n                            sha256   (projects/.../hash-handler.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/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    projects/lib/src/token-validation/hash-handler.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        sha256\n                        \n                    \n                \n            \n                \n                    \n                        Default value : factory()\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 HttpInterceptors. A default HttpInterceptor takes care about transmitting the access_token to the resource server (if configured, see example below). For handling security related errors (HTTP status codes 401 and 403), received from the resource server, applications should implement their own custom interceptors. \nTo enable the default HttpInterceptor, 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"}}
 }