text: var COMPODOC_SEARCH_INDEX = {
      "index": {"version":"2.3.8","fields":["title","body"],"fieldVectors":[["title/classes/AbstractValidationHandler.html",[0,0.116,1,3.042]],["body/classes/AbstractValidationHandler.html",[0,0.112,1,2.948,2,0.857,3,0.486,4,0.537,5,0.486,6,3.115,7,4.138,8,1.337,9,1.608,10,1.756,11,1.392,12,2.049,13,2.718,14,1.593,15,1.747,16,3.815,17,2.22,18,1.206,19,2.948,20,3.815,21,0.591,22,1.531,23,4.755,24,4.207,25,3.235,26,3.235,27,2.188,28,1.735,29,4.244,30,0.945,31,2.844,32,3.236,33,2.046,34,2.338,35,1.977,36,1.156,37,1.452,38,0.018,39,1.48,40,0.945,41,1.044,42,3.235,43,1.831,44,2.22,45,3.236,46,1.864,47,2.844,48,3.236,49,4.256,50,3.236,51,2.074,52,3.236,53,3.236,54,1.778,55,2.718,56,3.236,57,4.207,58,2.844,59,4.332,60,4.138,61,3.509,62,1.581,63,1.737,64,1.035,65,2.718,66,2.844,67,3.235,68,0.462,69,1.993,70,1.993,71,2.188,72,0.547,73,1.329,74,1.202,75,1.202,76,1.202,77,1.202,78,1.414,79,2.188,80,2.188,81,2.188,82,1.142,83,0.898,84,2.22,85,3.236,86,2.188,87,2.188,88,1.838,89,2.188,90,2.188,91,2.188,92,0.713,93,2.188,94,2.188,95,2.188,96,1.993,97,4.256,98,2.188,99,4.256,100,2.188,101,2.188,102,2.188,103,0.874,104,3.851,105,2.188,106,2.188,107,2.188,108,2.188,109,0.681,110,2.188,111,1.838,112,2.188,113,2.188,114,0.007,115,0.01,116,0.007]],["title/injectables/DefaultHashHandler.html",[117,1.436,118,3.042]],["body/injectables/DefaultHashHandler.html",[0,0.132,3,0.612,4,0.676,5,0.612,6,3.244,8,1.683,10,1.244,14,1.031,20,3.206,21,0.744,22,1.806,25,3.679,27,4.38,28,1.818,29,3.972,30,0.973,37,1.495,38,0.018,39,1.363,40,0.973,41,1.075,42,2.313,43,1.884,44,1.884,68,0.806,72,0.542,88,2.313,103,1.342,109,1.363,114,0.016,115,0.011,116,0.008,117,1.642,118,3.477,119,2.509,120,4.729,121,4.961,122,4.961,123,3.58,124,4.271,125,4.902,126,3.58,127,3.58,128,4.271,129,2.535,130,3.58,131,5.558,132,1.185,133,3.817,134,2.509,135,3.082,136,3.082,137,3.082,138,3.477,139,3.408,140,2.509,141,3.082,142,4.271,143,3.082,144,1.993,145,3.082,146,3.082,147,4.902,148,3.082,149,3.082,150,3.477,151,4.271,152,4.271,153,3.082,154,3.082,155,3.082,156,3.082,157,3.082,158,4.271,159,3.082,160,2.98,161,3.082,162,3.082]],["title/interceptors/DefaultOAuthInterceptor.html",[163,3.737,164,3.042]],["body/interceptors/DefaultOAuthInterceptor.html",[0,0.091,3,0.585,4,0.646,5,0.585,14,0.985,21,0.711,22,1.75,28,0.858,30,0.822,37,1.262,38,0.018,39,1.151,40,0.822,41,1.138,43,1.133,55,3.107,68,1.121,72,0.374,84,2.932,92,1.205,103,1.406,114,0.008,115,0.011,116,0.008,117,1.591,132,1.133,139,2.834,160,2.056,164,3.369,165,2.946,166,5.558,167,3.422,168,5.558,169,2.391,170,3.422,171,2.194,172,2.136,173,4.785,174,3.621,175,4.785,176,3.621,177,3.422,178,4.139,179,2.946,180,5.19,181,4.885,182,5.19,183,3.422,184,4.785,185,3.591,186,2.946,187,4.139,188,1.806,189,4.139,190,2.398,191,3.422,192,3.422,193,1.524,194,2.946,195,3.422,196,4.139,197,3.422,198,2.633,199,0.782,200,1.668,201,2.211,202,2.701,203,2.633,204,2.946,205,2.398,206,2.684,207,2.946,208,1.375,209,3.422,210,3.422,211,2.946,212,2.946,213,2.946,214,0.782,215,2.946,216,2.946,217,2.946,218,2.946,219,2.946,220,3.107,221,2.946,222,4.808,223,4.808,224,4.139,225,3.422,226,3.422,227,1.528,228,1.375,229,3.422,230,3.422,231,2.633,232,1.922,233,3.422,234,3.422,235,3.422,236,3.422,237,3.422,238,3.422,239,3.422,240,3.422,241,2.946,242,4.139,243,3.422,244,2.946]],["title/classes/HashHandler.html",[0,0.116,138,3.042]],["body/classes/HashHandler.html",[0,0.138,2,1.144,3,0.649,4,0.716,5,0.649,6,2.725,8,1.784,9,1.451,10,1.58,14,1.093,20,3.337,21,0.789,22,1.88,25,2.453,27,4.516,28,1.8,29,4.072,30,0.649,37,0.996,38,0.018,39,0.908,40,0.649,41,0.716,42,2.453,43,1.256,44,1.943,68,0.839,72,0.564,88,2.453,103,1.37,109,1.405,114,0.016,115,0.012,116,0.009,117,1.709,118,2.66,120,3.973,124,3.268,125,3.268,128,3.268,129,1.69,131,5.424,132,1.256,133,3.973,134,2.66,135,4.446,136,4.446,137,4.446,138,4.114,139,3.444,140,2.66,141,3.268,142,4.446,143,3.268,144,2.074,145,3.268,146,3.268,147,5.054,148,3.268,149,3.268,150,3.619,151,4.446,152,4.446,153,3.268,154,3.268,155,3.268,156,3.268,157,3.268,158,4.446,159,3.268,160,3.102,161,3.268,162,3.268,245,3.796]],["title/classes/JwksValidationHandler.html",[0,0.116,246,2.607]],["body/classes/JwksValidationHandler.html",[0,0.108,2,1.227,3,0.696,4,0.768,5,0.696,6,2.857,8,1.914,9,1.556,16,3.498,21,0.846,22,1.971,26,3.498,30,1.04,36,1.119,37,1.421,38,0.018,39,1.296,40,0.925,41,1.022,43,1.792,44,1.792,57,4.169,65,2.631,68,0.988,72,0.445,78,2.693,114,0.009,115,0.013,116,0.013,139,1.914,169,3.025,201,2.631,246,4.169,247,4.661,248,3.025,249,4.661,250,5.414,251,4.661,252,5.414,253,1.834,254,4.679,255,2.013,256,5.414,257,2.58,258,1.692,259,1.615,260,5.414,261,3.498,262,4.361,263,4.071,264,3.132,265,5.414,266,4.071,267,4.071,268,1.286,269,2.853,270,2.709,271,1.72,272,3.505,273,2.853,274,2.287,275,3.132,276,2.148,277,2.853,278,2.853,279,1.556,280,1.237,281,3.132,282,4.165,283,3.132,284,2.631,285,1.914,286,1.482,287,2.853,288,1.286,289,2.853,290,3.132,291,2.631,292,0.807,293,2.853,294,3.132,295,3.132,296,3.132,297,4.071,298,4.071]],["title/classes/LoginOptions.html",[0,0.116,299,1.933]],["body/classes/LoginOptions.html",[0,0.131,2,0.581,3,0.532,4,0.364,5,0.33,9,0.737,10,1.535,11,0.638,12,1.359,14,0.555,15,0.983,18,1.15,21,0.401,28,1.92,30,0.948,33,2.112,34,1.316,35,0.906,38,0.018,40,0.901,41,1.271,44,0.638,46,1.487,51,0.983,54,1.316,62,1.666,63,0.669,64,0.702,68,0.313,72,0.652,73,1.558,74,1.316,75,0.815,76,0.815,77,0.815,82,1.25,83,1.42,92,1.322,103,0.401,109,0.462,114,0.004,115,0.007,116,0.004,117,1.03,129,1.386,132,0.638,144,1.805,171,1.133,172,1.753,193,0.859,199,0.711,200,1.08,206,0.815,208,1.573,214,0.711,227,1.236,228,1.25,253,0.939,258,0.78,259,1.076,268,0.609,271,1.316,280,1.205,286,0.702,288,1.824,299,1.386,300,0.959,301,0.559,302,1.464,303,2.001,304,1.316,305,1.841,306,1.947,307,1.947,308,1.947,309,1.655,310,1.947,311,1.928,312,1.488,313,2.572,314,2.147,315,2.004,316,1.548,317,1.636,318,1.548,319,1.386,320,1.548,321,2.001,322,2.001,323,1.316,324,1.548,325,1.684,326,2.235,327,1.548,328,1.386,329,1.464,330,1.548,331,1.548,332,0.939,333,1.928,334,1.08,335,1.386,336,1.548,337,1.947,338,0.983,339,1.928,340,1.464,341,1.981,342,1.899,343,1.316,344,1.316,345,1.464,346,1.25,347,1.548,348,2.235,349,1.464,350,1.548,351,1.464,352,2.352,353,1.928,354,1.899,355,1.548,356,1.03,357,1.464,358,1.548,359,2.349,360,1.92,361,1.899,362,1.928,363,1.386,364,1.841,365,0.906,366,1.928,367,1.548,368,1.25,369,1.548,370,1.316,371,1.316,372,1.548,373,1.548,374,1.548,375,1.548,376,1.316,377,1.548,378,1.928,379,1.316,380,1.548,381,2.319,382,3.115,383,0.815,384,0.702,385,1.548,386,0.859,387,0.702,388,0.815,389,0.859,390,0.906,391,0.859,392,0.959,393,2.453,394,0.959,395,0.959,396,0.959,397,0.959,398,0.906,399,0.815,400,0.959,401,0.638,402,0.774,403,0.815,404,0.815,405,0.906,406,0.906,407,1.548,408,1.548,409,1.548,410,0.906,411,0.959,412,0.959,413,0.959,414,2.453,415,0.815,416,0.609,417,0.959,418,0.906,419,0.959,420,0.959,421,0.959,422,1.464,423,1.316,424,1.548,425,1.655,426,1.464,427,0.959,428,0.906,429,0.959,430,0.959,431,0.859,432,0.609,433,0.581,434,0.959,435,0.859,436,0.959,437,0.906,438,0.609,439,0.638,440,0.609,441,0.906,442,0.702,443,0.959,444,0.959,445,0.959,446,0.959,447,0.959,448,0.959,449,0.959,450,0.959,451,0.959,452,0.959,453,0.959,454,0.959,455,0.959,456,0.959,457,0.959,458,0.959,459,0.959,460,0.959,461,0.959,462,0.959,463,0.959,464,0.959,465,0.959,466,0.959,467,0.959,468,0.959,469,0.959,470,0.959]],["title/injectables/MemoryStorage.html",[117,1.436,410,2.04]],["body/injectables/MemoryStorage.html",[0,0.141,3,0.599,4,0.422,5,0.382,10,1.606,11,0.74,12,0.776,14,0.644,15,0.706,18,0.941,21,0.465,22,1.275,28,1.946,30,0.738,33,1.863,34,0.945,37,1.133,38,0.018,39,1.033,40,0.738,41,0.922,43,1.429,44,0.74,46,1.6,51,1.106,54,1.48,62,1.543,63,0.776,64,0.814,68,0.363,72,0.684,73,1.676,74,1.48,75,0.945,76,0.945,77,0.945,82,0.898,83,1.364,92,1.082,103,0.465,109,0.535,114,0.005,115,0.008,116,0.005,117,1.159,119,1.567,129,1.56,132,0.74,144,2.26,171,1.275,172,1.543,193,0.996,199,0.511,200,0.776,206,0.945,208,1.407,214,0.511,227,1.187,228,0.898,253,0.674,258,0.56,259,0.838,268,0.706,271,0.945,280,0.986,286,0.814,288,1.543,299,0.996,300,1.112,301,0.402,302,1.051,303,1.56,305,1.051,306,1.112,307,1.112,308,1.112,309,0.945,310,1.112,312,1.159,313,2.176,314,1.947,315,1.696,316,1.112,317,1.275,318,1.112,319,0.996,320,1.112,321,1.56,322,1.56,323,0.945,324,1.112,325,1.459,326,1.742,327,1.112,328,0.996,329,1.051,330,1.112,331,1.112,332,0.674,334,0.776,335,0.996,336,1.112,337,1.742,338,0.706,340,1.051,341,1.963,342,1.48,343,0.945,344,0.945,345,1.051,346,0.898,347,1.112,348,2.147,349,1.051,350,1.112,351,1.051,354,1.48,355,1.112,356,0.74,357,1.051,358,1.112,359,1.923,360,1.572,361,1.48,363,0.996,364,1.646,367,1.112,368,0.898,369,1.112,370,0.945,371,0.945,372,1.112,373,1.112,374,1.112,375,1.112,376,0.945,377,1.112,379,0.945,380,1.112,381,2.494,382,3.345,383,0.945,384,0.814,385,1.742,386,0.996,387,0.814,388,0.945,389,0.996,390,1.051,391,0.996,392,1.112,393,2.639,394,1.112,395,1.112,396,1.112,397,1.112,398,1.051,399,0.945,400,1.112,401,0.74,402,0.898,403,0.945,404,0.945,405,1.051,406,1.051,407,2.147,408,2.147,409,2.147,410,1.646,411,1.112,412,1.112,413,1.112,414,2.639,415,0.945,416,0.706,417,1.112,418,1.051,419,1.112,420,1.112,421,1.112,422,1.646,423,1.48,424,1.742,425,1.825,426,1.646,427,1.112,428,1.051,429,1.112,430,1.112,431,0.996,432,0.706,433,0.674,434,1.112,435,0.996,436,1.112,437,2.297,438,0.706,439,0.74,440,0.706,441,1.051,442,0.814,443,1.112,444,1.112,445,1.112,446,1.112,447,1.112,448,1.112,449,1.112,450,1.112,451,1.112,452,1.112,453,1.112,454,1.112,455,1.112,456,1.112,457,1.112,458,1.112,459,1.112,460,1.112,461,1.112,462,1.112,463,1.112,464,1.112,465,1.112,466,1.112,467,1.112,468,1.112,469,1.112,470,1.112,471,3.015,472,3.015,473,3.015,474,2.236,475,2.236,476,2.236]],["title/classes/NullValidationHandler.html",[0,0.116,262,2.805]],["body/classes/NullValidationHandler.html",[0,0.124,2,1.403,3,0.795,4,0.878,5,0.795,6,3.423,8,2.187,9,1.778,12,2.251,14,1.7,16,3.816,21,0.967,22,2.149,26,3.816,30,1.009,37,1.55,38,0.018,39,1.413,40,1.009,41,1.115,43,1.954,44,2.258,57,4.486,65,3.816,68,0.756,72,0.508,103,1.228,114,0.011,115,0.014,116,0.011,201,4.191,248,3.679,262,3.816,264,4.542,314,1.954,477,5.584,478,5.083,479,5.083,480,5.905,481,4.542,482,5.905,483,4.653,484,4.653,485,4.653,486,4.653]],["title/classes/OAuthErrorEvent.html",[0,0.116,487,2.607]],["body/classes/OAuthErrorEvent.html",[0,0.176,2,1.287,3,1.064,4,0.806,5,0.73,10,1.07,30,0.73,37,1.121,38,0.018,39,1.022,40,1.172,41,0.806,46,2.12,64,2.267,72,0.749,114,0.01,115,0.013,116,0.01,169,2.778,232,2.398,261,4.268,268,1.967,487,3.356,488,2.759,489,4.43,490,4.364,491,4.63,492,4.364,493,4.269,494,2.564,495,2.759,496,2.564,497,2.759,498,2.759,499,2.564,500,2.759,501,2.759,502,2.759,503,2.759,504,2.759,505,2.759,506,2.564,507,2.564,508,2.759,509,2.759,510,2.759,511,2.564,512,2.564,513,2.123,514,2.759,515,2.759,516,2.992,517,2.759,518,4.629,519,4.364,520,2.759]],["title/classes/OAuthEvent.html",[0,0.116,489,2.805]],["body/classes/OAuthEvent.html",[0,0.177,2,1.315,3,1.075,4,0.823,5,0.745,10,1.093,30,0.745,37,1.145,38,0.018,39,1.044,40,1.18,41,0.823,46,1.708,64,1.588,72,0.754,114,0.01,115,0.013,116,0.01,169,2.817,232,2.45,261,4.065,268,1.987,487,2.62,488,2.818,489,4.46,490,4.409,491,4.654,492,3.057,494,2.62,495,2.818,496,2.62,497,2.818,498,2.818,499,2.62,500,2.818,501,2.818,502,2.818,503,2.818,504,2.818,505,2.818,506,2.62,507,2.62,508,2.818,509,2.818,510,2.818,511,2.62,512,2.62,513,2.169,514,2.818,515,2.818,516,3.057,517,2.818,518,4.667,519,4.409,520,2.818,521,4.361]],["title/classes/OAuthInfoEvent.html",[0,0.116,520,2.805]],["body/classes/OAuthInfoEvent.html",[0,0.177,2,1.304,3,1.176,4,0.816,5,0.739,10,1.084,30,0.739,37,1.135,38,0.018,39,1.035,40,1.176,41,0.816,46,1.698,64,1.574,72,0.752,114,0.01,115,0.013,116,0.01,169,2.801,232,2.429,261,4.289,268,1.979,487,2.597,488,2.794,489,4.448,490,4.391,491,4.644,492,3.03,494,2.597,495,2.794,496,2.597,497,2.794,498,2.794,499,2.597,500,2.794,501,2.794,502,2.794,503,2.794,504,2.794,505,2.794,506,2.597,507,2.597,508,2.794,509,2.794,510,2.794,511,2.597,512,2.597,513,2.15,514,2.794,515,2.794,516,3.03,517,2.794,518,4.652,519,4.391,520,3.64,522,4.324]],["title/classes/OAuthLogger.html",[0,0.116,391,1.933]],["body/classes/OAuthLogger.html",[0,0.137,2,0.633,3,0.806,4,0.396,5,0.359,9,0.802,10,1.773,11,1.103,12,0.728,14,0.604,15,0.663,18,0.903,21,0.436,22,1.213,28,1.925,30,0.879,33,1.813,34,0.887,37,1.351,38,0.018,39,1.232,40,0.879,41,1.034,43,1.703,44,0.695,46,1.651,51,1.052,54,1.408,62,1.49,63,0.728,64,0.764,68,0.341,72,0.67,73,1.73,74,1.408,75,0.887,76,0.887,77,0.887,82,0.843,83,1.309,92,1.039,103,0.436,109,0.502,114,0.005,115,0.008,116,0.005,117,1.103,129,1.484,132,0.695,144,1.895,171,1.213,172,1.625,193,0.935,199,0.479,200,1.438,206,0.887,208,1.338,214,0.479,227,1.139,228,0.843,253,0.633,258,0.526,259,0.797,268,0.663,271,0.887,280,0.947,286,1.213,288,1.49,299,0.935,300,1.044,301,0.377,302,0.987,303,1.484,305,0.987,306,1.044,307,1.044,308,1.044,309,0.887,310,1.044,312,1.103,313,2.101,314,1.9,315,1.637,316,1.044,317,1.213,318,1.044,319,0.935,320,1.044,321,1.484,322,1.484,323,0.887,324,1.044,325,1.415,326,1.657,327,1.044,328,0.935,329,0.987,330,1.044,331,1.044,332,0.633,334,0.728,335,0.935,336,1.044,337,2.061,338,0.663,340,0.987,341,1.895,342,1.408,343,0.887,344,0.887,345,0.987,346,0.843,347,1.044,348,2.346,349,0.987,350,1.044,351,0.987,354,1.408,355,1.044,356,0.695,357,0.987,358,2.724,359,1.845,360,1.508,361,1.408,363,0.935,364,1.566,367,1.044,368,0.843,369,1.044,370,0.887,371,0.887,372,1.044,373,1.044,374,1.044,375,1.044,376,0.887,377,1.044,379,0.887,380,1.044,381,2.419,382,3.41,383,1.408,384,1.213,385,2.061,386,1.484,387,1.213,388,1.408,389,1.484,390,1.566,391,1.484,392,1.657,393,3.376,394,1.657,395,1.657,396,1.657,397,1.657,398,0.987,399,0.887,400,1.044,401,0.695,402,0.843,403,0.887,404,0.887,405,0.987,406,0.987,407,1.657,408,1.657,409,1.657,410,0.987,411,1.044,412,1.044,413,1.044,414,2.559,415,0.887,416,0.663,417,1.044,418,0.987,419,1.044,420,1.044,421,1.044,422,1.566,423,1.408,424,1.657,425,1.751,426,1.566,427,1.044,428,0.987,429,1.044,430,1.044,431,0.935,432,0.663,433,0.633,434,1.044,435,0.935,436,1.044,437,0.987,438,0.663,439,0.695,440,0.663,441,0.987,442,0.764,443,1.044,444,1.044,445,1.044,446,1.044,447,1.044,448,1.044,449,1.044,450,1.044,451,1.044,452,1.044,453,1.044,454,1.044,455,1.044,456,1.044,457,1.044,458,1.044,459,1.044,460,1.044,461,1.044,462,1.044,463,1.044,464,1.044,465,1.044,466,1.044,467,1.044,468,1.044,469,1.044,470,1.044,523,3.332,524,2.868,525,3.332,526,2.099,527,4.43,528,2.099,529,2.099,530,2.099,531,2.099]],["title/modules/OAuthModule.html",[532,3.339,533,2.805]],["body/modules/OAuthModule.html",[0,0.102,3,0.654,4,0.722,5,0.654,7,2.68,12,1.801,22,1.392,30,0.654,35,1.798,37,1.004,38,0.018,39,0.915,40,0.654,41,0.722,43,1.266,68,1.208,72,0.418,92,0.959,103,0.795,114,0.009,115,0.012,116,0.009,118,3.638,120,2.942,132,1.266,138,3.638,164,3.638,171,1.89,172,1.64,174,3.118,176,3.969,188,2.018,199,0.874,200,1.327,201,4.084,202,3.55,203,2.942,204,3.292,205,2.68,214,0.874,227,1.62,248,1.902,262,3.808,268,1.64,365,1.798,387,2.537,391,2.312,477,3.292,533,3.808,534,2.942,535,5.191,536,3.824,537,5.191,538,5.191,539,3.824,540,6.321,541,3.824,542,3.31,543,5.893,544,4.533,545,5.191,546,3.292,547,5.191,548,3.993,549,3.824,550,3.354,551,3.824,552,3.824,553,3.824,554,4.469,555,4.469,556,3.824,557,2.942,558,2.68,559,3.292,560,2.471,561,4.469,562,5.441,563,3.824,564,3.824]],["title/classes/OAuthModuleConfig.html",[0,0.116,176,2.607]],["body/classes/OAuthModuleConfig.html",[0,0.169,2,1.569,3,0.889,4,0.982,5,0.889,10,1.587,21,1.082,28,1.305,30,0.889,38,0.018,40,0.889,63,1.806,72,0.692,92,1.305,114,0.012,115,0.015,116,0.012,176,3.803,208,2.543,214,1.189,220,4.091,304,2.675,314,1.723,325,1.431,565,5.45,566,4.481,567,4.782,568,5.249,569,5.205,570,3.648,571,4.481,572,4.481,573,4.481,574,4.004,575,3.363,576,3.648,577,3.648,578,4.481]],["title/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.116,550,2.805]],["body/classes/OAuthNoopResourceServerErrorHandler.html",[0,0.166,2,1.526,3,0.865,4,0.955,5,0.865,8,2.379,10,1.56,14,1.792,21,1.052,22,2.265,30,0.865,37,1.329,38,0.018,39,1.211,40,0.865,41,0.955,43,1.675,68,1.011,72,0.68,103,1.052,114,0.012,115,0.014,116,0.012,174,4.048,185,4.543,188,2.67,190,3.547,199,1.422,200,2.159,269,3.547,550,4.021,579,5.358,580,5.358,581,5.184,582,5.552,583,5.061,584,4.357,585,4.357]],["title/classes/OAuthResourceServerConfig.html",[0,0.116,568,3.339]],["body/classes/OAuthResourceServerConfig.html",[0,0.161,2,1.453,3,0.824,4,0.91,5,0.824,10,1.513,21,1.002,28,1.208,30,1.127,38,0.018,40,1.127,41,1.304,63,2.095,72,0.66,92,1.513,114,0.011,115,0.014,116,0.011,176,2.895,208,2.648,214,1.101,220,4.598,304,2.551,314,1.998,325,1.66,352,2.895,565,5.949,566,4.149,567,3.378,568,5.071,570,4.231,571,5.197,572,5.197,573,5.197,574,4.644,575,3.901,576,4.62,577,4.231,578,5.675,586,4.82,587,4.82,588,4.82]],["title/classes/OAuthResourceServerErrorHandler.html",[0,0.116,174,2.607]],["body/classes/OAuthResourceServerErrorHandler.html",[0,0.166,2,1.526,3,0.865,4,0.955,5,0.865,8,2.379,10,1.762,14,1.457,21,1.052,22,2.265,30,0.865,37,1.329,38,0.018,39,1.211,40,0.865,41,0.955,43,1.675,68,1.011,72,0.68,103,1.052,114,0.012,115,0.014,116,0.012,174,4.048,185,4.543,188,2.67,190,3.547,199,1.422,200,2.159,269,3.547,550,3.27,579,5.358,580,5.358,581,5.184,582,5.552,584,4.357,585,4.357,589,5.061]],["title/classes/OAuthStorage.html",[0,0.116,171,1.58]],["body/classes/OAuthStorage.html",[0,0.14,2,0.658,3,0.587,4,0.412,5,0.373,9,0.834,10,1.733,11,0.722,12,0.757,14,0.628,15,0.689,18,0.927,21,0.454,22,1.251,28,1.943,30,0.726,33,1.844,34,0.922,37,1.116,38,0.018,39,1.017,40,0.726,41,0.91,43,1.407,44,0.722,46,1.581,51,1.085,54,1.452,62,1.523,63,0.757,64,0.795,68,0.354,72,0.679,73,1.657,74,1.452,75,0.922,76,0.922,77,0.922,82,0.877,83,1.523,92,1.066,103,0.454,109,0.522,114,0.005,115,0.008,116,0.005,117,1.137,129,1.53,132,0.722,144,2.237,171,1.547,172,1.523,193,0.972,199,0.499,200,0.757,206,0.922,208,1.38,214,0.499,227,1.169,228,0.877,253,0.658,258,0.547,259,0.823,268,1.085,271,0.922,280,0.971,286,0.795,288,1.523,299,0.972,300,1.085,301,0.392,302,1.026,303,1.53,305,1.026,306,1.085,307,1.085,308,1.085,309,0.922,310,1.085,312,1.137,313,2.147,314,1.999,315,1.673,316,1.085,317,1.251,318,1.085,319,0.972,320,1.085,321,1.53,322,1.53,323,0.922,324,1.085,325,1.442,326,1.709,327,1.085,328,0.972,329,1.026,330,1.085,331,1.085,332,0.658,334,0.757,335,0.972,336,1.085,337,1.709,338,0.689,340,1.026,341,1.937,342,1.452,343,0.922,344,0.922,345,1.026,346,0.877,347,1.085,348,2.398,349,1.026,350,1.085,351,1.026,354,1.452,355,1.085,356,0.722,357,1.026,358,1.085,359,1.893,360,1.547,361,1.452,363,0.972,364,1.616,367,1.085,368,0.877,369,1.085,370,0.922,371,0.922,372,1.085,373,1.085,374,1.085,375,1.085,376,0.922,377,1.085,379,0.922,380,1.085,381,2.466,382,3.327,383,0.922,384,0.795,385,2.114,386,0.972,387,0.795,388,0.922,389,0.972,390,1.026,391,0.972,392,1.085,393,2.608,394,1.085,395,1.085,396,1.085,397,1.085,398,1.616,399,1.452,400,1.709,401,1.137,402,1.38,403,1.452,404,1.452,405,1.616,406,1.616,407,2.114,408,2.114,409,2.114,410,1.026,411,1.085,412,1.085,413,1.085,414,2.608,415,0.922,416,0.689,417,1.085,418,1.026,419,1.085,420,1.085,421,1.085,422,1.616,423,1.452,424,1.709,425,1.796,426,1.616,427,1.085,428,1.026,429,1.085,430,1.085,431,0.972,432,0.689,433,0.658,434,1.085,435,0.972,436,1.085,437,2.267,438,0.689,439,0.722,440,0.689,441,1.026,442,0.795,443,1.085,444,1.085,445,1.085,446,1.085,447,1.085,448,1.085,449,1.085,450,1.085,451,1.085,452,1.085,453,1.085,454,1.085,455,1.085,456,1.085,457,1.085,458,1.085,459,1.085,460,1.085,461,1.085,462,1.085,463,1.085,464,1.085,465,1.085,466,1.085,467,1.085,468,1.085,469,1.085,470,1.085,471,2.959,472,2.959,473,2.959,590,2.183,591,2.183,592,2.183]],["title/classes/OAuthSuccessEvent.html",[0,0.116,517,2.805]],["body/classes/OAuthSuccessEvent.html",[0,0.177,2,1.304,3,1.176,4,0.816,5,0.739,10,1.084,30,0.739,37,1.135,38,0.018,39,1.035,40,1.176,41,0.816,46,1.698,64,1.574,72,0.752,114,0.01,115,0.013,116,0.01,169,2.801,232,2.429,261,4.289,268,1.979,487,2.597,488,2.794,489,4.448,490,4.391,491,4.644,492,3.03,494,2.597,495,2.794,496,2.597,497,2.794,498,2.794,499,2.597,500,2.794,501,2.794,502,2.794,503,2.794,504,2.794,505,2.794,506,2.597,507,2.597,508,2.794,509,2.794,510,2.794,511,2.597,512,2.597,513,2.15,514,2.794,515,2.794,516,3.03,517,3.64,518,4.652,519,4.391,520,2.794,593,4.324]],["title/interfaces/OidcDiscoveryDoc.html",[73,1.371,441,2.04]],["body/interfaces/OidcDiscoveryDoc.html",[0,0.131,3,0.527,4,0.36,5,0.325,9,0.728,10,1.529,11,0.63,12,0.661,14,0.548,15,0.602,18,0.846,21,0.396,28,1.968,33,1.736,34,0.805,38,0.018,40,1.242,41,0.36,44,0.63,46,1.478,51,0.974,54,1.303,62,1.409,63,0.661,64,0.693,68,0.309,72,0.649,73,1.548,74,1.303,75,0.805,76,0.805,77,0.805,82,0.765,83,1.226,92,0.973,103,0.396,109,0.456,114,0.004,115,0.007,116,0.004,117,1.02,129,1.373,132,0.63,144,1.792,171,1.122,172,1.409,193,0.848,199,0.435,200,0.661,206,0.805,208,1.792,214,0.435,227,1.067,228,0.765,253,0.574,258,0.477,259,0.738,268,0.602,271,0.805,280,0.887,286,0.693,288,1.409,299,0.848,300,0.947,301,0.342,302,0.895,303,1.373,304,1.303,305,0.895,306,0.947,307,0.947,308,0.947,309,0.805,310,0.947,312,1.02,313,1.987,314,1.827,315,1.548,316,0.947,317,1.122,318,0.947,319,0.848,320,0.947,321,1.373,322,1.373,323,0.805,324,0.947,325,1.347,326,1.533,327,0.947,328,0.848,329,0.895,330,0.947,331,0.947,332,0.574,334,0.661,335,0.848,336,0.947,337,1.533,338,0.602,340,0.895,341,1.792,342,1.303,343,0.805,344,0.805,345,0.895,346,0.765,347,0.947,348,1.931,349,0.895,350,0.947,351,0.895,354,1.303,355,0.947,356,0.63,357,0.895,358,0.947,359,1.729,360,1.413,361,1.303,363,0.848,364,1.449,367,0.947,368,0.765,369,0.947,370,0.805,371,0.805,372,0.947,373,0.947,374,0.947,375,0.947,376,0.805,377,0.947,379,0.805,380,0.947,381,2.304,382,3.103,383,0.805,384,0.693,385,1.533,386,0.848,387,0.693,388,0.805,389,0.848,390,0.895,391,0.848,392,0.947,393,2.437,394,0.947,395,0.947,396,0.947,397,0.947,398,0.895,399,0.805,400,0.947,401,0.63,402,0.765,403,0.805,404,0.805,405,0.895,406,0.895,407,1.533,408,1.533,409,1.533,410,0.895,411,0.947,412,0.947,413,0.947,414,2.608,415,0.805,416,0.602,417,0.947,418,0.895,419,0.947,420,0.947,421,0.947,422,1.449,423,1.303,424,1.533,425,1.886,426,1.449,427,0.947,428,0.895,429,0.947,430,0.947,431,0.848,432,0.602,433,0.574,434,0.947,435,0.848,436,0.947,437,0.895,438,0.974,439,1.02,440,0.974,441,1.449,442,1.624,443,2.219,444,2.219,445,2.219,446,2.219,447,2.219,448,2.219,449,2.219,450,2.219,451,2.219,452,2.219,453,2.219,454,2.219,455,2.219,456,2.219,457,2.219,458,2.219,459,2.219,460,2.219,461,2.219,462,2.219,463,2.219,464,2.219,465,2.219,466,2.219,467,2.219,468,2.219,469,2.219,470,2.219,594,1.144]],["title/interfaces/ParsedIdToken.html",[73,1.371,418,2.04]],["body/interfaces/ParsedIdToken.html",[0,0.142,3,0.601,4,0.424,5,0.384,9,0.859,10,1.608,11,0.744,12,0.78,14,0.647,15,0.71,18,0.944,21,0.467,28,1.943,33,1.867,34,0.95,38,0.018,40,0.964,41,0.424,44,0.744,46,1.891,51,1.369,54,1.831,62,1.548,63,0.78,64,0.818,68,0.365,72,0.685,73,1.68,74,2.248,75,0.95,76,2.071,77,2.071,82,0.903,83,1.369,92,1.086,103,0.467,109,0.538,114,0.005,115,0.008,116,0.005,117,1.164,129,2.182,132,0.744,144,1.968,171,1.28,172,1.548,193,1.001,199,0.514,200,0.78,206,0.95,208,1.413,214,0.514,227,1.191,228,0.903,253,0.678,258,0.564,259,0.842,268,0.71,271,0.95,280,0.99,286,0.818,288,1.548,299,1.001,300,1.118,301,0.404,302,1.057,303,1.566,304,1.487,305,1.057,306,1.118,307,1.118,308,1.118,309,0.95,310,1.118,312,1.164,313,2.182,314,1.951,315,1.701,316,1.118,317,1.28,318,1.118,319,1.001,320,1.118,321,1.566,322,1.566,323,0.95,324,1.118,325,1.462,326,1.749,327,1.118,328,1.001,329,1.057,330,1.118,331,1.118,332,0.678,334,0.78,335,1.001,336,1.118,337,1.749,338,0.71,340,1.057,341,1.968,342,1.487,343,0.95,344,0.95,345,1.057,346,0.903,347,1.118,348,2.155,349,1.057,350,1.118,351,1.057,354,1.487,355,1.118,356,0.744,357,1.057,358,1.118,359,1.93,360,1.577,361,1.487,363,1.001,364,2.037,367,1.118,368,0.903,369,1.118,370,0.95,371,0.95,372,1.118,373,1.118,374,1.118,375,1.118,376,0.95,377,1.118,379,0.95,380,1.118,381,2.501,382,3.251,383,0.95,384,0.818,385,1.749,386,1.001,387,0.818,388,0.95,389,1.001,390,1.057,391,1.001,392,1.118,393,2.646,394,1.118,395,1.118,396,1.118,397,1.118,398,1.057,399,0.95,400,1.118,401,0.744,402,0.903,403,0.95,404,0.95,405,1.057,406,1.057,407,1.749,408,1.749,409,1.749,410,1.057,411,1.118,412,1.118,413,1.118,414,2.805,415,0.95,416,0.71,417,1.118,418,1.654,419,2.437,420,2.437,421,2.437,422,1.654,423,1.487,424,1.749,425,1.831,426,1.654,427,1.118,428,1.057,429,1.118,430,1.118,431,1.001,432,0.71,433,0.678,434,1.118,435,1.001,436,1.118,437,1.057,438,0.71,439,0.744,440,0.71,441,1.057,442,0.818,443,1.118,444,1.118,445,1.118,446,1.118,447,1.118,448,1.118,449,1.118,450,1.118,451,1.118,452,1.118,453,1.118,454,1.118,455,1.118,456,1.118,457,1.118,458,1.118,459,1.118,460,1.118,461,1.118,462,1.118,463,1.118,464,1.118,465,1.118,466,1.118,467,1.118,468,1.118,469,1.118,470,1.118,594,1.35]],["title/classes/ReceivedTokens.html",[0,0.116,381,2.04]],["body/classes/ReceivedTokens.html",[0,0.142,2,0.682,3,0.604,4,0.427,5,0.386,9,0.864,10,1.611,11,0.748,12,0.784,14,0.651,15,0.714,18,0.948,21,0.47,28,1.939,30,0.84,33,1.871,34,0.955,38,0.018,40,0.84,41,1.007,44,0.748,46,1.705,51,1.116,54,1.838,62,1.786,63,0.784,64,0.823,68,0.367,72,0.686,73,1.685,74,2.078,75,1.838,76,0.955,77,0.955,82,0.908,83,1.553,92,1.09,103,0.47,109,0.541,114,0.005,115,0.008,116,0.005,117,1.169,129,1.573,132,0.748,144,1.974,171,1.286,172,1.553,193,1.007,199,0.516,200,0.784,206,0.955,208,1.419,214,0.516,227,1.351,228,0.908,253,0.682,258,0.567,259,0.846,268,0.714,271,0.955,280,0.993,286,0.823,288,1.553,299,1.007,300,1.124,301,0.406,302,1.063,303,1.573,304,1.493,305,1.063,306,1.124,307,1.124,308,1.124,309,0.955,310,1.124,312,1.169,313,2.189,314,1.955,315,1.706,316,1.124,317,1.286,318,1.124,319,1.007,320,1.124,321,1.573,322,1.573,323,0.955,324,1.124,325,1.466,326,1.757,327,1.124,328,1.007,329,1.063,330,1.124,331,1.124,332,0.682,334,0.784,335,1.007,336,1.124,337,1.757,338,0.714,340,1.063,341,2.373,342,1.493,343,0.955,344,0.955,345,1.063,346,0.908,347,1.124,348,2.163,349,1.063,350,1.124,351,1.063,354,1.493,355,1.124,356,0.748,357,1.063,358,1.124,359,1.936,360,1.583,361,1.493,363,1.007,364,1.661,367,1.124,368,0.908,369,1.124,370,0.955,371,0.955,372,1.124,373,1.124,374,1.124,375,1.124,376,0.955,377,1.124,379,0.955,380,1.124,381,2.658,382,3.256,383,0.955,384,0.823,385,1.757,386,1.007,387,0.823,388,0.955,389,1.007,390,1.063,391,1.007,392,1.124,393,2.653,394,1.124,395,1.124,396,1.124,397,1.124,398,1.063,399,0.955,400,1.124,401,0.748,402,0.908,403,0.955,404,0.955,405,1.063,406,1.063,407,1.757,408,1.757,409,1.757,410,1.063,411,1.124,412,1.124,413,1.124,414,2.812,415,1.493,416,1.116,417,2.163,418,1.063,419,1.124,420,1.124,421,1.124,422,1.661,423,1.493,424,1.757,425,1.838,426,1.661,427,1.124,428,1.063,429,1.124,430,1.124,431,1.007,432,0.714,433,0.682,434,1.124,435,1.007,436,1.124,437,1.063,438,0.714,439,0.748,440,0.714,441,1.063,442,0.823,443,1.124,444,1.124,445,1.124,446,1.124,447,1.124,448,1.124,449,1.124,450,1.124,451,1.124,452,1.124,453,1.124,454,1.124,455,1.124,456,1.124,457,1.124,458,1.124,459,1.124,460,1.124,461,1.124,462,1.124,463,1.124,464,1.124,465,1.124,466,1.124,467,1.124,468,1.124,469,1.124,470,1.124,595,2.261,596,2.261,597,2.261,598,2.261]],["title/interfaces/TokenResponse.html",[73,1.371,428,2.04]],["body/interfaces/TokenResponse.html",[0,0.141,3,0.594,4,0.418,5,0.379,9,0.847,10,1.602,11,0.733,12,0.769,14,0.638,15,0.7,18,0.936,21,0.461,28,1.948,33,1.856,34,0.937,38,0.018,40,1.002,41,0.81,44,0.733,46,1.593,51,1.669,54,1.47,62,1.536,63,1.687,64,0.807,68,0.36,72,0.682,73,1.669,74,1.47,75,0.937,76,0.937,77,0.937,82,0.89,83,1.356,92,1.076,103,0.461,109,0.53,114,0.005,115,0.008,116,0.005,117,1.151,129,2.165,132,0.733,144,1.953,171,1.266,172,1.536,193,0.987,199,0.506,200,0.769,206,0.937,208,1.397,214,0.506,227,1.337,228,0.89,253,0.668,258,0.556,259,0.832,268,0.7,271,0.937,280,0.981,286,0.807,288,1.536,299,0.987,300,1.102,301,0.398,302,1.042,303,1.549,304,1.47,305,1.042,306,1.102,307,1.102,308,1.102,309,0.937,310,1.102,312,1.151,313,2.165,314,1.94,315,1.687,316,1.102,317,1.266,318,1.102,319,0.987,320,1.102,321,1.549,322,1.549,323,0.937,324,1.102,325,1.452,326,1.73,327,1.102,328,0.987,329,1.042,330,1.102,331,1.102,332,0.668,334,0.769,335,0.987,336,1.102,337,1.73,338,0.7,340,1.042,341,2.355,342,1.47,343,0.937,344,0.937,345,1.042,346,0.89,347,1.102,348,2.135,349,1.042,350,1.102,351,1.042,354,1.47,355,1.102,356,0.733,357,1.042,358,1.102,359,1.912,360,1.563,361,1.47,363,0.987,364,1.635,367,1.102,368,0.89,369,1.102,370,0.937,371,0.937,372,1.102,373,1.102,374,1.102,375,1.102,376,0.937,377,1.102,379,0.937,380,1.102,381,2.484,382,3.239,383,0.937,384,0.807,385,1.73,386,0.987,387,0.807,388,0.937,389,0.987,390,1.042,391,0.987,392,1.102,393,2.628,394,1.102,395,1.102,396,1.102,397,1.102,398,1.042,399,0.937,400,1.102,401,0.733,402,0.89,403,0.937,404,0.937,405,1.042,406,1.042,407,1.73,408,1.73,409,1.73,410,1.042,411,1.102,412,1.102,413,1.102,414,2.788,415,0.937,416,0.7,417,1.102,418,1.042,419,1.102,420,1.102,421,1.102,422,2.018,423,1.814,424,2.135,425,2.055,426,2.018,427,1.73,428,1.635,429,2.418,430,2.418,431,2.165,432,1.536,433,0.668,434,1.102,435,0.987,436,1.102,437,1.042,438,0.7,439,0.733,440,0.7,441,1.042,442,0.807,443,1.102,444,1.102,445,1.102,446,1.102,447,1.102,448,1.102,449,1.102,450,1.102,451,1.102,452,1.102,453,1.102,454,1.102,455,1.102,456,1.102,457,1.102,458,1.102,459,1.102,460,1.102,461,1.102,462,1.102,463,1.102,464,1.102,465,1.102,466,1.102,467,1.102,468,1.102,469,1.102,470,1.102,594,1.331]],["title/injectables/UrlHelperService.html",[117,1.436,548,3.339]],["body/injectables/UrlHelperService.html",[0,0.117,3,0.75,4,0.829,5,0.75,21,0.913,22,2.071,28,1.776,30,0.972,33,2.21,35,2.064,37,1.493,38,0.018,39,1.361,40,0.972,41,1.074,43,1.883,46,2.013,68,0.713,72,0.48,84,3.739,103,1.312,114,0.01,115,0.013,116,0.01,117,1.883,119,3.076,132,1.453,139,2.674,144,2.285,160,3.417,268,1.386,305,2.674,328,2.533,437,2.064,527,3.779,548,4.376,599,6.311,600,4.39,601,5.689,602,5.689,603,5.689,604,4.39,605,5.689,606,4.39,607,4.39,608,4.39,609,5.689,610,5.689,611,3.987,612,4.39,613,4.39,614,4.39,615,5.689,616,4.39,617,4.39,618,4.39,619,4.39,620,4.39]],["title/interfaces/UserInfo.html",[73,1.371,435,1.933]],["body/interfaces/UserInfo.html",[0,0.144,3,0.754,4,0.437,5,0.395,9,0.884,10,1.621,11,0.765,12,0.802,14,0.666,15,0.73,18,0.962,21,0.481,28,1.942,30,0.395,33,1.889,34,0.977,38,0.018,40,0.395,41,0.437,44,0.765,46,1.625,51,1.136,54,1.52,62,1.572,63,0.802,64,0.842,68,0.376,72,0.691,73,1.703,74,1.52,75,0.977,76,0.977,77,0.977,82,0.929,83,1.393,92,1.106,103,0.481,109,0.554,114,0.005,115,0.008,116,0.005,117,1.19,129,1.601,132,0.765,144,1.999,171,1.309,172,1.572,193,1.03,199,0.528,200,0.802,206,0.977,208,1.444,214,0.528,227,1.213,228,0.929,253,0.697,258,0.58,259,0.861,268,0.73,271,0.977,280,1.008,286,0.842,288,1.572,299,1.03,300,1.15,301,0.416,302,1.087,303,1.601,304,1.52,305,1.087,306,1.15,307,1.15,308,1.15,309,0.977,310,1.15,312,1.19,313,2.216,314,1.972,315,1.727,316,1.15,317,1.309,318,1.15,319,1.03,320,1.15,321,1.601,322,1.601,323,0.977,324,1.15,325,1.482,326,1.788,327,1.15,328,1.03,329,1.087,330,1.15,331,1.15,332,0.697,334,0.802,335,1.03,336,1.15,337,1.788,338,0.73,340,1.087,341,1.999,342,1.52,343,0.977,344,0.977,345,1.087,346,0.929,347,1.15,348,2.194,349,1.087,350,1.15,351,1.087,354,1.52,355,1.15,356,0.765,357,1.087,358,1.15,359,1.965,360,1.606,361,1.52,363,1.03,364,1.69,367,1.15,368,0.929,369,1.15,370,0.977,371,0.977,372,1.15,373,1.15,374,1.15,375,1.15,376,0.977,377,1.15,379,0.977,380,1.15,381,2.534,382,3.275,383,0.977,384,0.842,385,1.788,386,1.03,387,0.842,388,0.977,389,1.03,390,1.087,391,1.03,392,1.15,393,2.681,394,1.15,395,1.15,396,1.15,397,1.15,398,1.087,399,0.977,400,1.15,401,0.765,402,0.929,403,0.977,404,0.977,405,1.087,406,1.087,407,1.788,408,1.788,409,1.788,410,1.087,411,1.15,412,1.15,413,1.15,414,2.838,415,0.977,416,0.73,417,1.15,418,1.087,419,1.15,420,1.15,421,1.15,422,2.074,423,1.864,424,2.194,425,2.103,426,2.074,427,1.15,428,1.087,429,1.15,430,1.15,431,1.03,432,0.73,433,1.084,434,1.788,435,1.601,436,2.475,437,1.69,438,0.73,439,0.765,440,0.73,441,1.087,442,0.842,443,1.15,444,1.15,445,1.15,446,1.15,447,1.15,448,1.15,449,1.15,450,1.15,451,1.15,452,1.15,453,1.15,454,1.15,455,1.15,456,1.15,457,1.15,458,1.15,459,1.15,460,1.15,461,1.15,462,1.15,463,1.15,464,1.15,465,1.15,466,1.15,467,1.15,468,1.15,469,1.15,470,1.15,594,1.389,621,2.313,622,2.313]],["title/classes/ValidationHandler.html",[0,0.116,12,1.506]],["body/classes/ValidationHandler.html",[0,0.121,1,2.214,2,0.953,3,0.54,4,0.596,5,0.54,6,2.806,7,3.727,8,1.485,9,1.208,10,1.774,11,1.046,12,2.018,13,2.042,14,1.308,15,1.435,16,3.758,17,1.667,18,0.99,19,2.214,20,2.935,21,0.657,22,1.654,23,3.495,25,2.042,26,3.437,28,1.608,29,3.758,30,0.776,32,2.431,33,1.76,34,1.92,35,1.485,36,0.869,37,1.193,38,0.018,39,1.273,40,0.776,41,0.857,42,2.935,43,1.504,44,2.238,45,2.431,46,1.753,48,2.431,49,4.091,50,2.431,51,2.087,52,2.431,53,2.431,54,1.335,55,2.042,56,2.431,57,4.334,59,4.495,60,4.317,61,3.727,62,1.68,63,1.846,65,2.935,67,3.437,68,0.513,69,2.214,70,2.214,71,2.431,72,0.581,73,1.68,74,1.335,75,1.335,76,1.335,77,1.335,78,1.571,79,2.431,80,3.495,81,3.495,82,1.825,83,1.435,84,3.384,85,3.495,86,2.431,87,2.431,88,2.042,89,2.431,90,2.431,91,2.431,92,0.792,93,2.431,94,2.431,95,2.431,96,2.214,97,4.474,98,2.431,99,4.474,100,2.431,101,2.431,102,2.431,103,0.944,104,4.091,105,2.431,106,2.431,107,2.431,108,2.431,109,0.756,110,2.431,111,2.042,112,2.431,113,2.431,114,0.007,115,0.011,116,0.007,264,2.431,623,3.16,624,3.16]],["title/interfaces/ValidationParams.html",[57,2.607,73,1.371]],["body/interfaces/ValidationParams.html",[0,0.123,1,2.275,3,0.555,4,0.613,5,0.555,6,1.713,7,2.275,8,1.526,10,1.67,11,1.074,12,1.874,13,2.098,14,1.333,15,1.463,16,2.993,17,1.713,18,1.009,19,2.275,20,2.993,21,0.675,23,3.563,25,2.098,26,2.098,28,1.763,29,3.804,32,2.497,33,1.787,34,1.957,35,1.526,36,0.892,38,0.018,39,0.777,40,1.106,42,2.993,44,2.142,45,2.497,46,2.12,48,2.497,49,4.153,50,2.497,51,1.966,52,2.497,53,2.497,54,1.372,55,2.098,56,2.497,57,4.091,59,4.126,60,4.126,61,3.246,62,1.463,63,1.607,65,2.098,67,2.993,68,0.527,69,2.275,70,2.275,71,2.497,72,0.59,73,1.463,74,2.488,75,2.488,76,2.488,77,2.488,78,2.928,79,4.529,80,2.497,81,2.497,82,1.304,83,1.025,84,2.444,85,3.563,86,2.497,87,2.497,88,2.098,89,2.497,90,2.497,91,2.497,92,0.814,93,2.497,94,2.497,95,2.497,96,2.275,97,4.529,98,2.497,99,4.529,100,2.497,101,2.497,102,2.497,103,0.963,104,4.153,105,2.497,106,2.497,107,2.497,108,2.497,109,0.777,110,2.497,111,2.098,112,2.497,113,2.497,114,0.008,115,0.011,116,0.008,304,1.957,352,2.782,594,1.95]],["title/classes/WebHttpUrlEncodingCodec.html",[0,0.116,625,3.737]],["body/classes/WebHttpUrlEncodingCodec.html",[0,0.115,2,1.306,3,0.741,4,0.818,5,0.741,9,1.656,14,1.624,21,0.901,22,2.053,28,1.932,30,1.135,37,1.744,38,0.018,39,1.59,40,1.135,41,1.254,43,2.199,68,0.704,72,0.473,103,1.381,114,0.01,115,0.013,116,0.01,140,3.953,188,2.286,312,1.867,314,1.867,625,4.856,626,4.333,627,5.641,628,5.641,629,5.641,630,6.272,631,5.641,632,5.641,633,5.641,634,5.641,635,5.641,636,4.333,637,5.641,638,5.641,639,4.333,640,5.641,641,5.641,642,4.333,643,5.641,644,4.333,645,4.333,646,4.333,647,4.333,648,4.333]],["title/changelog.html",[649,2.266,650,2.437,651,3.247]],["body/changelog.html",[18,1.236,33,1.447,36,1.559,38,0.013,92,1.096,109,1.046,114,0.01,115,0.013,116,0.01,150,3.063,214,0.998,257,1.67,279,2.168,280,1.646,283,3.362,286,1.591,288,2.181,317,1.591,323,1.847,328,1.946,338,1.38,341,2.529,351,2.055,651,3.763,652,4.371,653,4.371,654,4.371,655,4.371,656,3.763,657,4.371,658,3.362,659,4.371,660,4.371,661,4.371,662,3.763,663,4.371,664,4.371,665,4.371,666,4.371,667,4.371,668,4.371,669,3.362,670,2.824,671,3.763,672,4.371,673,3.407,674,3.763,675,3.362,676,2.174,677,3.763,678,4.883,679,3.763,680,4.371,681,4.371,682,4.414,683,3.407,684,3.362,685,4.371,686,4.371,687,2.455,688,3.063,689,3.362,690,4.371,691,3.763,692,3.763,693,4.371,694,3.362,695,4.371,696,4.371,697,3.063,698,2.625,699,4.371,700,4.371,701,4.371,702,4.371,703,3.362,704,4.371,705,4.371,706,4.371,707,4.371,708,4.371,709,4.371,710,4.371,711,3.763,712,4.371,713,4.371,714,4.371,715,4.371,716,4.371,717,4.371,718,4.845,719,5.673,720,4.371,721,4.371,722,4.371,723,4.371,724,4.371,725,4.371,726,4.371,727,3.763,728,3.763,729,4.371,730,4.371,731,4.371,732,4.371,733,4.371,734,4.371,735,4.371,736,4.371,737,3.763,738,4.371,739,4.371]],["title/dependencies.html",[740,3.772,741,3.956]],["body/dependencies.html",[38,0.018,70,3.394,78,2.408,114,0.011,115,0.014,116,0.011,132,1.603,133,3.725,134,4.244,140,3.394,190,4.244,257,2.314,258,1.518,259,1.449,274,2.72,546,4.169,658,3.725,741,3.725,742,4.843,743,7.52,744,4.843,745,4.843,746,4.843,747,6.055,748,5.213,749,4.843,750,4.843,751,4.843,752,4.843,753,4.843,754,4.843,755,4.843,756,4.843,757,3.394,758,4.843,759,4.843,760,4.843,761,4.843,762,4.843,763,4.843,764,4.843,765,4.843,766,4.843,767,4.843,768,4.843,769,4.843,770,4.843,771,4.843,772,4.843,773,4.843,774,4.843,775,4.843]],["title/miscellaneous/functions.html",[776,2.266,777,4.427]],["body/miscellaneous/functions.html",[21,1.141,28,1.376,37,1.716,38,0.017,39,1.564,41,1.234,43,1.816,69,4.58,114,0.013,115,0.015,116,0.013,554,6.009,555,6.009,776,3.296,777,4.724,778,6.536,779,6.536,780,6.98,781,6.536,782,5.488,783,5.488,784,5.627,785,5.488,786,5.488]],["title/index.html",[21,0.784,649,2.266,650,2.437]],["body/index.html",[0,0.052,4,0.365,5,0.33,11,0.64,13,1.25,15,0.611,17,1.647,18,1.301,30,0.33,36,1.358,38,0.018,51,0.611,67,1.25,68,0.858,72,0.341,78,0.962,83,0.611,92,0.983,96,1.355,109,0.463,111,1.25,114,0.004,115,0.007,116,0.007,139,0.909,163,1.665,188,1.02,199,1.364,202,2.967,214,0.713,220,2.016,227,1.527,246,2.357,253,0.941,254,1.488,255,2.074,257,2.698,258,1.601,259,1.5,270,0.861,273,1.355,274,3.121,275,3.463,276,2.07,277,1.355,279,2.124,280,1.555,281,2.401,282,3.8,284,1.25,285,0.909,286,0.704,287,2.187,288,2.017,289,2.187,290,1.488,291,2.016,292,0.383,293,2.187,294,2.401,295,2.401,296,1.488,312,1.033,314,1.033,315,0.671,322,0.861,325,1.079,332,0.941,334,0.671,338,1.239,343,1.319,344,0.817,346,1.253,352,1.162,356,1.748,363,0.861,365,0.909,368,1.253,379,0.817,383,1.903,388,1.319,401,1.033,402,0.777,415,0.817,416,0.986,423,1.658,425,1.319,426,1.467,432,1.239,433,1.592,435,0.861,438,1.239,439,1.033,440,1.239,442,1.136,479,2.687,513,0.962,533,1.25,544,2.401,557,1.488,558,1.355,567,1.355,570,1.355,576,2.187,577,1.355,656,2.687,662,2.687,670,2.016,673,2.704,676,0.962,678,1.665,679,1.665,684,1.488,687,2.204,688,3.701,691,1.665,692,1.665,694,1.488,698,1.874,703,1.488,711,1.665,757,1.355,787,2.687,788,1.934,789,3.923,790,2.749,791,1.934,792,1.934,793,1.934,794,2.457,795,3.121,796,1.934,797,1.934,798,3.121,799,1.934,800,3.121,801,1.934,802,1.934,803,1.934,804,3.8,805,3.923,806,1.934,807,1.665,808,1.488,809,1.934,810,1.934,811,1.934,812,1.934,813,1.934,814,1.934,815,1.934,816,1.934,817,1.934,818,1.934,819,3.121,820,4.502,821,1.934,822,1.665,823,3.121,824,1.934,825,1.934,826,1.934,827,2.909,828,1.934,829,1.934,830,1.934,831,3.121,832,1.934,833,1.934,834,4.502,835,2.687,836,1.934,837,1.934,838,1.934,839,3.923,840,3.121,841,1.25,842,1.934,843,3.121,844,1.934,845,1.934,846,1.934,847,3.121,848,1.934,849,1.934,850,1.934,851,1.934,852,3.923,853,3.121,854,1.934,855,1.934,856,1.665,857,1.934,858,1.665,859,1.488,860,1.934,861,1.934,862,1.934,863,1.934,864,1.934,865,1.934,866,1.934,867,1.934,868,1.355,869,1.934,870,1.934,871,1.934,872,1.934,873,1.934,874,4.939,875,1.934,876,1.488,877,3.121,878,1.552,879,2.401,880,1.934,881,1.355,882,1.25,883,1.934,884,1.355,885,1.162,886,1.488,887,3.121,888,1.665,889,2.016,890,1.665,891,1.934,892,3.121,893,1.934,894,2.401,895,1.25,896,1.934,897,1.665,898,1.934,899,1.934,900,1.934,901,1.934,902,2.401,903,2.016,904,1.665,905,1.934,906,1.934,907,1.665,908,1.934,909,1.934,910,1.934,911,2.375,912,1.934,913,3.923,914,1.934,915,1.934,916,1.934,917,1.355,918,1.934,919,1.934,920,2.687,921,3.377,922,2.401,923,1.874,924,1.488,925,1.665,926,1.488,927,1.934,928,2.016,929,1.934,930,1.665,931,1.934,932,0.817,933,1.355,934,3.121,935,2.016,936,1.934,937,1.934,938,1.576,939,1.25,940,1.086,941,1.086,942,1.086,943,1.355,944,2.016,945,1.934,946,1.665,947,2.687,948,3.121,949,1.488,950,2.687,951,1.488,952,1.934,953,1.934,954,1.934,955,1.355,956,1.665,957,1.086,958,1.647,959,1.162,960,1.934,961,1.934,962,2.401,963,2.535,964,1.25,965,1.162,966,1.02,967,1.02,968,1.934,969,1.934,970,1.934,971,1.934,972,3.121,973,1.665,974,1.934,975,1.934,976,1.934,977,2.687,978,1.355,979,1.934,980,1.934,981,1.665,982,1.934,983,1.934,984,2.016,985,1.355,986,1.934,987,1.934,988,1.934,989,1.665,990,2.016,991,1.355,992,1.488,993,1.934,994,1.934,995,1.355,996,1.355,997,1.934,998,1.665,999,1.934,1000,2.687,1001,1.665,1002,1.665,1003,1.086,1004,1.665,1005,2.357,1006,1.934,1007,2.401,1008,1.488,1009,3.121,1010,1.934,1011,1.934,1012,1.934,1013,1.665,1014,1.665,1015,1.934,1016,1.665,1017,1.25,1018,1.488,1019,1.086,1020,1.934,1021,1.934,1022,1.934,1023,1.934,1024,1.162,1025,1.934,1026,1.934,1027,1.934,1028,1.355,1029,1.934,1030,3.923,1031,1.934,1032,1.665,1033,1.934,1034,1.488,1035,1.934,1036,1.488,1037,1.934,1038,1.934,1039,1.934]],["title/license.html",[649,2.266,650,2.437,1040,3.772]],["body/license.html",[18,1.31,38,0.014,114,0.011,115,0.014,116,0.011,189,4.12,332,1.443,357,2.249,727,4.12,728,4.12,804,3.681,808,3.681,859,3.681,895,3.092,1016,4.12,1019,2.688,1041,6.571,1042,4.785,1043,4.785,1044,6.01,1045,4.785,1046,4.785,1047,4.785,1048,4.785,1049,4.785,1050,6.01,1051,7.505,1052,4.785,1053,4.785,1054,4.785,1055,4.246,1056,4.785,1057,6.01,1058,4.12,1059,4.785,1060,4.785,1061,4.785,1062,4.785,1063,4.785,1064,4.785,1065,4.785,1066,6.01,1067,4.785,1068,4.785,1069,4.785,1070,4.785,1071,4.785,1072,6.01,1073,6.01,1074,4.785,1075,4.785,1076,4.785,1077,4.785,1078,4.785,1079,4.785,1080,4.785,1081,4.785,1082,4.785,1083,4.785,1084,4.785,1085,4.12,1086,4.785,1087,2.874,1088,4.785,1089,4.785,1090,4.785,1091,4.785,1092,4.785,1093,4.785,1094,4.785,1095,4.12,1096,4.785,1097,4.785,1098,4.785,1099,4.785,1100,4.785]],["title/modules.html",[534,4.344]],["body/modules.html",[38,0.016,114,0.014,115,0.016,116,0.014,533,3.884,534,4.624,1028,4.212,1101,6.011,1102,6.011]],["title/overview.html",[1103,4.861]],["body/overview.html",[2,1.735,38,0.016,114,0.013,115,0.016,116,0.013,119,4.032,532,5.17,558,4.032,559,4.953,560,3.718,594,3.456,611,4.032,675,4.426,741,4.426,757,4.032,895,3.718,1103,4.953,1104,5.754,1105,6.721,1106,5.754,1107,5.754,1108,5.754]],["title/miscellaneous/typealiases.html",[776,2.266,1109,5.142]],["body/miscellaneous/typealiases.html",[21,1.093,38,0.018,40,0.899,114,0.012,115,0.015,116,0.012,232,2.954,488,3.398,491,4.117,494,3.159,495,3.398,496,3.159,497,3.398,498,3.398,499,3.159,500,3.398,501,3.398,502,3.398,503,3.398,504,3.398,505,3.398,506,3.159,507,3.159,508,3.398,509,3.398,510,3.398,511,3.159,512,3.159,513,2.616,514,3.398,515,3.398,776,3.159,1110,5.259,1111,5.259]],["title/miscellaneous/variables.html",[776,2.266,1112,4.427]],["body/miscellaneous/variables.html",[6,2.605,8,2.881,21,1.026,35,2.881,36,1.357,38,0.017,68,0.995,78,3.048,109,1.182,114,0.011,115,0.014,116,0.014,246,3.682,247,4.251,248,3.048,253,1.489,254,3.798,255,1.634,257,2.547,258,1.671,259,1.595,269,4.295,270,2.968,271,2.087,272,4.251,273,3.46,274,2.773,275,3.798,276,2.605,277,3.46,278,3.46,279,1.887,280,1.4,281,3.798,282,4.715,283,3.798,284,3.19,285,2.321,286,1.797,287,3.46,288,1.559,289,3.46,290,3.798,291,3.19,292,0.978,293,3.46,294,3.798,295,3.798,296,3.798,365,2.881,776,2.966,1112,4.251,1113,6.129,1114,4.937,1115,4.937,1116,4.937,1117,4.937]],["title/additional-documentation/getting-started.html",[292,0.661,301,0.599,649,2.003,650,2.155]],["body/additional-documentation/getting-started.html",[38,0.016,114,0.014,115,0.016,116,0.014,270,2.645,649,4.112,650,4.424,978,4.163,1019,3.337,1118,5.114,1119,5.94]],["title/additional-documentation/preserving-state-(like-the-requested-url).html",[214,0.618,292,0.536,301,0.486,341,1.087,1120,2.331,1121,1.749]],["body/additional-documentation/preserving-state-(like-the-requested-url).html",[3,0.969,38,0.017,41,1.071,114,0.013,115,0.015,116,0.013,214,1.523,271,2.397,309,2.397,319,2.526,341,2.843,938,2.278,995,3.976,1120,4.884,1121,4.307,1122,4.884,1123,5.673,1124,5.673,1125,3.976,1126,5.673,1127,5.673]],["title/additional-documentation/refreshing-a-token.html",[227,0.917,292,0.661,301,0.599,882,2.155]],["body/additional-documentation/refreshing-a-token.html",[15,1.862,17,2.449,35,2.182,36,1.781,38,0.014,114,0.011,115,0.014,116,0.011,160,2.788,172,1.466,194,3.996,202,2.608,227,1.934,253,1.4,270,2.626,279,2.253,280,1.608,285,2.182,288,2.047,332,1.4,338,2.153,343,1.962,344,1.962,346,1.864,360,1.69,365,2.182,431,2.067,432,1.466,440,1.466,611,3.253,669,3.571,670,3,868,3.253,881,3.253,882,3.81,884,4.541,885,3.892,886,4.536,888,3.996,928,3,930,3.996,950,3.996,958,2.449,962,3.571,1058,3.996,1087,3.892,1128,3.253,1129,3.996,1130,3.571,1131,4.642,1132,4.642,1133,3.996,1134,5.896,1135,3.571,1136,4.642,1137,4.642,1138,4.642,1139,4.536,1140,4.642,1141,3.571,1142,3.996,1143,5.076,1144,3.996,1145,3.996,1146,5.076,1147,5.076,1148,3.996,1149,3.996,1150,3.996,1151,3.571,1152,3.996,1153,3.996,1154,3.253,1155,3.996,1156,3.996,1157,3.996,1158,3.996]],["title/additional-documentation/silent-refresh.html",[292,0.661,301,0.599,317,1.214,338,1.053]],["body/additional-documentation/silent-refresh.html",[3,0.485,5,0.854,11,1.389,15,1.326,17,1.496,18,1.089,28,0.711,30,0.485,33,1.389,35,1.973,36,1.698,38,0.018,46,0.855,51,0.896,62,1.326,68,0.46,72,0.31,83,1.863,92,1.052,103,0.589,109,1.005,114,0.007,115,0.01,116,0.007,139,1.333,160,2.522,172,1.579,181,2.181,196,2.441,199,1.142,200,1.734,214,1.142,227,1.804,228,1.686,253,0.855,257,1.604,258,0.711,259,1.005,270,2.226,274,1.593,276,1.496,279,2.36,280,1.58,284,2.713,285,1.333,288,2.073,313,1.869,317,2.389,323,1.198,325,1.519,332,1.666,334,1.734,335,1.869,338,2.117,342,1.198,352,1.703,356,1.654,360,2.147,365,2.35,376,1.198,384,1.032,387,1.032,388,1.774,398,1.333,401,0.939,416,1.326,422,1.333,431,1.263,432,1.326,433,1.666,438,0.896,442,1.032,542,1.593,575,1.832,611,1.987,649,1.703,669,2.181,670,1.832,671,2.441,676,1.41,683,1.703,687,1.593,688,1.987,784,2.441,794,2.088,868,1.987,878,1.41,881,2.942,882,3.23,884,3.503,885,2.522,886,3.229,911,2.915,917,3.503,932,1.198,933,1.987,935,3.23,938,1.139,939,1.832,940,2.808,941,1.593,942,1.593,943,1.987,944,1.832,949,2.181,951,2.181,957,1.593,958,1.496,959,1.703,963,1.832,964,1.832,965,1.703,966,1.496,967,1.496,991,1.987,998,3.614,1003,1.593,1005,1.703,1008,2.181,1017,1.832,1032,2.441,1034,2.181,1036,2.181,1055,1.832,1087,3.002,1135,2.181,1139,3.229,1141,2.181,1142,2.441,1143,3.614,1144,2.441,1145,2.441,1146,3.614,1147,3.614,1148,2.441,1149,2.441,1150,2.441,1151,2.181,1152,2.441,1153,2.441,1154,1.987,1155,2.441,1156,2.441,1157,2.441,1158,2.441,1159,2.836,1160,4.198,1161,2.181,1162,3.229,1163,2.836,1164,2.836,1165,2.836,1166,2.836,1167,2.836,1168,2.836,1169,4.198,1170,4.998,1171,1.987,1172,2.441,1173,2.836,1174,2.836,1175,2.836,1176,2.836,1177,2.836,1178,3.614,1179,2.836,1180,1.593,1181,1.832,1182,2.836,1183,1.987,1184,1.987,1185,1.593,1186,2.836,1187,2.836,1188,2.836,1189,2.441,1190,2.441,1191,3.229,1192,2.441,1193,2.836,1194,2.836,1195,2.836,1196,2.836,1197,3.229,1198,2.181,1199,2.836,1200,2.836,1201,2.836,1202,2.836,1203,4.198,1204,2.836,1205,2.836,1206,2.836,1207,2.836,1208,2.836,1209,2.441,1210,2.836,1211,2.836,1212,2.836,1213,2.836,1214,2.441,1215,2.836,1216,2.836,1217,2.181,1218,4.198,1219,2.836,1220,2.836,1221,2.836,1222,2.836,1223,2.836,1224,2.836,1225,2.181,1226,2.836,1227,2.836,1228,2.836,1229,2.836,1230,2.836,1231,2.836,1232,2.836]],["title/additional-documentation/working-with-httpinterceptors.html",[292,0.661,301,0.599,1233,3.335,1234,3.335]],["body/additional-documentation/working-with-httpinterceptors.html",[0,0.15,10,0.883,14,1.413,18,1.07,28,0.883,38,0.018,41,0.926,55,3.171,62,1.113,63,1.703,68,1.107,72,0.536,84,1.859,92,1.23,103,1.418,114,0.008,115,0.011,116,0.008,117,1.624,132,1.166,164,2.47,165,4.861,169,1.753,171,2.055,172,1.55,173,3.034,174,3.856,175,3.034,176,2.948,178,3.034,179,3.034,180,4.225,181,2.711,182,4.225,184,3.034,185,3.648,186,3.034,187,4.861,188,1.859,198,4.343,199,1.29,200,2.227,201,3.171,202,1.979,203,2.711,205,3.439,206,2.58,207,3.034,208,1.415,211,3.034,212,3.034,213,3.034,214,0.805,215,3.034,216,3.034,217,3.034,218,3.034,219,5.256,220,3.945,221,3.034,224,3.034,227,1.552,241,3.034,242,4.225,244,3.034,255,1.166,257,1.347,258,0.883,259,0.843,286,1.283,312,1.624,325,1.349,332,1.062,346,1.415,365,2.307,384,1.283,387,1.283,389,1.569,550,2.277,567,2.47,570,3.439,576,3.439,577,2.47,581,2.711,582,3.775,677,3.034,858,3.034,859,2.711,922,2.711,951,2.711,955,2.47,991,2.47,1000,4.225,1001,3.034,1002,3.034,1003,1.979,1004,3.034,1135,2.711,1189,3.034,1198,2.711,1235,3.524,1236,3.524,1237,3.524,1238,3.034,1239,3.034,1240,3.524,1241,3.524,1242,3.524,1243,3.524,1244,3.524,1245,3.524,1246,3.524,1247,3.524,1248,2.117,1249,3.524,1250,4.225,1251,2.277,1252,2.47,1253,3.524,1254,3.524,1255,3.524,1256,3.524,1257,3.524,1258,3.524,1259,3.524,1260,3.524,1261,3.034,1262,3.524,1263,3.524,1264,2.711,1265,3.524,1266,3.524,1267,3.524,1268,3.524,1269,3.775,1270,3.524,1271,3.524,1272,3.524,1273,3.524]],["title/additional-documentation/callback-after-login.html",[292,0.661,301,0.599,938,1.339,1274,2.565]],["body/additional-documentation/callback-after-login.html",[38,0.018,51,2.058,62,1.724,63,1.894,114,0.013,115,0.015,116,0.013,309,2.753,354,2.307,364,2.566,370,2.753,388,2.307,841,3.527,938,2.617,985,3.825,1003,3.066,1085,4.699,1121,3.527,1125,3.825,1209,4.699,1274,5.012,1275,5.458,1276,5.458,1277,5.458,1278,5.458,1279,5.458,1280,5.458]],["title/additional-documentation/popup-based-login.html",[292,0.592,301,0.537,321,1.331,697,2.094,938,1.2]],["body/additional-documentation/popup-based-login.html",[17,2.76,18,1.384,38,0.016,114,0.012,115,0.015,116,0.012,255,1.732,268,1.652,270,2.828,276,2.76,285,2.985,315,1.815,317,2.489,321,2.828,338,1.652,346,2.101,383,2.684,405,2.459,433,1.577,684,4.025,694,4.025,718,4.025,807,4.504,827,3.381,868,3.667,917,3.667,926,4.025,932,2.211,965,3.143,973,4.504,1161,4.025,1192,4.504,1225,4.025,1248,3.143,1281,4.504,1282,5.232,1283,4.504,1284,5.232,1285,5.232,1286,5.232,1287,5.232,1288,5.232,1289,5.232,1290,4.025,1291,5.232,1292,5.232,1293,5.232,1294,5.232,1295,5.232,1296,5.232]],["title/additional-documentation/custom-query-parameters.html",[37,0.785,292,0.592,301,0.537,312,0.989,376,1.263]],["body/additional-documentation/custom-query-parameters.html",[33,1.899,37,1.506,38,0.017,114,0.013,115,0.016,116,0.013,279,2.193,280,1.311,312,2.221,325,1.577,360,2.089,376,2.425,1297,5.737,1298,4.939,1299,5.737,1300,5.737,1301,5.737,1302,5.737,1303,5.737,1304,5.737,1305,5.737]],["title/additional-documentation/events.html",[292,0.747,301,0.678,361,1.594]],["body/additional-documentation/events.html",[5,0.73,18,0.931,28,1.07,36,1.174,38,0.018,62,1.348,68,0.693,78,2.123,83,1.348,114,0.01,115,0.013,116,0.01,185,2.759,200,1.481,205,3.915,227,1.174,232,2.398,255,1.849,257,1.632,258,1.4,259,1.022,274,2.398,279,1.632,280,0.975,302,2.007,303,1.901,317,2.033,338,1.967,341,2.244,342,1.804,349,2.626,361,2.972,363,3.053,371,1.804,386,1.901,438,1.348,487,3.356,494,2.564,496,2.564,499,2.564,506,2.564,507,2.564,511,2.564,524,3.675,682,2.992,683,2.564,687,3.138,689,3.284,697,2.992,827,2.759,885,2.564,889,2.759,996,2.992,1003,2.398,1005,3.356,1024,3.356,1028,2.992,1087,2.564,1121,3.61,1133,4.809,1191,3.284,1198,3.284,1306,4.269,1307,4.269,1308,4.269,1309,3.675,1310,4.269,1311,4.269,1312,3.675,1313,3.675,1314,4.269,1315,4.269,1316,4.269,1317,4.269,1318,4.269,1319,3.675,1320,4.269,1321,4.269,1322,4.269,1323,4.269,1324,4.269,1325,4.269,1326,5.586,1327,7.165,1328,5.586,1329,4.269,1330,4.269,1331,3.675,1332,4.269,1333,4.269,1334,3.675,1335,4.269,1336,4.269,1337,3.675,1338,5.586,1339,5.586,1340,4.269,1341,4.269,1342,4.269,1343,4.269,1344,4.269,1345,4.269]],["title/additional-documentation/routing-with-the-hashstrategy.html",[292,0.661,301,0.599,698,2.003,1018,2.565]],["body/additional-documentation/routing-with-the-hashstrategy.html",[13,3.262,18,1.1,19,4.355,33,1.671,36,1.708,38,0.017,62,1.595,72,0.552,83,1.595,92,1.266,114,0.012,115,0.014,116,0.012,228,2.028,255,1.671,303,2.248,313,2.248,334,2.156,335,2.767,340,2.373,345,2.373,365,2.373,481,3.884,532,3.884,670,3.262,698,3.733,737,4.346,822,5.795,933,3.538,955,3.538,990,3.262,1003,2.836,1013,4.346,1017,3.262,1018,4.78,1171,3.538,1217,3.884,1225,3.884,1251,3.262,1346,3.884,1347,5.049,1348,4.346,1349,7.025,1350,6.732,1351,5.049,1352,5.049,1353,5.049,1354,5.049,1355,5.049,1356,5.049,1357,5.049,1358,3.262,1359,5.049,1360,5.049,1361,3.884,1362,5.049]],["title/additional-documentation/adapt-id_token-validation.html",[51,0.944,248,1.486,292,0.592,301,0.537,1363,2.573]],["body/additional-documentation/adapt-id_token-validation.html",[11,1.63,12,2.31,30,0.842,38,0.018,51,1.933,59,3.452,60,3.452,61,3.452,62,1.933,67,3.954,68,0.8,73,1.556,78,2.45,82,1.978,84,2.599,109,1.179,114,0.011,115,0.014,116,0.011,246,3.999,248,3.044,253,1.845,255,1.63,257,1.882,258,1.235,259,1.179,262,3.183,286,2.228,360,2.228,379,2.081,386,2.193,387,1.793,390,2.877,401,1.63,402,1.978,406,2.315,439,1.63,440,1.556,560,3.183,562,4.24,827,3.183,932,2.081,1008,3.789,1154,3.452,1197,3.789,1264,3.789,1283,4.24,1346,3.789,1363,4.24,1364,4.925,1365,4.925,1366,4.925,1367,4.925,1368,4.24,1369,4.925,1370,4.24,1371,4.925,1372,4.24,1373,4.925,1374,4.24,1375,4.925]],["title/additional-documentation/session-checks.html",[292,0.661,301,0.599,682,2.337,683,2.003]],["body/additional-documentation/session-checks.html",[30,0.692,36,1.667,38,0.017,68,0.657,72,0.442,83,1.703,92,1.014,114,0.009,115,0.012,116,0.009,139,1.902,199,1.232,227,1.482,231,3.113,255,1.785,257,1.547,258,1.014,259,0.969,270,2.401,273,2.836,274,3.029,276,2.135,279,1.547,280,1.232,285,2.535,288,1.278,293,2.836,312,1.339,314,1.785,317,2.208,325,1.112,329,1.902,338,2.188,356,1.339,360,1.473,361,1.71,370,1.71,379,1.71,425,1.71,432,1.278,433,1.22,438,1.703,442,1.473,512,3.239,513,2.013,675,3.113,676,2.013,682,5.035,683,3.643,688,2.836,787,3.484,790,2.836,794,3.217,878,2.682,881,2.836,889,3.484,895,2.615,911,2.135,917,2.836,926,3.113,928,3.919,932,1.71,935,3.919,939,2.615,940,3.029,941,2.273,944,2.615,966,2.135,967,2.135,977,3.484,990,2.615,995,2.836,1024,2.431,1087,3.239,1095,3.484,1130,3.113,1154,3.779,1178,3.484,1180,2.273,1181,2.615,1185,2.273,1217,3.113,1251,2.615,1261,3.484,1334,3.484,1348,3.484,1372,3.484,1376,4.047,1377,4.047,1378,4.047,1379,4.047,1380,4.047,1381,5.392,1382,4.047,1383,4.047,1384,4.047,1385,4.047,1386,4.047,1387,4.047,1388,3.113,1389,5.392,1390,4.047,1391,5.392,1392,4.047,1393,4.047,1394,4.047,1395,4.047,1396,4.047,1397,4.047,1398,4.047,1399,4.047,1400,4.047,1401,4.047,1402,4.047,1403,4.047,1404,4.047]],["title/additional-documentation/server-side-rendering.html",[199,0.683,292,0.592,301,0.537,402,1.2,1405,2.573]],["body/additional-documentation/server-side-rendering.html",[38,0.015,114,0.013,115,0.015,116,0.013,199,1.615,251,4.87,255,1.872,314,1.872,402,2.839,673,3.398,674,4.87,1248,3.398,1252,3.965,1269,4.352,1281,4.87,1405,6.086,1406,5.657,1407,5.657,1408,5.657,1409,5.657,1410,4.87,1411,5.657,1412,5.657,1413,5.657]],["title/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[255,0.699,279,0.807,280,0.482,292,0.418,301,0.379,439,0.699,440,0.667,932,0.892,1055,1.364]],["body/additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html",[0,0.114,11,1.416,15,1.351,18,1.219,38,0.018,40,0.731,72,0.467,109,1.024,114,0.01,115,0.013,116,0.01,172,1.767,199,1.278,214,1.51,255,1.416,270,1.905,279,1.635,280,0.977,285,2.011,291,2.764,292,0.848,304,1.808,315,1.484,325,1.538,332,1.29,334,1.484,356,2.063,371,1.808,384,1.557,399,1.808,401,1.416,403,1.808,404,1.808,416,1.969,423,1.808,432,1.351,433,1.879,438,1.351,439,1.851,440,1.767,513,2.128,542,3.142,575,2.764,673,2.57,676,2.128,794,2.782,878,2.128,894,3.291,895,2.764,897,3.683,902,3.291,903,2.764,911,3.289,923,2.57,932,2.364,938,2.503,940,2.403,941,2.403,942,2.403,957,2.403,958,2.257,963,3.615,966,2.257,967,2.257,978,2.998,985,2.998,992,3.291,1005,2.57,1007,3.291,1019,2.403,1024,2.57,1055,2.764,1125,2.998,1128,2.998,1162,3.291,1171,2.998,1180,3.142,1185,2.403,1248,2.57,1290,3.291,1358,2.764,1388,3.291,1414,3.683,1415,2.998,1416,2.998,1417,4.278,1418,4.278,1419,3.683,1420,3.291,1421,3.291,1422,3.683,1423,3.683,1424,3.683,1425,4.278,1426,4.278,1427,4.278,1428,3.683,1429,3.683,1430,4.278]],["title/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[36,0.58,248,1.05,292,0.418,301,0.379,416,0.667,439,0.699,440,0.667,878,1.05,1431,2.112]],["body/additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html",[18,0.923,30,0.949,38,0.018,64,1.541,68,0.687,72,0.463,92,1.061,114,0.01,115,0.013,116,0.01,139,1.99,199,0.967,214,1.562,228,2.231,248,3.084,253,1.276,255,1.401,257,1.618,258,1.061,259,1.33,319,1.885,323,1.789,325,1.705,334,1.469,356,1.401,365,1.99,387,1.541,401,1.401,416,2.159,425,1.789,432,1.755,433,1.276,438,1.959,439,2.322,440,2.216,442,2.257,560,3.59,676,2.105,794,2.763,808,3.257,827,2.735,878,3.274,889,4.007,911,3.272,935,4.007,938,1.7,939,2.735,940,2.378,941,2.378,942,2.378,943,2.967,944,2.735,957,2.378,958,2.234,959,2.543,964,2.735,965,2.543,966,2.234,967,2.234,1014,3.644,1019,2.378,1172,3.644,1180,2.378,1181,2.735,1183,2.967,1184,2.967,1185,2.378,1298,5.338,1319,3.644,1432,6.201,1433,4.233,1434,5.668,1435,4.233,1436,4.783,1437,4.233,1438,4.233,1439,4.233,1440,4.233,1441,4.233,1442,4.233,1443,4.233,1444,4.233,1445,4.233,1446,4.233,1447,4.233,1448,4.233,1449,3.644,1450,3.644,1451,4.233]],["title/additional-documentation/using-systemjs.html",[36,0.917,292,0.661,301,0.599,1452,2.871]],["body/additional-documentation/using-systemjs.html",[36,1.438,38,0.018,114,0.012,115,0.015,116,0.012,134,3.667,193,2.33,257,2.718,258,1.783,259,1.637,542,2.939,658,4.885,718,4.885,890,4.504,1024,3.143,1191,4.025,1452,5.887,1453,5.232,1454,5.232,1455,5.232,1456,5.232,1457,6.351,1458,6.351,1459,5.232,1460,5.232,1461,5.232,1462,5.232,1463,5.232,1464,5.232,1465,5.232,1466,5.232]],["title/additional-documentation/using-implicit-flow.html",[36,0.822,279,1.142,280,0.683,292,0.592,301,0.537]],["body/additional-documentation/using-implicit-flow.html",[0,0.134,30,0.623,36,1.381,38,0.018,39,1.202,46,1.099,68,1.118,72,0.628,84,3.033,103,1.044,109,0.872,114,0.008,115,0.012,116,0.008,132,1.663,139,1.713,172,2.174,199,0.833,202,2.047,206,1.54,214,1.148,246,3.017,253,1.099,255,1.206,257,2.367,258,1.629,259,1.608,268,1.151,277,2.554,278,2.554,279,2.197,280,1.484,284,3.246,288,1.151,291,2.355,292,0.995,315,1.265,325,1.002,332,1.099,334,1.265,343,1.54,344,1.54,356,1.206,359,1.623,401,1.206,415,2.123,416,1.587,432,1.587,433,1.099,438,1.151,442,1.327,513,1.813,542,2.047,574,2.804,676,1.813,790,2.554,794,2.498,878,1.813,903,2.355,907,3.138,911,3.033,923,2.189,924,2.804,932,2.123,935,4.003,938,2.764,939,2.355,940,2.047,941,2.047,942,2.047,944,2.355,949,2.804,957,2.047,958,1.923,959,2.189,964,2.355,965,2.189,966,1.923,967,1.923,984,2.355,989,3.138,990,2.355,1017,2.355,1122,3.138,1139,2.804,1141,2.804,1180,2.047,1181,2.355,1183,2.554,1184,2.554,1185,2.047,1250,3.138,1252,2.554,1313,3.138,1346,2.804,1361,2.804,1370,3.138,1415,4.341,1416,3.52,1467,3.645,1468,3.645,1469,3.645,1470,3.645,1471,3.645,1472,3.645,1473,3.645,1474,5.023,1475,3.645,1476,3.645,1477,3.645,1478,3.645,1479,3.645,1480,3.138,1481,3.645,1482,3.645,1483,3.138,1484,3.138,1485,3.645,1486,5.023,1487,3.645,1488,3.645,1489,3.645]],["title/additional-documentation/using-password-flow.html",[36,0.822,280,0.683,292,0.592,301,0.537,879,2.299]],["body/additional-documentation/using-password-flow.html",[0,0.106,3,0.45,11,0.871,17,2.095,18,1.245,36,1.84,38,0.018,39,0.63,40,0.45,43,0.871,51,0.831,72,0.434,103,0.547,109,0.63,114,0.006,115,0.009,116,0.006,144,2.139,150,2.783,169,1.309,172,1.682,198,3.055,199,1.372,202,1.479,214,1.092,227,1.714,249,4.584,253,0.794,255,1.582,259,0.95,270,2.545,278,1.845,279,1.006,280,1.592,285,2.503,288,0.831,304,1.678,314,1.988,315,0.913,322,1.172,325,1.571,332,0.794,338,1.254,354,2.021,356,1.988,359,1.172,360,1.445,368,1.595,370,1.112,383,1.112,384,1.445,399,1.112,401,2.215,403,1.112,404,1.112,415,2.25,416,1.805,423,1.112,432,1.51,433,1.935,438,1.254,439,1.762,440,1.682,478,2.266,481,2.025,673,2.385,676,1.975,687,1.479,697,1.845,698,1.581,703,3.055,748,3.418,790,1.845,794,2.378,841,1.701,856,3.418,876,3.055,879,5.149,882,1.701,885,1.581,889,2.566,904,3.418,911,3.015,923,2.872,928,2.566,932,2.25,938,1.595,942,2.23,946,2.266,947,5.763,955,2.783,956,3.418,957,2.23,958,2.095,962,3.678,966,2.523,967,2.523,981,2.266,984,1.701,985,3.351,991,1.845,996,3.351,1003,1.479,1005,1.581,1017,1.701,1055,3.089,1121,1.701,1129,3.418,1151,2.025,1161,3.055,1171,1.845,1180,2.686,1185,2.23,1190,2.266,1197,2.025,1214,2.266,1248,3.432,1252,1.845,1264,2.025,1312,2.266,1358,1.701,1368,2.266,1374,3.418,1388,3.055,1415,2.783,1416,2.783,1420,3.055,1421,3.055,1422,2.266,1423,2.266,1424,2.266,1483,3.418,1484,3.418,1490,2.632,1491,2.632,1492,2.632,1493,2.632,1494,2.632,1495,2.632,1496,2.632,1497,2.632,1498,2.632,1499,2.632,1500,2.266,1501,2.266,1502,2.632,1503,2.632,1504,2.632,1505,3.971,1506,2.632,1507,3.971,1508,3.971,1509,3.971,1510,3.971,1511,3.971,1512,3.971,1513,3.971,1514,2.266,1515,2.632,1516,2.632,1517,2.632,1518,2.632,1519,2.632,1520,2.632,1521,2.632,1522,2.632,1523,2.632,1524,3.971,1525,2.632,1526,2.632,1527,2.632,1528,2.632,1529,2.632,1530,3.971,1531,2.632,1532,3.971,1533,2.632,1534,2.632,1535,2.632,1536,2.632,1537,2.632,1538,2.632]],["title/additional-documentation/configure-custom-oauthstorage.html",[171,1.088,292,0.592,301,0.537,312,0.989,932,1.263]],["body/additional-documentation/configure-custom-oauthstorage.html",[0,0.156,18,1.274,36,1.607,38,0.018,68,0.949,72,0.639,103,0.952,114,0.011,115,0.014,116,0.011,171,2.469,188,2.416,255,1.516,257,1.75,258,1.148,259,1.096,276,2.416,312,2.131,315,1.589,352,2.751,365,2.153,368,2.348,384,1.667,387,1.667,399,2.866,403,3.028,404,2.47,533,2.959,544,3.522,557,3.522,558,3.209,560,2.959,561,3.942,757,3.209,804,3.522,878,3.202,884,3.209,920,5.032,921,5.543,922,3.522,923,3.511,924,3.522,925,5.032,932,1.935,933,4.512,1019,2.572,1028,3.209,1034,4.496,1036,3.522,1248,2.751,1251,2.959,1269,3.522,1331,3.942,1539,4.579,1540,4.579,1541,4.579,1542,4.579,1543,4.579,1544,5.845,1545,4.579]],["title/additional-documentation/manually-skipping-login-form.html",[292,0.536,301,0.486,938,1.087,984,1.749,1358,1.749,1546,2.331]],["body/additional-documentation/manually-skipping-login-form.html",[15,1.424,18,1.261,36,1.239,38,0.018,44,1.492,83,1.828,103,1.329,109,1.079,114,0.01,115,0.013,116,0.01,199,1.03,214,1.03,227,1.591,231,3.467,276,2.378,280,1.03,287,3.159,292,0.893,299,2.577,309,1.905,315,1.564,332,1.359,342,1.905,368,1.81,389,2.007,416,1.424,433,1.359,683,2.708,687,2.532,794,2.242,841,2.913,876,3.467,894,3.467,903,2.913,928,2.913,938,1.81,959,2.708,984,2.913,990,2.913,995,3.159,996,3.159,1005,2.708,1087,2.708,1251,2.913,1274,3.467,1309,3.88,1337,3.88,1358,2.913,1361,3.467,1410,3.88,1480,3.88,1546,3.88,1547,4.507,1548,5.786,1549,4.507,1550,4.507,1551,4.507,1552,5.786,1553,4.507,1554,5.786,1555,4.507,1556,4.507,1557,4.507,1558,4.507,1559,4.507,1560,4.507,1561,4.507,1562,4.507,1563,4.507,1564,4.507,1565,4.507,1566,4.507,1567,4.507,1568,4.507,1569,4.507,1570,4.507]],["title/additional-documentation/original-config-api.html",[292,0.592,301,0.537,542,1.679,963,1.931,1128,2.094]],["body/additional-documentation/original-config-api.html",[0,0.107,15,1.265,18,0.873,30,0.685,35,1.883,38,0.018,39,0.959,72,0.438,109,0.959,111,2.589,114,0.009,115,0.012,116,0.009,169,1.993,172,1.692,199,1.378,214,1.378,227,1.101,248,3.001,253,1.208,255,1.326,258,1.004,259,0.959,270,1.784,285,1.883,289,2.808,292,0.794,304,1.693,325,1.473,332,1.615,334,1.39,354,1.693,356,1.997,371,1.693,384,1.95,401,1.326,416,1.906,432,1.265,433,1.942,438,1.265,439,2.132,440,2.035,442,1.458,542,3.618,575,2.589,673,3.218,676,1.993,687,2.25,689,3.082,698,2.407,794,1.993,835,3.449,841,2.589,878,1.993,885,2.407,902,3.082,903,2.589,911,3.184,923,3.218,932,1.693,938,2.424,940,2.25,941,2.25,942,2.25,943,2.808,957,2.25,958,2.114,959,2.407,963,4.162,964,2.589,965,2.407,966,2.114,967,2.114,978,2.808,992,3.082,1007,3.082,1019,2.25,1024,2.407,1118,3.449,1125,2.808,1128,3.754,1130,3.082,1162,4.12,1180,2.25,1181,2.589,1183,2.808,1184,2.808,1185,2.25,1238,3.449,1239,3.449,1290,3.082,1414,3.449,1415,2.808,1416,2.808,1419,3.449,1420,3.082,1421,3.082,1428,3.449,1429,3.449,1434,4.611,1436,3.449,1449,3.449,1450,3.449,1500,3.449,1501,3.449,1514,3.449,1571,4.006,1572,4.006,1573,4.006,1574,4.006,1575,4.006,1576,4.006,1577,4.006,1578,4.006,1579,4.006,1580,4.006,1581,4.006]]],"invertedIndex":[["",{"_index":38,"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":{},"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/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":{}}}],["0",{"_index":160,"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":{}}}],["0.10.2",{"_index":775,"title":{},"body":{"dependencies.html":{}}}],["0.33",{"_index":1156,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["0.38.1",{"_index":771,"title":{},"body":{"dependencies.html":{}}}],["0.5",{"_index":1153,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["0.9.0",{"_index":759,"title":{},"body":{"dependencies.html":{}}}],["03",{"_index":654,"title":{},"body":{"changelog.html":{}}}],["07bb62d",{"_index":715,"title":{},"body":{"changelog.html":{}}}],["0f03d39",{"_index":696,"title":{},"body":{"changelog.html":{}}}],["1",{"_index":611,"title":{},"body":{"injectables/UrlHelperService.html":{},"overview.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["1.0",{"_index":1380,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["1.0.1",{"_index":769,"title":{},"body":{"dependencies.html":{}}}],["1.11.1",{"_index":773,"title":{},"body":{"dependencies.html":{}}}],["1.2.1",{"_index":763,"title":{},"body":{"dependencies.html":{}}}],["1.2.4",{"_index":753,"title":{},"body":{"dependencies.html":{}}}],["1.3.0",{"_index":756,"title":{},"body":{"dependencies.html":{}}}],["11",{"_index":695,"title":{},"body":{"changelog.html":{}}}],["19",{"_index":1107,"title":{},"body":{"overview.html":{}}}],["1_0.html#tokenendpoint",{"_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":{}}}],["1_0.html#userinfo",{"_index":434,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["2",{"_index":96,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{}}}],["2.0",{"_index":930,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{}}}],["2.1",{"_index":790,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["2/oidc",{"_index":1020,"title":{},"body":{"index.html":{}}}],["20",{"_index":1032,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["20.000",{"_index":1231,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["2017",{"_index":1043,"title":{},"body":{"license.html":{}}}],["2020",{"_index":653,"title":{},"body":{"changelog.html":{}}}],["23",{"_index":655,"title":{},"body":{"changelog.html":{}}}],["3.1",{"_index":1235,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["3.3.7",{"_index":758,"title":{},"body":{"dependencies.html":{}}}],["31c6273",{"_index":663,"title":{},"body":{"changelog.html":{}}}],["3d331f2",{"_index":717,"title":{},"body":{"changelog.html":{}}}],["3f44eca",{"_index":699,"title":{},"body":{"changelog.html":{}}}],["4",{"_index":675,"title":{},"body":{"changelog.html":{},"overview.html":{},"additional-documentation/session-checks.html":{}}}],["4.3",{"_index":846,"title":{},"body":{"index.html":{}}}],["4.x",{"_index":840,"title":{},"body":{"index.html":{}}}],["401",{"_index":1243,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["403",{"_index":1244,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["4202",{"_index":914,"title":{},"body":{"index.html":{}}}],["4202]/index.html",{"_index":915,"title":{},"body":{"index.html":{}}}],["4202]/silent",{"_index":916,"title":{},"body":{"index.html":{}}}],["4711",{"_index":1303,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["4bf8901",{"_index":690,"title":{},"body":{"changelog.html":{}}}],["4th",{"_index":1184,"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":1108,"title":{},"body":{"overview.html":{}}}],["5.x",{"_index":843,"title":{},"body":{"index.html":{}}}],["58c6354",{"_index":681,"title":{},"body":{"changelog.html":{}}}],["6",{"_index":839,"title":{},"body":{"index.html":{}}}],["6.5.2",{"_index":766,"title":{},"body":{"dependencies.html":{}}}],["6.5.4",{"_index":764,"title":{},"body":{"dependencies.html":{}}}],["687",{"_index":706,"title":{},"body":{"changelog.html":{}}}],["7",{"_index":837,"title":{},"body":{"index.html":{}}}],["7.x",{"_index":838,"title":{},"body":{"index.html":{}}}],["71b705c",{"_index":705,"title":{},"body":{"changelog.html":{}}}],["75",{"_index":1144,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["77cb37a",{"_index":660,"title":{},"body":{"changelog.html":{}}}],["7eac8ae",{"_index":710,"title":{},"body":{"changelog.html":{}}}],["8",{"_index":662,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["8.0.12",{"_index":760,"title":{},"body":{"dependencies.html":{}}}],["8.x",{"_index":836,"title":{},"body":{"index.html":{}}}],["8ab853b",{"_index":668,"title":{},"body":{"changelog.html":{}}}],["8fa99ff",{"_index":701,"title":{},"body":{"changelog.html":{}}}],["9",{"_index":275,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["9.0.0",{"_index":755,"title":{},"body":{"dependencies.html":{}}}],["9.0.1",{"_index":754,"title":{},"body":{"dependencies.html":{}}}],["9.0.7",{"_index":743,"title":{},"body":{"dependencies.html":{}}}],["9.1.0",{"_index":652,"title":{},"body":{"changelog.html":{}}}],["9.x",{"_index":833,"title":{},"body":{"index.html":{}}}],["93902a5",{"_index":672,"title":{},"body":{"changelog.html":{}}}],["9]{3",{"_index":107,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["_throw(err",{"_index":1256,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["a021627fd9d3the",{"_index":1411,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["above",{"_index":1019,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/getting-started.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":{},"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":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["abstraction",{"_index":135,"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":{}}}],["access",{"_index":996,"title":{},"body":{"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":{}}}],["acr_values_supported",{"_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":{}}}],["action",{"_index":1095,"title":{},"body":{"license.html":{},"additional-documentation/session-checks.html":{}}}],["activate",{"_index":1389,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["activated",{"_index":1382,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["actual",{"_index":316,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["adapt",{"_index":1363,"title":{"additional-documentation/adapt-id_token-validation.html":{}},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["add",{"_index":1034,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["adding",{"_index":1455,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["addition",{"_index":1386,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["additional",{"_index":301,"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/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":{}},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["adhere",{"_index":1444,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["adjust",{"_index":1148,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["advanced",{"_index":1202,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["against",{"_index":61,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"additional-documentation/adapt-id_token-validation.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":137,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aliases",{"_index":1110,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["alice/alice",{"_index":909,"title":{},"body":{"index.html":{}}}],["align",{"_index":927,"title":{},"body":{"index.html":{}}}],["allow",{"_index":669,"title":{},"body":{"changelog.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["allowedurls",{"_index":576,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["allows",{"_index":627,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["already",{"_index":13,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["alternative",{"_index":1186,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["although",{"_index":1508,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["analyzing",{"_index":739,"title":{},"body":{"changelog.html":{}}}],["and/or",{"_index":1064,"title":{},"body":{"license.html":{}}}],["angular",{"_index":257,"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":{}}}],["angular/animations",{"_index":742,"title":{},"body":{"dependencies.html":{}}}],["angular/common",{"_index":546,"title":{},"body":{"modules/OAuthModule.html":{},"dependencies.html":{}}}],["angular/common/http",{"_index":188,"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":744,"title":{},"body":{"dependencies.html":{}}}],["angular/core",{"_index":132,"title":{},"body":{"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":{},"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":745,"title":{},"body":{"dependencies.html":{}}}],["angular/forms",{"_index":746,"title":{},"body":{"dependencies.html":{}}}],["angular/platform",{"_index":747,"title":{},"body":{"dependencies.html":{}}}],["angular/router",{"_index":750,"title":{},"body":{"dependencies.html":{}}}],["another",{"_index":1171,"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":{}}}],["anymore",{"_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":{}}}],["aot",{"_index":1543,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["api",{"_index":963,"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":{}}}],["app",{"_index":903,"title":{},"body":{"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":{}}}],["app.component.html",{"_index":1475,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["app/home.html",{"_index":1479,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["appcomponent",{"_index":923,"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":1341,"title":{},"body":{"additional-documentation/events.html":{}}}],["application",{"_index":284,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["applications",{"_index":293,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["appmodule",{"_index":925,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["approach",{"_index":1177,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["approutermodule",{"_index":1354,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["arising",{"_index":1098,"title":{},"body":{"license.html":{}}}],["array",{"_index":577,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["arraybuffer",{"_index":125,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["aspnetcore",{"_index":1413,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["asset",{"_index":1213,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["assets",{"_index":1216,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["associated",{"_index":1052,"title":{},"body":{"license.html":{}}}],["asstring",{"_index":91,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["assumes",{"_index":901,"title":{},"body":{"index.html":{}}}],["async",{"_index":25,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.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":347,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["auth",{"_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":{},"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":{}}}],["auth.config",{"_index":1471,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["auth0",{"_index":1039,"title":{},"body":{"index.html":{}}}],["auth_config",{"_index":1113,"title":{},"body":{"miscellaneous/variables.html":{}}}],["authcodeflowconfig",{"_index":936,"title":{},"body":{"index.html":{}}}],["authconfig",{"_index":935,"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":{}}}],["authenticated",{"_index":1410,"title":{},"body":{"additional-documentation/server-side-rendering.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["authentication",{"_index":1030,"title":{},"body":{"index.html":{}}}],["authorization_endpoint",{"_index":443,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["authors",{"_index":1088,"title":{},"body":{"license.html":{}}}],["authstorage",{"_index":178,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["automate",{"_index":997,"title":{},"body":{"index.html":{}}}],["automatic",{"_index":664,"title":{},"body":{"changelog.html":{}}}],["automatically",{"_index":881,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["available",{"_index":1028,"title":{},"body":{"index.html":{},"modules.html":{},"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["avoid",{"_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":{},"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":736,"title":{},"body":{"changelog.html":{}}}],["b",{"_index":1498,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["b64decodeunicode",{"_index":778,"title":{},"body":{"miscellaneous/functions.html":{}}}],["b64decodeunicode(str",{"_index":783,"title":{},"body":{"miscellaneous/functions.html":{}}}],["back",{"_index":1290,"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":797,"title":{},"body":{"index.html":{}}}],["backwards",{"_index":1573,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["base",{"_index":1436,"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":785,"title":{},"body":{"miscellaneous/functions.html":{}}}],["based",{"_index":697,"title":{"additional-documentation/popup-based-login.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["bearer",{"_index":241,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["beaugrand",{"_index":1454,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["before",{"_index":885,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["beginning",{"_index":273,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/session-checks.html":{}}}],["below",{"_index":1506,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["best",{"_index":343,"title":{},"body":{"classes/LoginOptions.html":{},"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/using-implicit-flow.html":{}}}],["better",{"_index":1492,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["between",{"_index":1151,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["big",{"_index":719,"title":{},"body":{"changelog.html":{}}}],["bind",{"_index":1395,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["blog",{"_index":1406,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["bob/bob",{"_index":908,"title":{},"body":{"index.html":{}}}],["boolean",{"_index":208,"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":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["bootstrap",{"_index":757,"title":{},"body":{"dependencies.html":{},"index.html":{},"overview.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bootstrapping",{"_index":980,"title":{},"body":{"index.html":{}}}],["breaking",{"_index":811,"title":{},"body":{"index.html":{}}}],["brecht",{"_index":721,"title":{},"body":{"changelog.html":{}}}],["browse",{"_index":1102,"title":{},"body":{"modules.html":{}}}],["browser",{"_index":748,"title":{},"body":{"dependencies.html":{},"additional-documentation/using-password-flow.html":{}}}],["browsers",{"_index":899,"title":{},"body":{"index.html":{}}}],["buffer",{"_index":127,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["bug",{"_index":691,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["bugfixes",{"_index":855,"title":{},"body":{"index.html":{}}}],["build",{"_index":1036,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["bundle",{"_index":295,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["bundling",{"_index":826,"title":{},"body":{"index.html":{}}}],["bytearray",{"_index":131,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["bytearray].map(value",{"_index":155,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["c",{"_index":1042,"title":{},"body":{"license.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":1139,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["callback",{"_index":1274,"title":{"additional-documentation/callback-after-login.html":{}},"body":{"additional-documentation/callback-after-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["called",{"_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":{},"interfaces/UserInfo.html":{},"additional-documentation/callback-after-login.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["calling",{"_index":995,"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":571,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["care",{"_index":1135,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["carefully",{"_index":272,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["carlier",{"_index":722,"title":{},"body":{"changelog.html":{}}}],["carry",{"_index":1553,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["case",{"_index":1003,"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":1197,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["catch",{"_index":1012,"title":{},"body":{"index.html":{}}}],["catch(err",{"_index":1222,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["catcherror",{"_index":191,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["catcherror(_",{"_index":234,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["change",{"_index":812,"title":{},"body":{"index.html":{}}}],["changelog",{"_index":651,"title":{"changelog.html":{}},"body":{"changelog.html":{}}}],["changes",{"_index":1392,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["charactes",{"_index":628,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["charge",{"_index":1047,"title":{},"body":{"license.html":{}}}],["check",{"_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":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["check_session_iframe",{"_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":{}}}],["checks",{"_index":683,"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":207,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["circular",{"_index":1260,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["cites",{"_index":1509,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["cjs",{"_index":1463,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["claim",{"_index":1091,"title":{},"body":{"license.html":{}}}],["claim_types_supported",{"_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":{}}}],["claims",{"_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/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims.given_name",{"_index":1484,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["claims_parameter_supported",{"_index":468,"title":{},"body":{"classes/LoginOptions.html":{},"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":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":{}}}],["claimsathash",{"_index":99,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractValidationHandler.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":{},"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":{},"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/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":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":{}}}],["cli",{"_index":1211,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cli.json",{"_index":1215,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["client",{"_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":{},"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":{}}}],["clientid",{"_index":944,"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":{}}}],["clientids",{"_index":910,"title":{},"body":{"index.html":{}}}],["code",{"_index":288,"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/session-checks.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["code_error",{"_index":502,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["codes",{"_index":1242,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["come",{"_index":1179,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["commands",{"_index":872,"title":{},"body":{"index.html":{}}}],["commonjs",{"_index":825,"title":{},"body":{"index.html":{}}}],["commonmodule",{"_index":545,"title":{},"body":{"modules/OAuthModule.html":{}}}],["communication",{"_index":1226,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["community",{"_index":807,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["compat",{"_index":765,"title":{},"body":{"dependencies.html":{}}}],["compatibility",{"_index":1574,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["compatible",{"_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":{}}}],["compensates",{"_index":1166,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["compodoc/compodoc",{"_index":873,"title":{},"body":{"index.html":{}}}],["component",{"_index":1415,"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":{}}}],["conditions",{"_index":1071,"title":{},"body":{"license.html":{}}}],["config",{"_index":542,"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":889,"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":{}}}],["configure",{"_index":932,"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":{}}}],["configured",{"_index":949,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["configuring",{"_index":1141,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["connect",{"_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":{},"index.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["connection",{"_index":1099,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":1449,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["console",{"_index":386,"title":{},"body":{"classes/LoginOptions.html":{},"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":1279,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["console.debug('given_name",{"_index":1532,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('ok",{"_index":1538,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["console.debug('refresh",{"_index":1220,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.debug('state",{"_index":1126,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["console.debug('your",{"_index":1403,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["console.debug(context",{"_index":1280,"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":1223,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["console.error(err",{"_index":298,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["console.error(event",{"_index":1323,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.log(e));or",{"_index":1315,"title":{},"body":{"additional-documentation/events.html":{}}}],["console.warn(event",{"_index":1324,"title":{},"body":{"additional-documentation/events.html":{}}}],["const",{"_index":139,"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":{}}}],["constructor",{"_index":169,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/JwksValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["constructor(authstorage",{"_index":170,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["constructor(private",{"_index":1416,"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":516,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["constructor(type",{"_index":490,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["contain",{"_index":852,"title":{},"body":{"index.html":{}}}],["contains",{"_index":1361,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["context",{"_index":1276,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["contract",{"_index":1096,"title":{},"body":{"license.html":{}}}],["contribute",{"_index":865,"title":{},"body":{"index.html":{}}}],["contributers",{"_index":720,"title":{},"body":{"changelog.html":{}}}],["contribution",{"_index":1282,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["contributions",{"_index":857,"title":{},"body":{"index.html":{}}}],["control",{"_index":1549,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["controls",{"_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":{}}}],["convenience",{"_index":972,"title":{},"body":{"index.html":{}}}],["cookie",{"_index":1174,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["cookies",{"_index":680,"title":{},"body":{"changelog.html":{}}}],["copied",{"_index":1208,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["copies",{"_index":1066,"title":{},"body":{"license.html":{}}}],["copy",{"_index":1050,"title":{},"body":{"license.html":{}}}],["copyright",{"_index":1041,"title":{},"body":{"license.html":{}}}],["core",{"_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":{},"index.html":{}}}],["cought",{"_index":1255,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["count",{"_index":1205,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["create",{"_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":{},"additional-documentation/popup-based-login.html":{}}}],["createdefaultlogger",{"_index":554,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["createdefaultstorage",{"_index":555,"title":{},"body":{"modules/OAuthModule.html":{},"miscellaneous/functions.html":{}}}],["creates",{"_index":1259,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["credentials",{"_index":1527,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["credits",{"_index":791,"title":{},"body":{"index.html":{}}}],["critical",{"_index":854,"title":{},"body":{"index.html":{}}}],["crypto",{"_index":136,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["current",{"_index":928,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["custom",{"_index":312,"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":{},"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":305,"title":{},"body":{"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":{}}}],["customize",{"_index":1539,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["customqueryparams",{"_index":1297,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["customredirecturi",{"_index":306,"title":{},"body":{"classes/LoginOptions.html":{},"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":578,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["cycle",{"_index":848,"title":{},"body":{"index.html":{}}}],["damages",{"_index":1092,"title":{},"body":{"license.html":{}}}],["daniel",{"_index":723,"title":{},"body":{"changelog.html":{}}}],["data",{"_index":144,"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":{}}}],["deal",{"_index":1054,"title":{},"body":{"license.html":{}}}],["dealings",{"_index":1100,"title":{},"body":{"license.html":{}}}],["debug",{"_index":523,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["debug(message",{"_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":{}}}],["debugging",{"_index":1311,"title":{},"body":{"additional-documentation/events.html":{}}}],["decide",{"_index":1375,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["declarations",{"_index":558,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"overview.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["decodekey",{"_index":631,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodekey(k",{"_index":635,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(hash",{"_index":608,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["decodeuricomponent(k",{"_index":647,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodeuricomponent(v",{"_index":648,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodevalue",{"_index":632,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["decodevalue(v",{"_index":638,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["default",{"_index":365,"title":{},"body":{"classes/LoginOptions.html":{},"modules/OAuthModule.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-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":1464,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["defaulthashhandler",{"_index":118,"title":{"injectables/DefaultHashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{}}}],["defaultoauthinterceptor",{"_index":164,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["defaults",{"_index":1182,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["define",{"_index":1212,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["defined",{"_index":30,"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":{},"classes/ReceivedTokens.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":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":{}}}],["deleted",{"_index":1385,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["demand",{"_index":856,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demands",{"_index":946,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["demo",{"_index":676,"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":{}}}],["demonstration",{"_index":1277,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["dependancy",{"_index":659,"title":{},"body":{"changelog.html":{}}}],["dependencies",{"_index":741,"title":{"dependencies.html":{}},"body":{"dependencies.html":{},"overview.html":{}}}],["dependency",{"_index":286,"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":975,"title":{},"body":{"index.html":{}}}],["deprecated",{"_index":359,"title":{},"body":{"classes/LoginOptions.html":{},"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":1458,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["described",{"_index":1161,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["describes",{"_index":1571,"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":1535,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["details",{"_index":689,"title":{},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/original-config-api.html":{}}}],["detects",{"_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":{}}}],["different",{"_index":1319,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["directed",{"_index":1566,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["directly",{"_index":991,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["directory",{"_index":1210,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["disable",{"_index":340,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["disabled",{"_index":1332,"title":{},"body":{"additional-documentation/events.html":{}}}],["disableoauth2statecheck",{"_index":307,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["disablepkci",{"_index":969,"title":{},"body":{"index.html":{}}}],["discovery",{"_index":439,"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":497,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["discovery_document_loaded",{"_index":494,"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":498,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["display",{"_index":986,"title":{},"body":{"index.html":{}}}],["display_values_supported",{"_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":{}}}],["displayed",{"_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":{}}}],["distribute",{"_index":1062,"title":{},"body":{"license.html":{}}}],["docs",{"_index":688,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["document",{"_index":440,"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/refreshing-a-token.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":804,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["documentation/implicit",{"_index":1022,"title":{},"body":{"index.html":{}}}],["documentation/refreshing",{"_index":1010,"title":{},"body":{"index.html":{}}}],["doesn't",{"_index":1430,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["doing",{"_index":351,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["domains",{"_index":1442,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["don't",{"_index":985,"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":1577,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["draft",{"_index":929,"title":{},"body":{"index.html":{}}}],["dummy",{"_index":249,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["dummyclientsecret",{"_index":956,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["during",{"_index":1331,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["dynamic",{"_index":749,"title":{},"body":{"dependencies.html":{}}}],["e",{"_index":150,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"changelog.html":{},"additional-documentation/using-password-flow.html":{}}}],["e.type",{"_index":231,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["e2599e0",{"_index":707,"title":{},"body":{"changelog.html":{}}}],["each",{"_index":851,"title":{},"body":{"index.html":{}}}],["ease",{"_index":888,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{}}}],["easier",{"_index":1164,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["easiest",{"_index":1262,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["edge",{"_index":1200,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["elements",{"_index":752,"title":{},"body":{"dependencies.html":{}}}],["email",{"_index":967,"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":{}}}],["enable",{"_index":1425,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["encodekey",{"_index":633,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodekey(k",{"_index":641,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encoder",{"_index":140,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"dependencies.html":{}}}],["encoder.encode(valuetohash",{"_index":145,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["encodeuricomponent(k",{"_index":645,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodeuricomponent(v",{"_index":646,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodevalue",{"_index":634,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encodevalue(v",{"_index":643,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["encounter",{"_index":1326,"title":{},"body":{"additional-documentation/events.html":{}}}],["end_session_endpoint",{"_index":449,"title":{},"body":{"classes/LoginOptions.html":{},"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":423,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["endpoints",{"_index":1434,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["endpont",{"_index":1520,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["ends",{"_index":1383,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["enforce",{"_index":952,"title":{},"body":{"index.html":{}}}],["enhancements",{"_index":863,"title":{},"body":{"index.html":{}}}],["ensure",{"_index":994,"title":{},"body":{"index.html":{}}}],["ensures",{"_index":1433,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["enter",{"_index":1490,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["enters",{"_index":880,"title":{},"body":{"index.html":{}}}],["enum",{"_index":1344,"title":{},"body":{"additional-documentation/events.html":{}}}],["environment",{"_index":821,"title":{},"body":{"index.html":{}}}],["err",{"_index":269,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"miscellaneous/variables.html":{}}}],["err));when",{"_index":1224,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["error",{"_index":200,"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":{},"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":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":{}}}],["errorhandler",{"_index":173,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["errors",{"_index":1239,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["escapedkey",{"_index":618,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["escapedvalue",{"_index":619,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["etc",{"_index":921,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["event",{"_index":1087,"title":{},"body":{"license.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["events",{"_index":361,"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":1345,"title":{},"body":{"additional-documentation/events.html":{}}}],["eventtype",{"_index":491,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["example",{"_index":1251,"title":{},"body":{"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":{}}}],["examples",{"_index":900,"title":{},"body":{"index.html":{}}}],["execute",{"_index":979,"title":{},"body":{"index.html":{}}}],["expected",{"_index":1333,"title":{},"body":{"additional-documentation/events.html":{}}}],["expired",{"_index":1536,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["expires",{"_index":886,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["expires_in",{"_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":{}}}],["explicit",{"_index":1568,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["explicitly",{"_index":1374,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["export",{"_index":72,"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":{},"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":{}}}],["exports",{"_index":559,"title":{},"body":{"modules/OAuthModule.html":{},"overview.html":{}}}],["express",{"_index":1078,"title":{},"body":{"license.html":{}}}],["extend",{"_index":1545,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["extends",{"_index":261,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["extensive",{"_index":1317,"title":{},"body":{"additional-documentation/events.html":{}}}],["fact",{"_index":1167,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["factor",{"_index":1149,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["factories",{"_index":556,"title":{},"body":{"modules/OAuthModule.html":{}}}],["factory",{"_index":1542,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["fail",{"_index":1446,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["fails",{"_index":1431,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"body":{}}],["fall",{"_index":1289,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["false",{"_index":228,"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/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["far",{"_index":1163,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["features",{"_index":656,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["feel",{"_index":858,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["fetch",{"_index":981,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["fetching",{"_index":1524,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["field",{"_index":50,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["file",{"_index":5,"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":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{}}}],["files",{"_index":1053,"title":{},"body":{"license.html":{}}}],["filter",{"_index":192,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["filter(e",{"_index":230,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["filter(token",{"_index":226,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["find",{"_index":1118,"title":{},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/original-config-api.html":{}}}],["fine",{"_index":1015,"title":{},"body":{"index.html":{}}}],["fired",{"_index":1143,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["first",{"_index":959,"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":1083,"title":{},"body":{"license.html":{}}}],["fixed",{"_index":693,"title":{},"body":{"changelog.html":{}}}],["fixes",{"_index":692,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["flight",{"_index":1473,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["flow",{"_index":280,"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/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":1023,"title":{},"body":{"index.html":{}}}],["flows",{"_index":322,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["folder",{"_index":867,"title":{},"body":{"index.html":{}}}],["followed",{"_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":{}}}],["following",{"_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":{},"index.html":{},"license.html":{},"additional-documentation/refreshing-a-token.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-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["follows",{"_index":1541,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["for(var",{"_index":1206,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["form",{"_index":984,"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":1462,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["former",{"_index":1366,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["forroot",{"_index":538,"title":{},"body":{"modules/OAuthModule.html":{}}}],["forroot(config",{"_index":539,"title":{},"body":{"modules/OAuthModule.html":{}}}],["found",{"_index":1269,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/server-side-rendering.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["foundation",{"_index":931,"title":{},"body":{"index.html":{}}}],["four",{"_index":960,"title":{},"body":{"index.html":{}}}],["fragment",{"_index":313,"title":{},"body":{"classes/LoginOptions.html":{},"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":859,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["full",{"_index":1343,"title":{},"body":{"additional-documentation/events.html":{}}}],["function",{"_index":352,"title":{},"body":{"classes/LoginOptions.html":{},"classes/OAuthResourceServerConfig.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["functions",{"_index":777,"title":{"miscellaneous/functions.html":{}},"body":{"miscellaneous/functions.html":{}}}],["furnished",{"_index":1069,"title":{},"body":{"license.html":{}}}],["further",{"_index":892,"title":{},"body":{"index.html":{}}}],["g",{"_index":703,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["geheim",{"_index":1513,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then",{"_index":1534,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["geheim').then((resp",{"_index":1529,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["general",{"_index":948,"title":{},"body":{"index.html":{}}}],["generate",{"_index":871,"title":{},"body":{"index.html":{}}}],["gethashfragmentparams",{"_index":601,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["gethashfragmentparams(customhashfragment",{"_index":603,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["getitem",{"_index":471,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["getitem(key",{"_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":{}}}],["getting",{"_index":649,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{},"additional-documentation/silent-refresh.html":{}}}],["give",{"_index":1227,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["go",{"_index":1201,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["gone",{"_index":1339,"title":{},"body":{"additional-documentation/events.html":{}}}],["google",{"_index":1439,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["grant_types_supported",{"_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":{}}}],["granted",{"_index":1046,"title":{},"body":{"license.html":{}}}],["graph",{"_index":1101,"title":{},"body":{"modules.html":{}}}],["great",{"_index":1281,"title":{},"body":{"additional-documentation/popup-based-login.html":{},"additional-documentation/server-side-rendering.html":{}}}],["guard",{"_index":1563,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["guards",{"_index":810,"title":{},"body":{"index.html":{}}}],["guide",{"_index":1119,"title":{},"body":{"additional-documentation/getting-started.html":{}}}],["half",{"_index":1155,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["hallo",{"_index":1486,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["handle(req",{"_index":222,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["handleerror",{"_index":580,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["handleerror(err",{"_index":581,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["handler",{"_index":201,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.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/variables.html":{}}}],["handler.ts:10",{"_index":583,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{}}}],["handler.ts:11",{"_index":483,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["handler.ts:14",{"_index":123,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:20",{"_index":624,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:25",{"_index":263,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["handler.ts:26",{"_index":130,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["handler.ts:27",{"_index":623,"title":{},"body":{"classes/ValidationHandler.html":{}}}],["handler.ts:34",{"_index":126,"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":589,"title":{},"body":{"classes/OAuthResourceServerErrorHandler.html":{}}}],["handler.ts:71",{"_index":47,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:8",{"_index":484,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["handler.ts:88",{"_index":31,"title":{},"body":{"classes/AbstractValidationHandler.html":{}}}],["handler.ts:9",{"_index":245,"title":{},"body":{"classes/HashHandler.html":{}}}],["handlers",{"_index":80,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["handling",{"_index":1237,"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":609,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(1",{"_index":613,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hash.substr(questionmarkposition",{"_index":612,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["hashalg",{"_index":85,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["hasharray",{"_index":142,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hashhandler",{"_index":138,"title":{"classes/HashHandler.html":{}},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{}}}],["hashing",{"_index":793,"title":{},"body":{"index.html":{}}}],["hashlocationstrategy",{"_index":824,"title":{},"body":{"index.html":{}}}],["hashstrategy",{"_index":1018,"title":{"additional-documentation/routing-with-the-hashstrategy.html":{}},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["hashstring",{"_index":147,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hasreceivedtokens",{"_index":1552,"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":242,"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":549,"title":{},"body":{"modules/OAuthModule.html":{}}}],["helper.service.ts",{"_index":600,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:25",{"_index":606,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.service.ts:5",{"_index":604,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["helper.ts",{"_index":780,"title":{},"body":{"miscellaneous/functions.html":{}}}],["hence",{"_index":875,"title":{},"body":{"index.html":{}}}],["here",{"_index":1248,"title":{},"body":{"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":{}}}],["here's",{"_index":1325,"title":{},"body":{"additional-documentation/events.html":{}}}],["hereby",{"_index":1045,"title":{},"body":{"license.html":{}}}],["hexcode",{"_index":156,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcode.padstart(2",{"_index":159,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes",{"_index":154,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexcodes.join",{"_index":161,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hexstring(buffer",{"_index":153,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["hidden",{"_index":1169,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["holders",{"_index":1089,"title":{},"body":{"license.html":{}}}],["home",{"_index":1278,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["homecomponent",{"_index":924,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["hook",{"_index":379,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["http",{"_index":1240,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["http://localhost:4200",{"_index":905,"title":{},"body":{"index.html":{}}}],["http://localhost:8080/#/home",{"_index":1362,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["http://openid.net/specs/openid",{"_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":{}}}],["http://www.angular.at/api",{"_index":1004,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["http_interceptors",{"_index":547,"title":{},"body":{"modules/OAuthModule.html":{}}}],["httpclientmodule",{"_index":920,"title":{},"body":{"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["httperrorresponse",{"_index":1266,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpevent",{"_index":186,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httphandler",{"_index":182,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptor",{"_index":187,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpinterceptors",{"_index":1234,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{}}],["httpmodule",{"_index":709,"title":{},"body":{"changelog.html":{}}}],["httpparametercodec",{"_index":630,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["httprequest",{"_index":180,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["httpresponse",{"_index":582,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["https://demo.identityserver.io",{"_index":937,"title":{},"body":{"index.html":{}}}],["https://github.com/jeroenheijmans/sample",{"_index":809,"title":{},"body":{"index.html":{}}}],["https://github.com/lankaapura/angular",{"_index":1412,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://github.com/manfredsteyer/angular",{"_index":803,"title":{},"body":{"index.html":{}}}],["https://manfredsteyer.github.io/angular",{"_index":805,"title":{},"body":{"index.html":{}}}],["https://medium.com/lankapura/angular",{"_index":1409,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["https://steyer",{"_index":1180,"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":1438,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["i=0",{"_index":1207,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["id",{"_index":416,"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":{},"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":{}}}],["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":{},"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":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":{}}}],["id_token_encryption_enc_values_supported",{"_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":{}}}],["id_token_signing_alg_values_supported",{"_index":461,"title":{},"body":{"classes/LoginOptions.html":{},"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":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":{}}}],["ideas",{"_index":862,"title":{},"body":{"index.html":{}}}],["identity",{"_index":794,"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/manually-skipping-login-form.html":{},"additional-documentation/original-config-api.html":{}}}],["identityserver",{"_index":830,"title":{},"body":{"index.html":{}}}],["idsvr",{"_index":674,"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":419,"title":{},"body":{"classes/LoginOptions.html":{},"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":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":{}}}],["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":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":{}}}],["ie",{"_index":694,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["iframe",{"_index":1170,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["iframes",{"_index":320,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["implcit",{"_index":1504,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["implemantion",{"_index":1253,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["implement",{"_index":1250,"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":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":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["implemented",{"_index":1378,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["implementing",{"_index":277,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["implements",{"_index":14,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"interceptors/DefaultOAuthInterceptor.html":{},"classes/HashHandler.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":279,"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/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":1079,"title":{},"body":{"license.html":{}}}],["import",{"_index":68,"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/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":{},"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":{}}}],["important",{"_index":961,"title":{},"body":{"index.html":{}}}],["imports",{"_index":557,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["included",{"_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":{},"license.html":{}}}],["includes",{"_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":{}}}],["including",{"_index":1057,"title":{},"body":{"license.html":{}}}],["index",{"_index":21,"title":{"index.html":{}},"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/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":{},"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":941,"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":621,"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":{},"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":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["info(message",{"_index":394,"title":{},"body":{"classes/LoginOptions.html":{},"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":1127,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["information",{"_index":1024,"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":1306,"title":{},"body":{"additional-documentation/events.html":{}}}],["inherited",{"_index":265,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["initial",{"_index":1349,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initialize",{"_index":970,"title":{},"body":{"index.html":{}}}],["initializes",{"_index":974,"title":{},"body":{"index.html":{}}}],["initialnavigation",{"_index":1357,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["initimplicitflow",{"_index":1122,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/using-implicit-flow.html":{}}}],["initloginflow",{"_index":973,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["initloginflowinpopup",{"_index":1285,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["inject",{"_index":1265,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injectable",{"_index":117,"title":{"injectables/DefaultHashHandler.html":{},"injectables/MemoryStorage.html":{},"injectables/UrlHelperService.html":{}},"body":{"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":{},"interfaces/TokenResponse.html":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["injectables",{"_index":119,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"injectables/MemoryStorage.html":{},"injectables/UrlHelperService.html":{},"overview.html":{}}}],["injecting",{"_index":1258,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["injection",{"_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":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["injectiontoken('auth_config",{"_index":1117,"title":{},"body":{"miscellaneous/variables.html":{}}}],["install",{"_index":281,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["installing",{"_index":918,"title":{},"body":{"index.html":{}}}],["instance",{"_index":1152,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["instanceof",{"_index":1322,"title":{},"body":{"additional-documentation/events.html":{}}}],["instead",{"_index":315,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":1468,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["interaction",{"_index":1176,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["intercept",{"_index":168,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["intercept(req",{"_index":179,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["intercepted",{"_index":572,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["interceptor",{"_index":163,"title":{"interceptors/DefaultOAuthInterceptor.html":{}},"body":{"index.html":{}}}],["interceptors",{"_index":165,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["interceptors/default",{"_index":552,"title":{},"body":{"modules/OAuthModule.html":{}}}],["interceptors/resource",{"_index":551,"title":{},"body":{"modules/OAuthModule.html":{}}}],["interesting",{"_index":1550,"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":594,"title":{},"body":{"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{},"interfaces/ValidationParams.html":{},"overview.html":{}}}],["internally",{"_index":337,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["invalid_nonce_in_state",{"_index":496,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["ionic",{"_index":1037,"title":{},"body":{"index.html":{}}}],["isn't",{"_index":478,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/using-password-flow.html":{}}}],["isresponse(str",{"_index":1204,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["issuer",{"_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":{},"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":{}}}],["issues",{"_index":678,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["issuing",{"_index":1168,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["java",{"_index":800,"title":{},"body":{"index.html":{}}}],["jeroenheijmans",{"_index":735,"title":{},"body":{"changelog.html":{}}}],["jie",{"_index":725,"title":{},"body":{"changelog.html":{}}}],["job",{"_index":737,"title":{},"body":{"changelog.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["js",{"_index":134,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"dependencies.html":{},"additional-documentation/using-systemjs.html":{}}}],["jsrasign",{"_index":792,"title":{},"body":{"index.html":{}}}],["jsrsasign",{"_index":658,"title":{},"body":{"changelog.html":{},"dependencies.html":{},"additional-documentation/using-systemjs.html":{}}}],["jwks",{"_index":78,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/JwksValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/events.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["jwks';instead",{"_index":817,"title":{},"body":{"index.html":{}}}],["jwks_load_error",{"_index":495,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["jwks_uri",{"_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":{}}}],["jwksvalidationhandler",{"_index":246,"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":1371,"title":{},"body":{"additional-documentation/adapt-id_token-validation.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":637,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["keep",{"_index":1189,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["kevin",{"_index":1453,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["key",{"_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":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{}}}],["keycloak",{"_index":798,"title":{},"body":{"index.html":{}}}],["keys",{"_index":1367,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["kicks",{"_index":1501,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["kind",{"_index":1077,"title":{},"body":{"license.html":{}}}],["known",{"_index":1165,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["known/openid",{"_index":1516,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["labat",{"_index":733,"title":{},"body":{"changelog.html":{}}}],["labels",{"_index":864,"title":{},"body":{"index.html":{}}}],["laing",{"_index":731,"title":{},"body":{"changelog.html":{}}}],["later",{"_index":1368,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["leads",{"_index":1261,"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":{}}}],["legend",{"_index":1104,"title":{},"body":{"overview.html":{}}}],["levels",{"_index":1320,"title":{},"body":{"additional-documentation/events.html":{}}}],["leveraging",{"_index":1346,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["liability",{"_index":1093,"title":{},"body":{"license.html":{}}}],["liable",{"_index":1090,"title":{},"body":{"license.html":{}}}],["lib",{"_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/callback-after-login.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{}}}],["library",{"_index":255,"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":{}}}],["library's",{"_index":1447,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["license",{"_index":1040,"title":{"license.html":{}},"body":{}}],["life",{"_index":1146,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["lifetime",{"_index":1397,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["limitation",{"_index":1058,"title":{},"body":{"license.html":{},"additional-documentation/refreshing-a-token.html":{}}}],["limited",{"_index":1080,"title":{},"body":{"license.html":{}}}],["lin",{"_index":726,"title":{},"body":{"changelog.html":{}}}],["line",{"_index":1214,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["list",{"_index":1133,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/events.html":{}}}],["listed",{"_index":1247,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["lite",{"_index":768,"title":{},"body":{"dependencies.html":{}}}],["load",{"_index":1514,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["loaddiscoverydocumentandlogin",{"_index":1547,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["loaddiscoverydocumentandtrylogin",{"_index":1548,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["loaded",{"_index":1190,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["loading",{"_index":1530,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["loadkeys",{"_index":79,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["loaduserprofile",{"_index":1335,"title":{},"body":{"additional-documentation/events.html":{}}}],["local",{"_index":1384,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["localhost:[4200",{"_index":913,"title":{},"body":{"index.html":{}}}],["localstorage",{"_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/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["location.origin",{"_index":1195,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["location.search",{"_index":1194,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["locationstrategy",{"_index":1347,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["log",{"_index":524,"title":{},"body":{"classes/OAuthLogger.html":{},"additional-documentation/events.html":{}}}],["log(message",{"_index":395,"title":{},"body":{"classes/LoginOptions.html":{},"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":1173,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["loggin",{"_index":1521,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["logging",{"_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":{},"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["login",{"_index":938,"title":{"additional-documentation/callback-after-login.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/manually-skipping-login-form.html":{}},"body":{"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":{}}}],["loginoptions",{"_index":299,"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":1481,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["logout",{"_index":513,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.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":{}}}],["logs",{"_index":1318,"title":{},"body":{"additional-documentation/events.html":{}}}],["long",{"_index":1342,"title":{},"body":{"additional-documentation/events.html":{}}}],["longer",{"_index":1316,"title":{},"body":{"additional-documentation/events.html":{}}}],["look",{"_index":1007,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["lookup",{"_index":1021,"title":{},"body":{"index.html":{}}}],["lower",{"_index":1002,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["main",{"_index":1191,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/using-systemjs.html":{}}}],["maintain",{"_index":1448,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["major",{"_index":850,"title":{},"body":{"index.html":{}}}],["make",{"_index":17,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-password-flow.html":{}}}],["making",{"_index":1296,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["management",{"_index":1379,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["manfred",{"_index":727,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["manner",{"_index":324,"title":{},"body":{"classes/LoginOptions.html":{},"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":1358,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"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":193,"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":236,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mark",{"_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":{},"interfaces/UserInfo.html":{}}}],["matching",{"_index":115,"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":{},"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/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":{}}}],["max/geheim",{"_index":907,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["mccloghry",{"_index":730,"title":{},"body":{"changelog.html":{}}}],["mean",{"_index":1286,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["means",{"_index":1154,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/session-checks.html":{}}}],["meanwhile",{"_index":1469,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["memorystorage",{"_index":410,"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":1130,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/original-config-api.html":{}}}],["merchantability",{"_index":1082,"title":{},"body":{"license.html":{}}}],["merge",{"_index":189,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"license.html":{}}}],["mergemap",{"_index":195,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["mergemap(token",{"_index":240,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["message",{"_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":{}}}],["meta",{"_index":1457,"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/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":{},"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/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{}}}],["mind",{"_index":951,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["minutes",{"_index":1033,"title":{},"body":{"index.html":{}}}],["miscellaneous",{"_index":776,"title":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}},"body":{"miscellaneous/functions.html":{},"miscellaneous/typealiases.html":{},"miscellaneous/variables.html":{}}}],["missing",{"_index":708,"title":{},"body":{"changelog.html":{}}}],["moderating",{"_index":738,"title":{},"body":{"changelog.html":{}}}],["modern",{"_index":898,"title":{},"body":{"index.html":{}}}],["modify",{"_index":1060,"title":{},"body":{"license.html":{}}}],["module",{"_index":532,"title":{"modules/OAuthModule.html":{}},"body":{"overview.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["module.config",{"_index":203,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["module.config.ts",{"_index":566,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:11",{"_index":586,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:12",{"_index":588,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:13",{"_index":587,"title":{},"body":{"classes/OAuthResourceServerConfig.html":{}}}],["module.config.ts:2",{"_index":569,"title":{},"body":{"classes/OAuthModuleConfig.html":{}}}],["moduleconfig",{"_index":175,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["modules",{"_index":534,"title":{"modules.html":{}},"body":{"modules/OAuthModule.html":{},"modules.html":{}}}],["modulewithproviders",{"_index":543,"title":{},"body":{"modules/OAuthModule.html":{}}}],["moment",{"_index":1399,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["moos",{"_index":724,"title":{},"body":{"changelog.html":{}}}],["more",{"_index":1005,"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":254,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["msec",{"_index":1230,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["much",{"_index":844,"title":{},"body":{"index.html":{}}}],["multi",{"_index":564,"title":{},"body":{"modules/OAuthModule.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":{}}}],["namely",{"_index":256,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["navigation",{"_index":1350,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["need",{"_index":276,"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":287,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["needs",{"_index":1394,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["net",{"_index":831,"title":{},"body":{"index.html":{}}}],["net/.net",{"_index":796,"title":{},"body":{"index.html":{}}}],["new",{"_index":109,"title":{},"body":{"classes/AbstractValidationHandler.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":{},"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":842,"title":{},"body":{"index.html":{}}}],["newest",{"_index":1393,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["next",{"_index":181,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req",{"_index":219,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["next.handle(req).catch(err",{"_index":1273,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ngmodule",{"_index":544,"title":{},"body":{"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["ngx",{"_index":761,"title":{},"body":{"dependencies.html":{}}}],["ngzone",{"_index":714,"title":{},"body":{"changelog.html":{}}}],["node_modules/jsrsasign/lib/jsrsasign",{"_index":1465,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["nonce",{"_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":{},"additional-documentation/events.html":{}}}],["noninfringement",{"_index":1086,"title":{},"body":{"license.html":{}}}],["normally",{"_index":367,"title":{},"body":{"classes/LoginOptions.html":{},"injectables/MemoryStorage.html":{},"classes/OAuthLogger.html":{},"classes/OAuthStorage.html":{},"interfaces/OidcDiscoveryDoc.html":{},"interfaces/ParsedIdToken.html":{},"classes/ReceivedTokens.html":{},"interfaces/TokenResponse.html":{},"interfaces/UserInfo.html":{}}}],["note",{"_index":285,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/refreshing-a-token.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-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["notes",{"_index":1159,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["nothing",{"_index":480,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["notice",{"_index":1072,"title":{},"body":{"license.html":{}}}],["notification",{"_index":1376,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notifications",{"_index":1390,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["notified",{"_index":1400,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["now",{"_index":685,"title":{},"body":{"changelog.html":{}}}],["nowadays",{"_index":289,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/original-config-api.html":{}}}],["npm",{"_index":282,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["null",{"_index":268,"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":262,"title":{"classes/NullValidationHandler.html":{}},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["nullvalidationhandler:11",{"_index":266,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["nullvalidationhandler:8",{"_index":267,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["number",{"_index":129,"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":{},"interfaces/UserInfo.html":{}}}],["oauth",{"_index":202,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oauth.interceptor",{"_index":553,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oauth.interceptor.ts",{"_index":167,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:24",{"_index":177,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth.interceptor.ts:46",{"_index":183,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["oauth2",{"_index":258,"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/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["oauth2/oidc",{"_index":278,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{},"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["oautherrorevent",{"_index":487,"title":{"classes/OAuthErrorEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"additional-documentation/events.html":{}}}],["oauthevent",{"_index":489,"title":{"classes/OAuthEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthinfoevent",{"_index":520,"title":{"classes/OAuthInfoEvent.html":{}},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["oauthlogger",{"_index":391,"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":533,"title":{"modules/OAuthModule.html":{}},"body":{"modules/OAuthModule.html":{},"index.html":{},"modules.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmodule.forroot",{"_index":922,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthmoduleconfig",{"_index":176,"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":550,"title":{"classes/OAuthNoopResourceServerErrorHandler.html":{}},"body":{"modules/OAuthModule.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["oauthresourceserverconfig",{"_index":568,"title":{"classes/OAuthResourceServerConfig.html":{}},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["oauthresourceservererrorhandler",{"_index":174,"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":172,"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/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":171,"title":{"classes/OAuthStorage.html":{},"additional-documentation/configure-custom-oauthstorage.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":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["oauthsuccessevent",{"_index":517,"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":185,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["obtaining",{"_index":1049,"title":{},"body":{"license.html":{}}}],["occur",{"_index":1310,"title":{},"body":{"additional-documentation/events.html":{}}}],["of(null",{"_index":235,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["of(this.oauthservice.getaccesstoken()).pipe",{"_index":225,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["offline_access",{"_index":962,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/using-password-flow.html":{}}}],["oidc",{"_index":259,"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":{}}}],["oidc';please",{"_index":818,"title":{},"body":{"index.html":{}}}],["oidc.module.ts",{"_index":536,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.module.ts:29",{"_index":541,"title":{},"body":{"modules/OAuthModule.html":{}}}],["oidc.umd.js",{"_index":1461,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["oidc/docs",{"_index":806,"title":{},"body":{"index.html":{}}}],["oidc/docs/additional",{"_index":1009,"title":{},"body":{"index.html":{}}}],["oidcdiscoverydoc",{"_index":441,"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":1221,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["okta",{"_index":1031,"title":{},"body":{"index.html":{}}}],["older",{"_index":835,"title":{},"body":{"index.html":{},"additional-documentation/original-config-api.html":{}}}],["one",{"_index":253,"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/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":1029,"title":{},"body":{"index.html":{}}}],["onloginerror",{"_index":308,"title":{},"body":{"classes/LoginOptions.html":{},"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":309,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["opener",{"_index":1293,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["openid",{"_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":{},"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":{}}}],["option",{"_index":1381,"title":{},"body":{"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":{},"miscellaneous/functions.html":{},"additional-documentation/preserving-state-(like-the-requested-url).html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["optionalparams",{"_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":{}}}],["options",{"_index":302,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["original",{"_index":1128,"title":{"additional-documentation/original-config-api.html":{}},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["originally",{"_index":1467,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["otherparam",{"_index":1304,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["otherwise",{"_index":1016,"title":{},"body":{"index.html":{},"license.html":{}}}],["out",{"_index":895,"title":{},"body":{"index.html":{},"license.html":{},"overview.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["output",{"_index":1209,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["outside",{"_index":713,"title":{},"body":{"changelog.html":{}}}],["over",{"_index":1147,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-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":1103,"title":{"overview.html":{}},"body":{"overview.html":{}}}],["owner",{"_index":1505,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["package",{"_index":740,"title":{"dependencies.html":{}},"body":{}}],["packages",{"_index":1365,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["paddedhexcode",{"_index":158,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["page",{"_index":292,"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/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":{}},"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":{}}}],["pair",{"_index":616,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["pairs",{"_index":615,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["param",{"_index":104,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["parameter",{"_index":1298,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.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":{},"miscellaneous/functions.html":{},"additional-documentation/custom-query-parameters.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":{},"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":{}}}],["parse",{"_index":1429,"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":418,"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":602,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["parsequerystring(querystring",{"_index":605,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["particular",{"_index":1084,"title":{},"body":{"license.html":{}}}],["pass",{"_index":319,"title":{},"body":{"classes/LoginOptions.html":{},"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/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":{}}}],["passes",{"_index":1254,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["passing",{"_index":702,"title":{},"body":{"changelog.html":{}}}],["password",{"_index":879,"title":{"additional-documentation/using-password-flow.html":{}},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["passwords",{"_index":629,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["path",{"_index":1014,"title":{},"body":{"index.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pathlocationstrategy",{"_index":823,"title":{},"body":{"index.html":{}}}],["perform",{"_index":1217,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["performs",{"_index":1348,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/session-checks.html":{}}}],["permission",{"_index":1044,"title":{},"body":{"license.html":{}}}],["permissions",{"_index":957,"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":1067,"title":{},"body":{"license.html":{}}}],["person",{"_index":1048,"title":{},"body":{"license.html":{}}}],["persons",{"_index":1068,"title":{},"body":{"license.html":{}}}],["perspective",{"_index":1491,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["phil",{"_index":729,"title":{},"body":{"changelog.html":{}}}],["pingone",{"_index":1441,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["pipe",{"_index":238,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pipe(catcherror(err",{"_index":223,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["pkce",{"_index":874,"title":{},"body":{"index.html":{}}}],["plan",{"_index":849,"title":{},"body":{"index.html":{}}}],["please",{"_index":270,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/getting-started.html":{},"additional-documentation/refreshing-a-token.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-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["pls",{"_index":686,"title":{},"body":{"changelog.html":{}}}],["popup",{"_index":321,"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":{},"additional-documentation/popup-based-login.html":{}}}],["popup_blocked",{"_index":515,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["popup_closed",{"_index":514,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["portions",{"_index":1075,"title":{},"body":{"license.html":{}}}],["possible",{"_index":1499,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["post",{"_index":1407,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["ppanthony",{"_index":1459,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["practice",{"_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":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["practices",{"_index":953,"title":{},"body":{"index.html":{}}}],["prefixes",{"_index":1000,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["prepared",{"_index":788,"title":{},"body":{"index.html":{}}}],["present",{"_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":{}}}],["preserving",{"_index":1120,"title":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["prevent",{"_index":677,"title":{},"body":{"changelog.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["preventclearhashafterlogin",{"_index":310,"title":{},"body":{"classes/LoginOptions.html":{},"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":1225,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["previously",{"_index":1560,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["private",{"_index":206,"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":{}}}],["profile",{"_index":966,"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":{}}}],["progressing",{"_index":1564,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["project's",{"_index":1414,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["projects/.../base64",{"_index":779,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../events.ts",{"_index":1111,"title":{},"body":{"miscellaneous/typealiases.html":{}}}],["projects/.../factories.ts",{"_index":781,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/.../jwks",{"_index":1115,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/.../tokens.ts",{"_index":1114,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/angular",{"_index":535,"title":{},"body":{"modules/OAuthModule.html":{}}}],["projects/lib/src/base64",{"_index":782,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/encoder.ts",{"_index":626,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:10",{"_index":644,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:14",{"_index":636,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:18",{"_index":639,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/encoder.ts:6",{"_index":642,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["projects/lib/src/events.ts",{"_index":488,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["projects/lib/src/events.ts:26",{"_index":521,"title":{},"body":{"classes/OAuthEvent.html":{}}}],["projects/lib/src/events.ts:30",{"_index":593,"title":{},"body":{"classes/OAuthSuccessEvent.html":{}}}],["projects/lib/src/events.ts:36",{"_index":522,"title":{},"body":{"classes/OAuthInfoEvent.html":{}}}],["projects/lib/src/events.ts:42",{"_index":493,"title":{},"body":{"classes/OAuthErrorEvent.html":{}}}],["projects/lib/src/factories.ts",{"_index":786,"title":{},"body":{"miscellaneous/functions.html":{}}}],["projects/lib/src/interceptors/default",{"_index":166,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["projects/lib/src/interceptors/resource",{"_index":579,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["projects/lib/src/oauth",{"_index":565,"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/variables.html":{}}}],["projects/lib/src/tokens.ts",{"_index":1116,"title":{},"body":{"miscellaneous/variables.html":{}}}],["projects/lib/src/types.ts",{"_index":300,"title":{},"body":{"classes/LoginOptions.html":{},"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:102",{"_index":475,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:106",{"_index":476,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/types.ts:116",{"_index":597,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:117",{"_index":595,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:118",{"_index":596,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:119",{"_index":598,"title":{},"body":{"classes/ReceivedTokens.html":{}}}],["projects/lib/src/types.ts:13",{"_index":362,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:153",{"_index":622,"title":{},"body":{"interfaces/UserInfo.html":{}}}],["projects/lib/src/types.ts:20",{"_index":378,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:28",{"_index":353,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:40",{"_index":311,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:50",{"_index":339,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:58",{"_index":366,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:65",{"_index":333,"title":{},"body":{"classes/LoginOptions.html":{}}}],["projects/lib/src/types.ts:75",{"_index":526,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:76",{"_index":529,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:77",{"_index":530,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:78",{"_index":531,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:79",{"_index":528,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["projects/lib/src/types.ts:89",{"_index":590,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:90",{"_index":591,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:91",{"_index":592,"title":{},"body":{"classes/OAuthStorage.html":{}}}],["projects/lib/src/types.ts:98",{"_index":474,"title":{},"body":{"injectables/MemoryStorage.html":{}}}],["projects/lib/src/url",{"_index":599,"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":1567,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve",{"_index":1554,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["promise.resolve(null",{"_index":485,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["promise.resolve(true",{"_index":486,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["properties",{"_index":304,"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":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":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-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":1131,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["protected",{"_index":23,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["provding",{"_index":1249,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["provide",{"_index":387,"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":{}}}],["provided",{"_index":808,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["provider",{"_index":878,"title":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}},"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/configure-custom-oauthstorage.html":{},"additional-documentation/original-config-api.html":{}}}],["providers",{"_index":560,"title":{},"body":{"modules/OAuthModule.html":{},"overview.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":1264,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-password-flow.html":{}}}],["providing",{"_index":1525,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["prs",{"_index":853,"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":1061,"title":{},"body":{"license.html":{}}}],["published",{"_index":1327,"title":{},"body":{"additional-documentation/events.html":{}}}],["publishes",{"_index":1308,"title":{},"body":{"additional-documentation/events.html":{}}}],["pull",{"_index":860,"title":{},"body":{"index.html":{}}}],["purpose",{"_index":1085,"title":{},"body":{"license.html":{},"additional-documentation/callback-after-login.html":{}}}],["put",{"_index":1245,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["pwa",{"_index":1035,"title":{},"body":{"index.html":{}}}],["query",{"_index":376,"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":887,"title":{},"body":{"index.html":{}}}],["querystring",{"_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":{},"injectables/UrlHelperService.html":{},"interfaces/UserInfo.html":{},"changelog.html":{}}}],["querystring.split",{"_index":620,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["question",{"_index":329,"title":{},"body":{"classes/LoginOptions.html":{},"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":610,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["quite",{"_index":1502,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["read",{"_index":271,"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":1351,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["readme",{"_index":978,"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":{}}}],["readonly",{"_index":518,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["real",{"_index":252,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["reason",{"_index":492,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["receive",{"_index":1372,"title":{},"body":{"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":381,"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":1557,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["receiving",{"_index":1579,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["recommended",{"_index":819,"title":{},"body":{"index.html":{}}}],["recommented",{"_index":290,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["redhat",{"_index":799,"title":{},"body":{"index.html":{}}}],["redhat's",{"_index":832,"title":{},"body":{"index.html":{}}}],["redirect",{"_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":{},"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":877,"title":{},"body":{"index.html":{}}}],["redirecting",{"_index":896,"title":{},"body":{"index.html":{}}}],["redirects",{"_index":992,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["redirecturi",{"_index":939,"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":{}}}],["redirecturis",{"_index":912,"title":{},"body":{"index.html":{}}}],["refresh",{"_index":338,"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":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{},"additional-documentation/using-password-flow.html":{}}}],["refresh.html",{"_index":917,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["refresh.html\";please",{"_index":1188,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["refresh_token",{"_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":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["refresh_tokens",{"_index":1136,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["refreshed",{"_index":1340,"title":{},"body":{"additional-documentation/events.html":{}}}],["refreshes",{"_index":318,"title":{},"body":{"classes/LoginOptions.html":{},"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":882,"title":{"additional-documentation/refreshing-a-token.html":{}},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/using-password-flow.html":{}}}],["regarding",{"_index":890,"title":{},"body":{"index.html":{},"additional-documentation/using-systemjs.html":{}}}],["regards",{"_index":813,"title":{},"body":{"index.html":{}}}],["regfesh.html",{"_index":1287,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["register",{"_index":1388,"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":943,"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":574,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["registration_endpoint",{"_index":451,"title":{},"body":{"classes/LoginOptions.html":{},"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":1238,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/original-config-api.html":{}}}],["relations",{"_index":1496,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["release",{"_index":847,"title":{},"body":{"index.html":{}}}],["remove",{"_index":657,"title":{},"body":{"changelog.html":{}}}],["removeitem",{"_index":472,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["removeitem(key",{"_index":408,"title":{},"body":{"classes/LoginOptions.html":{},"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":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":{}}}],["rendering",{"_index":1405,"title":{"additional-documentation/server-side-rendering.html":{}},"body":{"additional-documentation/server-side-rendering.html":{}}}],["represents",{"_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":{}}}],["req",{"_index":184,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.clone",{"_index":244,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers",{"_index":1271,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["req.headers.set('authorization",{"_index":243,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["req.url.tolowercase",{"_index":215,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["request",{"_index":958,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.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":{}}}],["request_object_signing_alg_values_supported",{"_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":{}}}],["requested",{"_index":1121,"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":861,"title":{},"body":{"index.html":{}}}],["require','jsrsasign",{"_index":1466,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["requirements",{"_index":1134,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["reset",{"_index":1106,"title":{},"body":{"overview.html":{}}}],["resolve",{"_index":1565,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolve(true",{"_index":1570,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["resolves",{"_index":1336,"title":{},"body":{"additional-documentation/events.html":{}}}],["resource",{"_index":198,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/using-password-flow.html":{}}}],["resources",{"_index":801,"title":{},"body":{"index.html":{}}}],["resourceserver",{"_index":567,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["resourceservererrorhandler",{"_index":573,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{}}}],["respect",{"_index":1137,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["respective",{"_index":1001,"title":{},"body":{"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["respond",{"_index":1175,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["response",{"_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/silent-refresh.html":{}}}],["response_modes_supported",{"_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":{}}}],["response_types_supported",{"_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":{}}}],["responsetype",{"_index":934,"title":{},"body":{"index.html":{}}}],["restriction",{"_index":1056,"title":{},"body":{"license.html":{}}}],["result",{"_index":114,"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":{},"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/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":{}}}],["results",{"_index":116,"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":{},"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/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":{}}}],["retrieved",{"_index":1329,"title":{},"body":{"additional-documentation/events.html":{}}}],["retrieving",{"_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":{}}}],["return",{"_index":103,"title":{},"body":{"classes/AbstractValidationHandler.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":{},"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":{}}}],["returns",{"_index":43,"title":{},"body":{"classes/AbstractValidationHandler.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/UrlHelperService.html":{},"classes/ValidationHandler.html":{},"classes/WebHttpUrlEncodingCodec.html":{},"miscellaneous/functions.html":{},"additional-documentation/using-password-flow.html":{}}}],["rights",{"_index":1059,"title":{},"body":{"license.html":{}}}],["risk",{"_index":482,"title":{},"body":{"classes/NullValidationHandler.html":{}}}],["robin",{"_index":732,"title":{},"body":{"changelog.html":{}}}],["root",{"_index":1353,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["route",{"_index":1013,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["router",{"_index":822,"title":{},"body":{"index.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routermodule.forroot(app_routes",{"_index":1355,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routes",{"_index":1352,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["routing",{"_index":698,"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":711,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["runs",{"_index":904,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["rxjs",{"_index":190,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{},"dependencies.html":{}}}],["rxjs/add/operator/catch",{"_index":1268,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/observable",{"_index":1267,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["rxjs/operators",{"_index":197,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["safe",{"_index":876,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["sake",{"_index":1572,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["same",{"_index":323,"title":{},"body":{"classes/LoginOptions.html":{},"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":673,"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":283,"title":{},"body":{"classes/JwksValidationHandler.html":{},"changelog.html":{},"miscellaneous/variables.html":{}}}],["saveafter",{"_index":816,"title":{},"body":{"index.html":{}}}],["saved",{"_index":1330,"title":{},"body":{"additional-documentation/events.html":{}}}],["saveimporting",{"_index":919,"title":{},"body":{"index.html":{}}}],["scenario",{"_index":1581,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["scope",{"_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":{},"index.html":{},"additional-documentation/refreshing-a-token.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":{}}}],["scopes_supported",{"_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":{}}}],["search",{"_index":1199,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["seconds",{"_index":1232,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["secret",{"_index":947,"title":{},"body":{"index.html":{},"additional-documentation/using-password-flow.html":{}}}],["section",{"_index":1017,"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":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":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/popup-based-login.html":{}}}],["see",{"_index":687,"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":{}}}],["selector",{"_index":1472,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["sell",{"_index":1065,"title":{},"body":{"license.html":{}}}],["semantic",{"_index":762,"title":{},"body":{"dependencies.html":{}}}],["send",{"_index":575,"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":220,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["sends",{"_index":1387,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sense",{"_index":1510,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["separatorindex",{"_index":617,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["server",{"_index":199,"title":{"additional-documentation/server-side-rendering.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":{},"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":{}}}],["server's",{"_index":897,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity",{"_index":1181,"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":1515,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/authorize",{"_index":1418,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/endsession",{"_index":1427,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["server.azurewebsites.net/identity/connect/token",{"_index":1519,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.azurewebsites.net/identity/connect/userinfo",{"_index":1523,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["server.code",{"_index":945,"title":{},"body":{"index.html":{}}}],["servers",{"_index":1027,"title":{},"body":{"index.html":{}}}],["service",{"_index":205,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["service_documentation",{"_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":{}}}],["session",{"_index":682,"title":{"additional-documentation/session-checks.html":{}},"body":{"changelog.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["session's",{"_index":1396,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["session_changed",{"_index":510,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["session_error",{"_index":511,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["session_state",{"_index":700,"title":{},"body":{"changelog.html":{}}}],["session_terminated",{"_index":512,"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":1402,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sessionchecksenabled",{"_index":1391,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["sessionstorage",{"_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":{},"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":325,"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":{}}}],["set('authorization",{"_index":1272,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["setitem",{"_index":473,"title":{},"body":{"injectables/MemoryStorage.html":{},"classes/OAuthStorage.html":{}}}],["setitem(key",{"_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":{}}}],["sets",{"_index":1292,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["setstorage",{"_index":1422,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["setting",{"_index":670,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["settings",{"_index":1295,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["setup",{"_index":1008,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["several",{"_index":1437,"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":{}}}],["sha256",{"_index":133,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"dependencies.html":{}}}],["sha256(accesstoken",{"_index":90,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["sha256.array(valuetohash",{"_index":146,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["shaking",{"_index":815,"title":{},"body":{"index.html":{}}}],["shall",{"_index":1073,"title":{},"body":{"license.html":{}}}],["share",{"_index":1435,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["sharing",{"_index":1460,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["ship",{"_index":1497,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["short",{"_index":1312,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-password-flow.html":{}}}],["showdebuginformation",{"_index":968,"title":{},"body":{"index.html":{}}}],["shown",{"_index":977,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.html":{}}}],["shows",{"_index":1252,"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":{}}}],["side",{"_index":402,"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":894,"title":{},"body":{"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":1377,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["silent",{"_index":317,"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":505,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["silent_refresh_timeout",{"_index":507,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silently_refreshed",{"_index":506,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["silentrefresh",{"_index":1218,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["silentrefreshredirecturi",{"_index":1178,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/session-checks.html":{}}}],["silentrefreshtimeout",{"_index":1229,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["similar",{"_index":1503,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["simple",{"_index":398,"title":{},"body":{"classes/LoginOptions.html":{},"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":291,"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":679,"title":{},"body":{"changelog.html":{},"index.html":{}}}],["size",{"_index":845,"title":{},"body":{"index.html":{}}}],["sizes",{"_index":296,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["skip",{"_index":481,"title":{},"body":{"classes/NullValidationHandler.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/using-password-flow.html":{}}}],["skipping",{"_index":1546,"title":{"additional-documentation/manually-skipping-login-form.html":{}},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["skips",{"_index":1369,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["smaller",{"_index":294,"title":{},"body":{"classes/JwksValidationHandler.html":{},"index.html":{},"miscellaneous/variables.html":{}}}],["snippet",{"_index":1313,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["software",{"_index":1051,"title":{},"body":{"license.html":{}}}],["solution",{"_index":933,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["something",{"_index":1556,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["somevalue",{"_index":1305,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["source",{"_index":4,"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":{},"index.html":{}}}],["sources",{"_index":802,"title":{},"body":{"index.html":{}}}],["spa",{"_index":911,"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":942,"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":950,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{}}}],["spec",{"_index":1334,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["specific",{"_index":965,"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":1445,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["specifies",{"_index":1132,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["specs",{"_index":891,"title":{},"body":{"index.html":{}}}],["src",{"_index":866,"title":{},"body":{"index.html":{}}}],["standard",{"_index":1129,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/using-password-flow.html":{}}}],["start",{"_index":1451,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["started",{"_index":650,"title":{"changelog.html":{},"index.html":{},"license.html":{},"additional-documentation/getting-started.html":{}},"body":{"additional-documentation/getting-started.html":{}}}],["starting",{"_index":1300,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["starts",{"_index":1470,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["startup",{"_index":1500,"title":{},"body":{"additional-documentation/using-password-flow.html":{},"additional-documentation/original-config-api.html":{}}}],["state",{"_index":341,"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":537,"title":{},"body":{"modules/OAuthModule.html":{}}}],["status",{"_index":1241,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["steyer",{"_index":728,"title":{},"body":{"changelog.html":{},"license.html":{}}}],["still",{"_index":1172,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["stopautomaticrefresh",{"_index":665,"title":{},"body":{"changelog.html":{}}}],["stops",{"_index":666,"title":{},"body":{"changelog.html":{}}}],["storage",{"_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":{},"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":1544,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["stored",{"_index":1337,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["storing",{"_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":{}}}],["str",{"_index":784,"title":{},"body":{"miscellaneous/functions.html":{},"additional-documentation/silent-refresh.html":{}}}],["strategy",{"_index":1160,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["stream",{"_index":1309,"title":{},"body":{"additional-documentation/events.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["strict",{"_index":1580,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["strictdiscoverydocumentvalidation",{"_index":1432,"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":151,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["strong",{"_index":1494,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["sub",{"_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":{}}}],["subject",{"_index":1070,"title":{},"body":{"license.html":{}}}],["subject_types_supported",{"_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":{}}}],["sublicense",{"_index":1063,"title":{},"body":{"license.html":{}}}],["substantial",{"_index":1074,"title":{},"body":{"license.html":{}}}],["succeeded",{"_index":1124,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["successful",{"_index":1275,"title":{},"body":{"additional-documentation/callback-after-login.html":{}}}],["successfully",{"_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":{},"index.html":{},"additional-documentation/events.html":{}}}],["such",{"_index":955,"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":1196,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["suited",{"_index":1493,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["summary.json",{"_index":870,"title":{},"body":{"index.html":{}}}],["super",{"_index":297,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["super(type",{"_index":519,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{}}}],["support",{"_index":787,"title":{},"body":{"index.html":{},"additional-documentation/session-checks.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":926,"title":{},"body":{"index.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/session-checks.html":{}}}],["sure",{"_index":868,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["switching",{"_index":999,"title":{},"body":{"index.html":{}}}],["symbol",{"_index":326,"title":{},"body":{"classes/LoginOptions.html":{},"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":1456,"title":{},"body":{"additional-documentation/using-systemjs.html":{}}}],["systemjs",{"_index":1452,"title":{"additional-documentation/using-systemjs.html":{}},"body":{"additional-documentation/using-systemjs.html":{}}}],["take",{"_index":194,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/refreshing-a-token.html":{}}}],["take(1",{"_index":239,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["takes",{"_index":1198,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/events.html":{}}}],["targeting",{"_index":1288,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["task",{"_index":998,"title":{},"body":{"index.html":{},"additional-documentation/silent-refresh.html":{}}}],["tasks",{"_index":1307,"title":{},"body":{"additional-documentation/events.html":{}}}],["telling",{"_index":250,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["tells",{"_index":987,"title":{},"body":{"index.html":{}}}],["template",{"_index":1485,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["templateurl",{"_index":1474,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["tenant",{"_index":1302,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["terminated",{"_index":1404,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["tested",{"_index":820,"title":{},"body":{"index.html":{}}}],["testen",{"_index":1489,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["testing",{"_index":795,"title":{},"body":{"index.html":{}}}],["text",{"_index":767,"title":{},"body":{"dependencies.html":{}}}],["textencoder",{"_index":141,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["thanks",{"_index":718,"title":{},"body":{"changelog.html":{},"additional-documentation/popup-based-login.html":{},"additional-documentation/using-systemjs.html":{}}}],["that's",{"_index":1511,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["then(info",{"_index":1219,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["things",{"_index":1284,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["third",{"_index":1158,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["this.authservice.events.subscribe(event",{"_index":1321,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.authstorage.getitem('access_token",{"_index":1270,"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":218,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.configure",{"_index":1476,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.data.delete(key",{"_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":{}}}],["this.data.get(key",{"_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":{}}}],["this.data.set(key",{"_index":413,"title":{},"body":{"classes/LoginOptions.html":{},"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.errorhandler.handleerror(err",{"_index":224,"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":216,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver",{"_index":217,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls",{"_index":211,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.allowedurls.find(u",{"_index":212,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation",{"_index":209,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.customurlvalidation(url",{"_index":210,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.moduleconfig.resourceserver.sendaccesstoken",{"_index":221,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["this.oauthservice",{"_index":1551,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.clientid",{"_index":1420,"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.configure(authcodeflowconfig",{"_index":982,"title":{},"body":{"index.html":{}}}],["this.oauthservice.configure(authconfig",{"_index":1477,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.customqueryparams",{"_index":1301,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["this.oauthservice.dummyclientsecret",{"_index":1512,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.events(filter(e",{"_index":1558,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.events.pipe",{"_index":229,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.events.pipe(filter(e",{"_index":1401,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["this.oauthservice.events.subscribe(e",{"_index":1314,"title":{},"body":{"additional-documentation/events.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflow('max",{"_index":1528,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.fetchtokenusingpasswordflowandloaduserprofile('max",{"_index":1533,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.getaccesstoken",{"_index":237,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["this.oauthservice.getidentityclaims",{"_index":1483,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.hasvalidaccesstoken",{"_index":1561,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.hasvalididtoken",{"_index":1562,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initcodeflow();there",{"_index":971,"title":{},"body":{"index.html":{}}}],["this.oauthservice.initimplicitflow('http://www.myurl.com/x/y/z');after",{"_index":1123,"title":{},"body":{"additional-documentation/preserving-state-(like-the-requested-url).html":{}}}],["this.oauthservice.initloginflow",{"_index":1480,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["this.oauthservice.initloginflow();also",{"_index":976,"title":{},"body":{"index.html":{}}}],["this.oauthservice.issuer",{"_index":1575,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument().then",{"_index":1576,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.loaddiscoverydocument(url).then",{"_index":1517,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandlogin",{"_index":988,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin",{"_index":989,"title":{},"body":{"index.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.loaddiscoverydocumentandtrylogin();skipping",{"_index":983,"title":{},"body":{"index.html":{}}}],["this.oauthservice.loaduserprofile",{"_index":1531,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.loginurl",{"_index":1417,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.logout",{"_index":1482,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.logouturl",{"_index":1426,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{}}}],["this.oauthservice.redirecturi",{"_index":1419,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["this.oauthservice.refresh();automatically",{"_index":1140,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["this.oauthservice.refreshtoken().then",{"_index":1537,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.scope",{"_index":1421,"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":1424,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.setupautomaticsilentrefresh();by",{"_index":1142,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["this.oauthservice.silentrefreshredirecturi",{"_index":1187,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["this.oauthservice.tokenendpoint",{"_index":1518,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.oauthservice.tokenvalidationhandler",{"_index":1370,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{},"additional-documentation/using-implicit-flow.html":{}}}],["this.oauthservice.trylogin",{"_index":1125,"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":1359,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.oauthservice.userinfoendpoint",{"_index":1522,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["this.parsequerystring(hash",{"_index":614,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["this.router.navigate",{"_index":1360,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["this.tohashstring(hasharray",{"_index":148,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.tohashstring2(hasharray",{"_index":149,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["this.window.addeventlistener('unload",{"_index":1569,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["those",{"_index":1138,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{}}}],["three",{"_index":1183,"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":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":{},"additional-documentation/working-with-httpinterceptors.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["throw",{"_index":108,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["throwerror",{"_index":584,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["throwerror(err",{"_index":585,"title":{},"body":{"classes/OAuthNoopResourceServerErrorHandler.html":{},"classes/OAuthResourceServerErrorHandler.html":{}}}],["time",{"_index":884,"title":{},"body":{"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["timeout",{"_index":196,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/silent-refresh.html":{}}}],["timeout(this.oauthservice.waitfortokeninmsec",{"_index":233,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{}}}],["timeoutfactor",{"_index":1150,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["timer",{"_index":1338,"title":{},"body":{"additional-documentation/events.html":{}}}],["timers",{"_index":667,"title":{},"body":{"changelog.html":{}}}],["timespan",{"_index":1228,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["together",{"_index":1408,"title":{},"body":{"additional-documentation/server-side-rendering.html":{}}}],["tohashstring",{"_index":121,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["tohashstring(buffer",{"_index":124,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["tohashstring(hexstring",{"_index":162,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["tohashstring2",{"_index":122,"title":{},"body":{"injectables/DefaultHashHandler.html":{}}}],["tohashstring2(bytearray",{"_index":128,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["token",{"_index":227,"title":{"additional-documentation/refreshing-a-token.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":{},"index.html":{},"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-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":{}}}],["token's",{"_index":1145,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-refresh.html":{}}}],["token(s",{"_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/events.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["token.html",{"_index":1011,"title":{},"body":{"index.html":{}}}],["token_endpoint",{"_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":{}}}],["token_endpoint_auth_methods_supported",{"_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":{}}}],["token_endpoint_auth_signing_alg_values_supported",{"_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":{}}}],["token_error",{"_index":501,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_expires",{"_index":509,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_received",{"_index":232,"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":1559,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["token_refresh_error",{"_index":504,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_refreshed",{"_index":503,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["token_type",{"_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":{}}}],["token_validation_error",{"_index":508,"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":428,"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":{}}}],["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":{},"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":712,"title":{},"body":{"changelog.html":{}}}],["tokenvalidationhandler",{"_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":{}}}],["tokenvalidator",{"_index":1364,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["tort",{"_index":1097,"title":{},"body":{"license.html":{}}}],["transmit",{"_index":1507,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["transmitted",{"_index":1299,"title":{},"body":{"additional-documentation/custom-query-parameters.html":{}}}],["transmitting",{"_index":1236,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["tree",{"_index":814,"title":{},"body":{"index.html":{}}}],["tries",{"_index":1428,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["triggers",{"_index":1157,"title":{},"body":{"additional-documentation/refreshing-a-token.html":{},"additional-documentation/silent-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":{}}}],["trust",{"_index":1495,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["try",{"_index":841,"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":303,"title":{},"body":{"classes/LoginOptions.html":{},"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":{}}}],["ts",{"_index":1423,"title":{},"body":{"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["tsickle",{"_index":770,"title":{},"body":{"dependencies.html":{}}}],["tslib",{"_index":772,"title":{},"body":{"dependencies.html":{}}}],["turn",{"_index":1450,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{},"additional-documentation/original-config-api.html":{}}}],["tutorial",{"_index":1026,"title":{},"body":{"index.html":{}}}],["tutorials",{"_index":1025,"title":{},"body":{"index.html":{}}}],["two",{"_index":1283,"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":{},"miscellaneous/typealiases.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/using-password-flow.html":{}}}],["typealiases",{"_index":1109,"title":{"miscellaneous/typealiases.html":{}},"body":{}}],["types",{"_index":204,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"modules/OAuthModule.html":{}}}],["typo",{"_index":716,"title":{},"body":{"changelog.html":{}}}],["ui_locales_supported",{"_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":{},"interfaces/UserInfo.html":{}}}],["uint8array(buffer",{"_index":152,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["under",{"_index":1294,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["unfortunately",{"_index":1398,"title":{},"body":{"additional-documentation/session-checks.html":{}}}],["up",{"_index":990,"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":789,"title":{},"body":{"index.html":{}}}],["update",{"_index":869,"title":{},"body":{"index.html":{}}}],["upgrade",{"_index":661,"title":{},"body":{"changelog.html":{}}}],["uri",{"_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/silent-refresh.html":{},"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["url",{"_index":214,"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":213,"title":{},"body":{"interceptors/DefaultOAuthInterceptor.html":{},"additional-documentation/working-with-httpinterceptors.html":{}}}],["url?x=1",{"_index":704,"title":{},"body":{"changelog.html":{}}}],["urlhelperservice",{"_index":548,"title":{"injectables/UrlHelperService.html":{}},"body":{"modules/OAuthModule.html":{},"injectables/UrlHelperService.html":{}}}],["urls",{"_index":570,"title":{},"body":{"classes/OAuthModuleConfig.html":{},"classes/OAuthResourceServerConfig.html":{},"index.html":{},"additional-documentation/working-with-httpinterceptors.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":{}}}],["usecase",{"_index":964,"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":562,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/adapt-id_token-validation.html":{}}}],["used",{"_index":314,"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":561,"title":{},"body":{"modules/OAuthModule.html":{},"additional-documentation/configure-custom-oauthstorage.html":{}}}],["usehash",{"_index":1356,"title":{},"body":{"additional-documentation/routing-with-the-hashstrategy.html":{}}}],["user",{"_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/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":1526,"title":{},"body":{"additional-documentation/using-password-flow.html":{}}}],["user_profile_load_error",{"_index":500,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{}}}],["user_profile_loaded",{"_index":499,"title":{},"body":{"classes/OAuthErrorEvent.html":{},"classes/OAuthEvent.html":{},"classes/OAuthInfoEvent.html":{},"classes/OAuthSuccessEvent.html":{},"miscellaneous/typealiases.html":{},"additional-documentation/events.html":{}}}],["userinfo",{"_index":435,"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":{},"index.html":{}}}],["userinfo_encryption_alg_values_supported",{"_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":{}}}],["userinfo_encryption_enc_values_supported",{"_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":{}}}],["userinfo_endpoint",{"_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":{}}}],["userinfo_signing_alg_values_supported",{"_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":{}}}],["username/password",{"_index":906,"title":{},"body":{"index.html":{}}}],["username/passwort",{"_index":1487,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["users",{"_index":251,"title":{},"body":{"classes/JwksValidationHandler.html":{},"additional-documentation/server-side-rendering.html":{}}}],["uses",{"_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":{},"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":671,"title":{},"body":{"changelog.html":{},"additional-documentation/silent-refresh.html":{}}}],["usevalue",{"_index":563,"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":{}},"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/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":{}}}],["utils",{"_index":260,"title":{},"body":{"classes/JwksValidationHandler.html":{}}}],["v",{"_index":640,"title":{},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["valid",{"_index":993,"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":264,"title":{},"body":{"classes/JwksValidationHandler.html":{},"classes/NullValidationHandler.html":{},"classes/ValidationHandler.html":{}}}],["validated",{"_index":364,"title":{},"body":{"classes/LoginOptions.html":{},"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":479,"title":{},"body":{"classes/NullValidationHandler.html":{},"index.html":{}}}],["validation",{"_index":248,"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":{},"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":120,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"modules/OAuthModule.html":{}}}],["validation/jwks",{"_index":247,"title":{},"body":{"classes/JwksValidationHandler.html":{},"miscellaneous/variables.html":{}}}],["validation/null",{"_index":477,"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":540,"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":893,"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/original-config-api.html":{}}}],["value.tostring(16",{"_index":157,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["values",{"_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":{}}}],["valuetohash",{"_index":42,"title":{},"body":{"classes/AbstractValidationHandler.html":{},"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{},"classes/ValidationHandler.html":{},"interfaces/ValidationParams.html":{}}}],["var",{"_index":1203,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["variables",{"_index":1112,"title":{"miscellaneous/variables.html":{}},"body":{"miscellaneous/variables.html":{}}}],["various",{"_index":1443,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["vdveer",{"_index":734,"title":{},"body":{"changelog.html":{}}}],["versatility",{"_index":1006,"title":{},"body":{"index.html":{}}}],["version",{"_index":274,"title":{},"body":{"classes/JwksValidationHandler.html":{},"dependencies.html":{},"index.html":{},"miscellaneous/variables.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/events.html":{},"additional-documentation/session-checks.html":{}}}],["versions",{"_index":834,"title":{},"body":{"index.html":{}}}],["via",{"_index":827,"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":954,"title":{},"body":{"index.html":{}}}],["void",{"_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":{}}}],["voucher",{"_index":1185,"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":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":{},"index.html":{},"additional-documentation/using-password-flow.html":{},"additional-documentation/configure-custom-oauthstorage.html":{},"additional-documentation/manually-skipping-login-form.html":{}}}],["warn",{"_index":525,"title":{},"body":{"classes/OAuthLogger.html":{}}}],["warn(message",{"_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":{}}}],["warning",{"_index":1373,"title":{},"body":{"additional-documentation/adapt-id_token-validation.html":{}}}],["warranties",{"_index":1081,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":1076,"title":{},"body":{"license.html":{}}}],["way",{"_index":1263,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["we've",{"_index":829,"title":{},"body":{"index.html":{}}}],["web",{"_index":902,"title":{},"body":{"index.html":{},"additional-documentation/configure-library-for-implicit-flow-without-discovery-document.html":{},"additional-documentation/original-config-api.html":{}}}],["webcomponents/custom",{"_index":751,"title":{},"body":{"dependencies.html":{}}}],["webhttpurlencodingcodec",{"_index":625,"title":{"classes/WebHttpUrlEncodingCodec.html":{}},"body":{"classes/WebHttpUrlEncodingCodec.html":{}}}],["webpack",{"_index":828,"title":{},"body":{"index.html":{}}}],["well",{"_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":{},"index.html":{},"additional-documentation/silent-refresh.html":{},"additional-documentation/callback-after-login.html":{}}}],["when/some",{"_index":883,"title":{},"body":{"index.html":{}}}],["whenever",{"_index":1328,"title":{},"body":{"additional-documentation/events.html":{}}}],["whether",{"_index":1094,"title":{},"body":{"license.html":{}}}],["white",{"_index":1246,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["window.crypto.subtle.digest(algorithm",{"_index":143,"title":{},"body":{"injectables/DefaultHashHandler.html":{},"classes/HashHandler.html":{}}}],["window.location.hash",{"_index":607,"title":{},"body":{"injectables/UrlHelperService.html":{}}}],["window.location.origin",{"_index":940,"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":{}}}],["window.opener",{"_index":1192,"title":{},"body":{"additional-documentation/silent-refresh.html":{},"additional-documentation/popup-based-login.html":{}}}],["window.parent",{"_index":1291,"title":{},"body":{"additional-documentation/popup-based-login.html":{}}}],["window.parent).postmessage(location.hash",{"_index":1193,"title":{},"body":{"additional-documentation/silent-refresh.html":{}}}],["wish",{"_index":1555,"title":{},"body":{"additional-documentation/manually-skipping-login-form.html":{}}}],["within",{"_index":1162,"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":1055,"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":684,"title":{},"body":{"changelog.html":{},"index.html":{},"additional-documentation/popup-based-login.html":{}}}],["working",{"_index":1233,"title":{"additional-documentation/working-with-httpinterceptors.html":{}},"body":{}}],["works",{"_index":1540,"title":{},"body":{"additional-documentation/configure-custom-oauthstorage.html":{}}}],["workshops",{"_index":1038,"title":{},"body":{"index.html":{}}}],["write",{"_index":1257,"title":{},"body":{"additional-documentation/working-with-httpinterceptors.html":{}}}],["ws02",{"_index":1440,"title":{},"body":{"additional-documentation/using-an-id-provider-that-fails-discovery-document-validation.html":{}}}],["yes",{"_index":527,"title":{},"body":{"classes/OAuthLogger.html":{},"injectables/UrlHelperService.html":{}}}],["you've",{"_index":1478,"title":{},"body":{"additional-documentation/using-implicit-flow.html":{}}}],["yourself",{"_index":1578,"title":{},"body":{"additional-documentation/original-config-api.html":{}}}],["zone.js",{"_index":774,"title":{},"body":{"dependencies.html":{}}}],["zoom",{"_index":1105,"title":{},"body":{"overview.html":{}}}],["zum",{"_index":1488,"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                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                        \n                            Protected\n                            Abstract\n                            calcHash\n                        \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                        \n                            Protected\n                            inferHashAlgorithm\n                        \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                        \n                            Async\n                            validateAtHash\n                        \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                        \n                            Abstract\n                            validateSignature\n                        \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"},"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    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                        \n                            Async\n                            calcHash\n                        \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: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                                    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                            toHashString\n                        \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:34\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                        \n                            toHashString2\n                        \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:26\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 { sha256 } from 'js-sha256';\n\n/**\n * Abstraction for crypto algorithms\n */\nexport abstract class HashHandler {\n  abstract calcHash(valueToHash: string, algorithm: string): Promise;\n}\n\n@Injectable()\nexport class DefaultHashHandler implements HashHandler {\n  async calcHash(valueToHash: string, algorithm: string): Promise {\n    // const encoder = new TextEncoder();\n    // const hashArray = await window.crypto.subtle.digest(algorithm, data);\n    // const data = encoder.encode(valueToHash);\n\n    const hashArray = sha256.array(valueToHash);\n    // const hashString = this.toHashString(hashArray);\n    const hashString = this.toHashString2(hashArray);\n\n    return hashString;\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    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(authStorage: OAuthStorage, oAuthService: OAuthService, errorHandler: OAuthResourceServerErrorHandler, moduleConfig: OAuthModuleConfig)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/interceptors/default-oauth.interceptor.ts:24\n                            \n                        \n\n                \n                    \n                            \n                                    Parameters :\n                                    \n                                        \n                                            \n                                                Name\n                                                    Type\n                                                Optional\n                                            \n                                        \n                                        \n                                                \n                                                        authStorage\n                                                  \n                                                        \n                                                                        OAuthStorage\n                                                        \n                                                  \n                                                    \n                                                            No\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                        \n                            Public\n                            intercept\n                        \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:46\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 { OAuthStorage } from '../types';\nimport { OAuthService } from '../oauth-service';\n\n@Injectable()\nexport class DefaultOAuthInterceptor implements HttpInterceptor {\n  constructor(\n    private authStorage: OAuthStorage,\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.startsWith(u)\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(\n        filter(token => (token ? true : false))\n      ),\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                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                        \n                            Abstract\n                            calcHash\n                        \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:9\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 { sha256 } from 'js-sha256';\n\n/**\n * Abstraction for crypto algorithms\n */\nexport abstract class HashHandler {\n  abstract calcHash(valueToHash: string, algorithm: string): Promise;\n}\n\n@Injectable()\nexport class DefaultHashHandler implements HashHandler {\n  async calcHash(valueToHash: string, algorithm: string): Promise {\n    // const encoder = new TextEncoder();\n    // const hashArray = await window.crypto.subtle.digest(algorithm, data);\n    // const data = encoder.encode(valueToHash);\n\n    const hashArray = sha256.array(valueToHash);\n    // const hashString = this.toHashString(hashArray);\n    const hashString = this.toHashString2(hashArray);\n\n    return hashString;\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                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                        \n                            validateAtHash\n                        \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                        \n                            validateSignature\n                        \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                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                                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                            \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                            \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:65\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                            \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                            \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                            \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                            \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:58\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                            \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   * 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}\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    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                        \n                            getItem\n                        \n                        \n                    \n                \n            \n            \n                \ngetItem(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\n\n                    \n                    \n                        \n                    \n                \n            \n        \n    \n    \n        \n            \n                \n                    \n                    \n                        \n                            removeItem\n                        \n                        \n                    \n                \n            \n            \n                \nremoveItem(key: string)\n                \n            \n\n\n            \n                \n                    Defined in projects/lib/src/types.ts:102\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                        \n                            setItem\n                        \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:106\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   * 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}\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                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                        \n                            validateAtHash\n                        \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                        \n                            validateSignature\n                        \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                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:42\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  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked';\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    Constructor\n        \n            \n                \n                    \nconstructor(type: EventType)\n                    \n                \n                        \n                            \n                                Defined in projects/lib/src/events.ts:26\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  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked';\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                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:36\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  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked';\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                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                        \n                            Abstract\n                            debug\n                        \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:75\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                            Abstract\n                            error\n                        \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:79\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                            Abstract\n                            info\n                        \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:76\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                            Abstract\n                            log\n                        \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:77\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                            Abstract\n                            warn\n                        \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:78\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   * 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}\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        Methods\n    \n    \n        \n            \n                \n                    \n                    \n                        \n                            Static\n                            forRoot\n                        \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:29\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 { 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      ]\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    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                            \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                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                        \n                            handleError\n                        \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: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                                    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  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    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                            \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                            \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                            \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    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                        \n                            Abstract\n                            handleError\n                        \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  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                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                        \n                            Abstract\n                            getItem\n                        \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:89\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                        \n                            Abstract\n                            removeItem\n                        \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:90\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                        \n                            Abstract\n                            setItem\n                        \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:91\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   * 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}\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                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:30\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  | 'logout'\n  | 'popup_closed'\n  | 'popup_blocked';\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  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                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                                        acr_values_supported\n                                \n                                \n                                        authorization_endpoint\n                                \n                                \n                                        check_session_iframe\n                                \n                                \n                                        claim_types_supported\n                                \n                                \n                                        claims_parameter_supported\n                                \n                                \n                                        claims_supported\n                                \n                                \n                                        display_values_supported\n                                \n                                \n                                        end_session_endpoint\n                                \n                                \n                                        grant_types_supported\n                                \n                                \n                                        id_token_encryption_alg_values_supported\n                                \n                                \n                                        id_token_encryption_enc_values_supported\n                                \n                                \n                                        id_token_signing_alg_values_supported\n                                \n                                \n                                        issuer\n                                \n                                \n                                        jwks_uri\n                                \n                                \n                                        registration_endpoint\n                                \n                                \n                                        request_object_signing_alg_values_supported\n                                \n                                \n                                        response_modes_supported\n                                \n                                \n                                        response_types_supported\n                                \n                                \n                                        scopes_supported\n                                \n                                \n                                        service_documentation\n                                \n                                \n                                        subject_types_supported\n                                \n                                \n                                        token_endpoint\n                                \n                                \n                                        token_endpoint_auth_methods_supported\n                                \n                                \n                                        token_endpoint_auth_signing_alg_values_supported\n                                \n                                \n                                        ui_locales_supported\n                                \n                                \n                                        userinfo_encryption_alg_values_supported\n                                \n                                \n                                        userinfo_encryption_enc_values_supported\n                                \n                                \n                                        userinfo_endpoint\n                                \n                                \n                                        userinfo_signing_alg_values_supported\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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        scopes_supported\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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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                                        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   * 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}\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  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                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                                        idToken\n                                \n                                \n                                        idTokenClaims\n                                \n                                \n                                        idTokenClaimsJson\n                                \n                                \n                                        idTokenExpiresAt\n                                \n                                \n                                        idTokenHeader\n                                \n                                \n                                        idTokenHeaderJson\n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        idToken\n                                    \n                                \n                                \n                                    \n                                        idToken:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaims\n                                    \n                                \n                                \n                                    \n                                        idTokenClaims:         object\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         object\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaimsJson\n                                    \n                                \n                                \n                                    \n                                        idTokenClaimsJson:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenExpiresAt\n                                    \n                                \n                                \n                                    \n                                        idTokenExpiresAt:         number\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         number\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeader\n                                    \n                                \n                                \n                                    \n                                        idTokenHeader:         object\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         object\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeaderJson\n                                    \n                                \n                                \n                                    \n                                        idTokenHeaderJson:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \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   * 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}\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                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                            \n                            accessToken\n                            \n                        \n                    \n                \n                    \n                        \n                            Type :         string\n\n                        \n                    \n                        \n                            \n                                    Defined in projects/lib/src/types.ts:117\n                            \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:118\n                            \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:116\n                            \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:119\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   * 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}\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  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                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                                        access_token\n                                \n                                \n                                        expires_in\n                                \n                                \n                                        id_token\n                                \n                                \n                                        refresh_token\n                                \n                                \n                                        scope\n                                \n                                \n                                            Optional\n                                        state\n                                \n                                \n                                        token_type\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                                        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                                        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                                        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                                        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                                        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                                        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                                        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   * 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}\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    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                        \n                            Public\n                            getHashFragmentParams\n                        \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                        \n                            Public\n                            parseQueryString\n                        \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  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                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                                        sub\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:153\n                            \n                        \n            \n        \n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        sub\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   * 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}\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                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                        \n                            Public\n                            Abstract\n                            validateAtHash\n                        \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                        \n                            Public\n                            Abstract\n                            validateSignature\n                        \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  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            Index\n            \n                \n                    \n                        \n                            Properties\n                        \n                    \n                    \n                        \n                            \n                                \n                                        accessToken\n                                \n                                \n                                        idToken\n                                \n                                \n                                        idTokenClaims\n                                \n                                \n                                        idTokenHeader\n                                \n                                \n                                        jwks\n                                \n                                \n                                        loadKeys\n                                \n                            \n                        \n                    \n                \n            \n        \n\n\n\n            \n                Properties\n                    \n                        \n                                \n                                    \n                                        \n                                        accessToken\n                                    \n                                \n                                \n                                    \n                                        accessToken:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idToken\n                                    \n                                \n                                \n                                    \n                                        idToken:         string\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         string\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenClaims\n                                    \n                                \n                                \n                                    \n                                        idTokenClaims:         object\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         object\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        idTokenHeader\n                                    \n                                \n                                \n                                    \n                                        idTokenHeader:         object\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         object\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        jwks\n                                    \n                                \n                                \n                                    \n                                        jwks:         object\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         object\n\n                                        \n                                    \n\n\n\n\n\n                        \n                    \n                    \n                        \n                                \n                                    \n                                        \n                                        loadKeys\n                                    \n                                \n                                \n                                    \n                                        loadKeys:         function\n\n                                    \n                                \n\n\n                                    \n                                        \n                                            Type :         function\n\n                                        \n                                    \n\n\n\n\n\n                        \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                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                        \n                            decodeKey\n                        \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                        \n                            decodeValue\n                        \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                        \n                            encodeKey\n                        \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                        \n                            encodeValue\n                        \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\nChangelog\n9.1.0 (2020-03-23)\nFeatures\n\nremove jsrsasign dependancy (77cb37a)\nUpgrade to angular 8 (31c6273)\nautomatic silent refresh: stopAutomaticRefresh stops all timers. (8ab853b)\ncode-flow: allow using implicit flow by setting useSilentRefresh to true (93902a5)\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)\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\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 : 9.0.7\n        \n            @angular/common : 9.0.7\n        \n            @angular/compiler : 9.0.7\n        \n            @angular/core : 9.0.7\n        \n            @angular/elements : 9.0.7\n        \n            @angular/forms : 9.0.7\n        \n            @angular/platform-browser : 9.0.7\n        \n            @angular/platform-browser-dynamic : 9.0.7\n        \n            @angular/router : 9.0.7\n        \n            @webcomponents/custom-elements : ^1.2.4\n        \n            angular-oauth2-oidc : ^9.0.1\n        \n            angular-oauth2-oidc-jwks : ^9.0.0\n        \n            base64-js : ^1.3.0\n        \n            bootstrap : ^3.3.7\n        \n            js-sha256 : ^0.9.0\n        \n            jsrsasign : ^8.0.12\n        \n            ngx-semantic-version : ^1.2.1\n        \n            rxjs : 6.5.4\n        \n            rxjs-compat : ^6.5.2\n        \n            text-encoder-lite : ^1.0.1\n        \n            tsickle : ^0.38.1\n        \n            tslib : ^1.11.1\n        \n            zone.js : ^0.10.2\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                \n            \n        \n    \n\n\n    projects/lib/src/base64-helper.ts\n    \n        \n        \n            \n                \n                    \n                    \n                        \n                            b64DecodeUnicode\n                        \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                        \n                            base64UrlEncode\n                        \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                        \n                            createDefaultLogger\n                        \n                        \n                    \n                \n            \n            \n                \ncreateDefaultLogger()\n                \n            \n\n\n\n\n        \n    \n    \n        \n            \n                \n                    \n                    \n                        \n                            createDefaultStorage\n                        \n                        \n                    \n                \n            \n            \n                \ncreateDefaultStorage()\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\njsrasign for validating token signature and for hashing\nIdentity Server for testing with an .NET/.NET Core Backend\nKeycloak (Redhat) for testing with Java\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\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.\nTested Environment\nSuccessfully tested with Angular 9 and its Router, PathLocationStrategy as well as HashLocationStrategy and CommonJS-Bundling via webpack. At server side we've used IdentityServer (.NET / .NET Core) and Redhat's Keycloak (Java).\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\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://demo.identityserver.io',\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\n    // Not recommented:\n    // disablePKCI: 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();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/implicit-flow.html\nMore Documentation (!)\nSee the documentation for more information about this library.\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\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\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\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                    4 Injectables\n                \n            \n        \n        \n            \n                \n                    \n                    19 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\" | \"logout\" | \"popup_closed\" | \"popup_blocked\"\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                \n            \n        \n    \n\n\n    projects/lib/src/tokens.ts\n    \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                            \n                            err\n                            \n                        \n                    \n                \n                    \n                        \n                            Default value : `PLEASE READ THIS CAREFULLY:\n\nBeginning with angular-oauth2-oidc version 9, the JwksValidationHandler\nhas been moved to an library of its own. If you need it for implementing\nOAuth2/OIDC **implicit flow**, please install it using npm:\n\n  npm i angular-oauth2-oidc-jwks --save\n\nAfter that, you can import it into your application:\n\n  import { JwksValidationHandler } from 'angular-oauth2-oidc-jwks';\n\nPlease note, that this dependency is not needed for the **code flow**,\nwhich is nowadays the **recommented** one for single page applications.\nThis also results in smaller bundle sizes.\n`\n                        \n                    \n\n\n            \n        \n\n\n\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/getting-started.html":{"url":"additional-documentation/getting-started.html","title":"additional-page - Getting Started","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nGetting Started\nPlease find the Getting Started Guide in the README above.\n\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/preserving-state-(like-the-requested-url).html":{"url":"additional-documentation/preserving-state-(like-the-requested-url).html","title":"additional-page - Preserving State (like the Requested URL)","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nPreserving State (like the Requested URL)\nWhen calling initImplicitFlow, you can pass an optional state which could be the requested url:\nthis.oauthService.initImplicitFlow('http://www.myurl.com/x/y/z');After login succeeded, you can read this state:\nthis.oauthService.tryLogin({\n    onTokenReceived: (info) => {\n        console.debug('state', info.state);\n    }\n})\n                   \n    \n         result-matching \"\"\n        \n    \n    \n        No results matching \"\"\n    \n\n"},"additional-documentation/refreshing-a-token.html":{"url":"additional-documentation/refreshing-a-token.html","title":"additional-page - Refreshing a Token","body":"\n                   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n                   \n\n\n\n\nRefreshing a Token using Code Flow (not Implicit Flow!)\nWhen using code flow, you can get an refresh_token. While the original standard DOES NOT allow this for SPAs, the mentioned OAuth 2.0 Security Best Current Practice document proposes to ease this limitation. However, it specifies a list of requirements one should take care about before using refresh_tokens. Please make sure you respect those requirements.\nPlease also note, that you have to request the offline_access scope to get an refresh token.\nTo refresh your token, just call the refresh method:\nthis.oauthService.refresh();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                var count = 0;\n                if (!str) return false;\n                for(var i=0; i\n    \nPlease make sure that this file is copied to your output directory by your build task. When using the CLI you can define it as an asset for this. For this, you have to add the following line to the file .angular-cli.json:\n\"assets\": [\n    [...],\n    \"silent-refresh.html\"\n],To perform a silent refresh, just call the following method:\nthis\n    .oauthService\n    .silentRefresh()\n    .then(info => console.debug('refresh ok', info))\n    .catch(err => console.error('refresh error', err));When there is an error in the iframe that prevents the communication with the main application, silentRefresh will give you a timeout. To configure the timespan for this, you can set the property 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/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-regfesh.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"}}
  }
  