UNPKG

msal

Version:
17 lines (15 loc) 130 kB
/*! msal v1.4.6 2021-02-09 */ "use strict";!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("Msal",[],t):"object"==typeof exports?exports.Msal=t():e.Msal=t()}(self,(function(){return e={795:(e,t)=>{ /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. ***************************************************************************** */ Object.defineProperty(t,"__esModule",{value:!0});var r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function n(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}function o(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}function i(e){return this instanceof i?(this.v=e,this):new i(e)}t.__extends=function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)},t.__assign=function(){return t.__assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},t.__assign.apply(this,arguments)},t.__rest=function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r},t.__decorate=function(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a},t.__param=function(e,t){return function(r,n){t(r,n,e)}},t.__metadata=function(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)},t.__awaiter=function(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{c(n.next(e))}catch(e){i(e)}}function s(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){e.done?o(e.value):new r((function(t){t(e.value)})).then(a,s)}c((n=n.apply(e,t||[])).next())}))},t.__generator=function(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}},t.__exportStar=function(e,t){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])},t.__values=n,t.__read=o,t.__spread=function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(o(arguments[t]));return e},t.__spreadArrays=function(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n},t.__await=i,t.__asyncGenerator=function(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,o=r.apply(e,t||[]),a=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||c(e,t)}))})}function c(e,t){try{(r=o[e](t)).value instanceof i?Promise.resolve(r.value.v).then(u,l):h(a[0][2],r)}catch(e){h(a[0][3],e)}var r}function u(e){c("next",e)}function l(e){c("throw",e)}function h(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}},t.__asyncDelegator=function(e){var t,r;return t={},n("next"),n("throw",(function(e){throw e})),n("return"),t[Symbol.iterator]=function(){return this},t;function n(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:i(e[n](t)),done:"return"===n}:o?o(t):t}:o}},t.__asyncValues=function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=n(e),t={},o("next"),o("throw"),o("return"),t[Symbol.asyncIterator]=function(){return this},t);function o(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){!function(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}(n,o,(t=e[r](t)).done,t.value)}))}}},t.__makeTemplateObject=function(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e},t.__importStar=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t.default=e,t},t.__importDefault=function(e){return e&&e.__esModule?e:{default:e}}},630:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(453),o=r(454),i=function(){function e(e,t,r,n,o,i,a){this.accountIdentifier=e,this.homeAccountIdentifier=t,this.userName=r,this.name=n,this.idToken=o,this.idTokenClaims=o,this.sid=i,this.environment=a}return e.createAccount=function(t,r){var i,a=t.objectId||t.subject,s=r?r.uid:"",c=r?r.utid:"";return o.StringUtils.isEmpty(s)||(i=o.StringUtils.isEmpty(c)?n.CryptoUtils.base64Encode(s):n.CryptoUtils.base64Encode(s)+"."+n.CryptoUtils.base64Encode(c)),new e(a,i,t.preferredName,t.name,t.claims,t.sid,t.issuer)},e.compareAccounts=function(e,t){return!!(e&&t&&e.homeAccountIdentifier&&t.homeAccountIdentifier&&e.homeAccountIdentifier===t.homeAccountIdentifier)},e}();t.Account=i},681:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.buildResponseStateOnly=function(e){return{uniqueId:"",tenantId:"",tokenType:"",idToken:null,idTokenClaims:null,accessToken:"",scopes:null,expiresOn:null,account:null,accountState:e,fromCache:!1}}},733:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(550);t.validateClaimsRequest=function(e){if(e.claimsRequest)try{JSON.parse(e.claimsRequest)}catch(e){throw n.ClientConfigurationError.createClaimsRequestParsingError(e)}}},271:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(453),o=r(356),i=r(454),a=function(){function e(t,r){if(!t||i.StringUtils.isEmpty(t))return this.uid="",void(this.utid="");try{var a=n.CryptoUtils.base64Decode(t),s=JSON.parse(a);s&&(s.hasOwnProperty("uid")&&(this.uid=r?e.stripPolicyFromUid(s.uid,r):s.uid),s.hasOwnProperty("utid")&&(this.utid=s.utid))}catch(e){throw o.ClientAuthError.createClientInfoDecodingError(e)}}return Object.defineProperty(e.prototype,"uid",{get:function(){return this._uid?this._uid:""},set:function(e){this._uid=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"utid",{get:function(){return this._utid?this._utid:""},set:function(e){this._utid=e},enumerable:!0,configurable:!0}),e.createClientInfoFromIdToken=function(t,r){var o={uid:t.subject,utid:""};return new e(n.CryptoUtils.base64Encode(JSON.stringify(o)),r)},e.stripPolicyFromUid=function(e,t){var r=e.split("-"),n=t.split("/").reverse(),o="";return i.StringUtils.isEmpty(n[0])?n.length>1&&(o=n[1]):o=n[0],r[r.length-1]===o?r.slice(0,r.length-1).join("-"):e},e.prototype.encodeClientInfo=function(){var e=JSON.stringify({uid:this.uid,utid:this.utid});return n.CryptoUtils.base64Encode(e)},e}();t.ClientInfo=a},875:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(795),o=r(89),i=r(741),a={clientId:"",authority:null,validateAuthority:!0,authorityMetadata:"",knownAuthorities:[],redirectUri:function(){return i.UrlUtils.getCurrentUrl()},postLogoutRedirectUri:function(){return i.UrlUtils.getCurrentUrl()},navigateToLoginRequestUrl:!0},s={cacheLocation:"sessionStorage",storeAuthStateInCookie:!1},c={logger:new o.Logger(null),loadFrameTimeout:6e3,tokenRenewalOffsetSeconds:300,navigateFrameWait:500},u={isAngular:!1,unprotectedResources:new Array,protectedResourceMap:new Map};t.buildConfiguration=function(e){var t=e.auth,r=e.cache,o=void 0===r?{}:r,i=e.system,l=void 0===i?{}:i,h=e.framework,d=void 0===h?{}:h;return{auth:n.__assign({},a,t),cache:n.__assign({},s,o),system:n.__assign({},c,l),framework:n.__assign({},u,d)}}},881:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(356),o=r(94),i=r(454),a=function(e){if(i.StringUtils.isEmpty(e))throw n.ClientAuthError.createIdTokenNullOrEmptyError(e);try{this.rawIdToken=e,this.claims=o.TokenUtils.extractIdToken(e),this.claims&&(this.claims.hasOwnProperty("iss")&&(this.issuer=this.claims.iss),this.claims.hasOwnProperty("oid")&&(this.objectId=this.claims.oid),this.claims.hasOwnProperty("sub")&&(this.subject=this.claims.sub),this.claims.hasOwnProperty("tid")&&(this.tenantId=this.claims.tid),this.claims.hasOwnProperty("ver")&&(this.version=this.claims.ver),this.claims.hasOwnProperty("preferred_username")?this.preferredName=this.claims.preferred_username:this.claims.hasOwnProperty("upn")&&(this.preferredName=this.claims.upn),this.claims.hasOwnProperty("name")&&(this.name=this.claims.name),this.claims.hasOwnProperty("nonce")&&(this.nonce=this.claims.nonce),this.claims.hasOwnProperty("exp")&&(this.expiration=this.claims.exp),this.claims.hasOwnProperty("home_oid")&&(this.homeObjectId=this.claims.home_oid),this.claims.hasOwnProperty("sid")&&(this.sid=this.claims.sid),this.claims.hasOwnProperty("cloud_instance_host_name")&&(this.cloudInstance=this.claims.cloud_instance_host_name))}catch(e){throw n.ClientAuthError.createIdTokenParsingError(e)}};t.IdToken=a},89:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n,o=r(454),i=r(700);!function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Info=2]="Info",e[e.Verbose=3]="Verbose"}(n=t.LogLevel||(t.LogLevel={}));var a=function(){function e(e,t){void 0===t&&(t={}),this.level=n.Info;var r=t.correlationId,o=void 0===r?"":r,i=t.level,a=void 0===i?n.Info:i,s=t.piiLoggingEnabled,c=void 0!==s&&s;this.localCallback=e,this.correlationId=o,this.level=a,this.piiLoggingEnabled=c}return e.prototype.logMessage=function(e,t,r){if(!(e>this.level||!this.piiLoggingEnabled&&r)){var a,s=(new Date).toUTCString();a=o.StringUtils.isEmpty(this.correlationId)?s+":"+i.version+"-"+n[e]+(r?"-pii":"")+" "+t:s+":"+this.correlationId+"-"+i.version+"-"+n[e]+(r?"-pii":"")+" "+t,this.executeCallback(e,a,r)}},e.prototype.executeCallback=function(e,t,r){this.localCallback&&this.localCallback(e,t,r)},e.prototype.error=function(e){this.logMessage(n.Error,e,!1)},e.prototype.errorPii=function(e){this.logMessage(n.Error,e,!0)},e.prototype.warning=function(e){this.logMessage(n.Warning,e,!1)},e.prototype.warningPii=function(e){this.logMessage(n.Warning,e,!0)},e.prototype.info=function(e){this.logMessage(n.Info,e,!1)},e.prototype.infoPii=function(e){this.logMessage(n.Info,e,!0)},e.prototype.verbose=function(e){this.logMessage(n.Verbose,e,!1)},e.prototype.verbosePii=function(e){this.logMessage(n.Verbose,e,!0)},e.prototype.isPiiLoggingEnabled=function(){return this.piiLoggingEnabled},e}();t.Logger=a},55:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(550),o=r(91),i=function(){function e(){}return e.isIntersectingScopes=function(e,t){for(var r=this.trimAndConvertArrayToLowerCase(e.slice()),n=this.trimAndConvertArrayToLowerCase(t.slice()),o=0;o<n.length;o++)if(r.indexOf(n[o].toLowerCase())>-1)return!0;return!1},e.containsScope=function(e,t){var r=this.trimAndConvertArrayToLowerCase(e.slice());return this.trimAndConvertArrayToLowerCase(t.slice()).every((function(e){return r.indexOf(e.toString().toLowerCase())>=0}))},e.trimAndConvertToLowerCase=function(e){return e.trim().toLowerCase()},e.trimAndConvertArrayToLowerCase=function(e){var t=this;return e.map((function(e){return t.trimAndConvertToLowerCase(e)}))},e.trimScopes=function(e){return e.map((function(e){return e.trim()}))},e.removeElement=function(e,t){var r=this.trimAndConvertToLowerCase(t);return e.filter((function(e){return e!==r}))},e.parseScope=function(e){var t="";if(e)for(var r=0;r<e.length;++r)t+=r!==e.length-1?e[r]+" ":e[r];return t},e.validateInputScope=function(e,t){if(e){if(!Array.isArray(e))throw n.ClientConfigurationError.createScopesNonArrayError(e);if(e.length<1&&t)throw n.ClientConfigurationError.createEmptyScopesArrayError(e.toString())}else if(t)throw n.ClientConfigurationError.createScopesRequiredError(e)},e.getScopeFromState=function(e){if(e){var t=e.indexOf(o.Constants.resourceDelimiter);if(t>-1&&t+1<e.length)return e.substring(t+1)}return""},e.appendScopes=function(e,t){if(e){var r=t?this.trimAndConvertArrayToLowerCase(t.slice()):null,n=this.trimAndConvertArrayToLowerCase(e.slice());return r?n.concat(r):n}return null},e.onlyContainsOidcScopes=function(e){var t=e.length,r=0;return e.indexOf(o.Constants.openidScope)>-1&&(r+=1),e.indexOf(o.Constants.profileScope)>-1&&(r+=1),t>0&&t===r},e.containsAnyOidcScopes=function(e){var t=e.indexOf(o.Constants.openidScope)>-1,r=e.indexOf(o.Constants.profileScope)>-1;return t||r},e.onlyContainsClientId=function(e,t){return!!e&&e.indexOf(t)>-1&&1===e.length},e.appendDefaultScopes=function(e){var t=e;return-1===t.indexOf(o.Constants.openidScope)&&t.push(o.Constants.openidScope),-1===t.indexOf(o.Constants.profileScope)&&t.push(o.Constants.profileScope),t},e.removeDefaultScopes=function(e){return e.filter((function(e){return e!==o.Constants.openidScope&&e!==o.Constants.profileScope}))},e.translateClientIdIfSingleScope=function(e,t){return this.onlyContainsClientId(e,t)?o.Constants.oidcScopes:e},e}();t.ScopeSet=i},436:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(453),o=r(91),i=r(454),a=r(55),s=r(700),c=function(){function e(e,t,r,i,c,u,l){this.authorityInstance=e,this.clientId=t,this.nonce=n.CryptoUtils.createNewGuid(),this.scopes=c?c.slice():o.Constants.oidcScopes,this.scopes=a.ScopeSet.trimScopes(this.scopes),this.state=u,this.correlationId=l,this.xClientSku="MSAL.JS",this.xClientVer=s.name,this.responseType=r,this.redirectUri=i}return Object.defineProperty(e.prototype,"authority",{get:function(){return this.authorityInstance?this.authorityInstance.CanonicalAuthority:null},enumerable:!0,configurable:!0}),e.prototype.populateQueryParams=function(t,r,n,o){var i={};r&&(r.prompt&&(this.promptValue=r.prompt),r.claimsRequest&&(this.claimsValue=r.claimsRequest),e.isSSOParam(r)&&(i=this.constructUnifiedCacheQueryParameter(r,null))),n&&(i=this.constructUnifiedCacheQueryParameter(null,n)),i=this.addHintParameters(t,i);var a=r?r.extraQueryParameters:null;this.queryParameters=e.generateQueryParametersString(i),this.extraQueryParameters=e.generateQueryParametersString(a,o)},e.prototype.constructUnifiedCacheQueryParameter=function(e,t){var r,n;if(e)if(e.account){var i=e.account;i.sid?(r=o.SSOTypes.SID,n=i.sid):i.userName&&(r=o.SSOTypes.LOGIN_HINT,n=i.userName)}else e.sid?(r=o.SSOTypes.SID,n=e.sid):e.loginHint&&(r=o.SSOTypes.LOGIN_HINT,n=e.loginHint);else t&&t.hasOwnProperty(o.Constants.upn)&&(r=o.SSOTypes.ID_TOKEN,n=t.upn);return this.addSSOParameter(r,n)},e.prototype.addHintParameters=function(e,t){return e&&!t[o.SSOTypes.SID]&&(!t[o.SSOTypes.LOGIN_HINT]&&e.sid&&this.promptValue===o.PromptState.NONE?t=this.addSSOParameter(o.SSOTypes.SID,e.sid,t):!t[o.SSOTypes.LOGIN_HINT]&&e.userName&&!i.StringUtils.isEmpty(e.userName)&&(t=this.addSSOParameter(o.SSOTypes.LOGIN_HINT,e.userName,t))),t},e.prototype.addSSOParameter=function(e,t,r){if(r||(r={}),!t)return r;switch(e){case o.SSOTypes.SID:r[o.SSOTypes.SID]=t;break;case o.SSOTypes.ID_TOKEN:case o.SSOTypes.LOGIN_HINT:r[o.SSOTypes.LOGIN_HINT]=t}return r},e.generateQueryParametersString=function(e,t){var r=null;return e&&Object.keys(e).forEach((function(n){n===o.Constants.domain_hint&&(t||e[o.SSOTypes.SID])||(r?r+="&"+n+"="+encodeURIComponent(e[n]):r=n+"="+encodeURIComponent(e[n]))})),r},e.isSSOParam=function(e){return e&&(e.account||e.sid||e.loginHint)},e.determineResponseType=function(e,t){return a.ScopeSet.onlyContainsOidcScopes(t)?o.ResponseTypes.id_token:e?this.responseTypeForMatchingAccounts(t):o.ResponseTypes.id_token_token},e.responseTypeForMatchingAccounts=function(e){return a.ScopeSet.containsAnyOidcScopes(e)?o.ResponseTypes.id_token_token:o.ResponseTypes.token},e}();t.ServerRequestParameters=c},463:(e,t,r)=>{Object.defineProperty(t,"__esModule",{value:!0});var n=r(795),o=r(29),i=r(192),a=r(436),s=r(660),c=r(271),u=r(881),l=r(226),h=r(630),d=r(55),p=r(454),g=r(758),f=r(94),y=r(78),m=r(741),v=r(52),E=r(756),C=r(951),T=r(875),S=r(550),I=r(986),b=r(356),_=r(447),A=r(961),w=r(681),P=n.__importDefault(r(478)),k=r(663),R=r(91),O=r(453),N=r(405),U=r(49),M=function(){function e(e){this.authResponseCallback=null,this.tokenReceivedCallback=null,this.errorReceivedCallback=null,this.config=T.buildConfiguration(e),this.logger=this.config.system.logger,this.clientId=this.config.auth.clientId,this.inCookie=this.config.cache.storeAuthStateInCookie,this.telemetryManager=this.getTelemetryManagerFromConfig(this.config.system.telemetry,this.clientId),N.TrustedAuthority.setTrustedAuthoritiesFromConfig(this.config.auth.validateAuthority,this.config.auth.knownAuthorities),C.AuthorityFactory.saveMetadataFromConfig(this.config.auth.authority,this.config.auth.authorityMetadata),this.authority=this.config.auth.authority||"https://login.microsoftonline.com/common",this.cacheStorage=new l.AuthCache(this.clientId,this.config.cache.cacheLocation,this.inCookie),window.activeRenewals={},window.renewStates=[],window.callbackMappedToRenewStates={},window.promiseMappedToRenewStates={},window.msal=this;var t=window.location.hash,r=m.UrlUtils.urlContainsHash(t);g.WindowUtils.checkIfBackButtonIsPressed(this.cacheStorage),r&&this.getResponseState(t).method===R.Constants.interactionTypeRedirect&&this.handleRedirectAuthenticationResponse(t)}return Object.defineProperty(e.prototype,"authority",{get:function(){return this.authorityInstance.CanonicalAuthority},set:function(e){this.authorityInstance=C.AuthorityFactory.CreateInstance(e,this.config.auth.validateAuthority)},enumerable:!0,configurable:!0}),e.prototype.getAuthorityInstance=function(){return this.authorityInstance},e.prototype.handleRedirectCallback=function(e,t){if(!e)throw S.ClientConfigurationError.createInvalidCallbackObjectError(e);t?(this.tokenReceivedCallback=e,this.errorReceivedCallback=t,this.logger.warning("This overload for callback is deprecated - please change the format of the callbacks to a single callback as shown: (err: AuthError, response: AuthResponse).")):this.authResponseCallback=e,this.redirectError?this.authErrorHandler(R.Constants.interactionTypeRedirect,this.redirectError,this.redirectResponse):this.redirectResponse&&this.authResponseHandler(R.Constants.interactionTypeRedirect,this.redirectResponse)},e.prototype.urlContainsHash=function(e){return this.logger.verbose("UrlContainsHash has been called"),m.UrlUtils.urlContainsHash(e)},e.prototype.authResponseHandler=function(e,t,r){if(this.logger.verbose("AuthResponseHandler has been called"),e===R.Constants.interactionTypeRedirect)this.logger.verbose("Interaction type is redirect"),this.errorReceivedCallback?(this.logger.verbose("Two callbacks were provided to handleRedirectCallback, calling success callback with response"),this.tokenReceivedCallback(t)):this.authResponseCallback&&(this.logger.verbose("One callback was provided to handleRedirectCallback, calling authResponseCallback with response"),this.authResponseCallback(null,t));else{if(e!==R.Constants.interactionTypePopup)throw b.ClientAuthError.createInvalidInteractionTypeError();this.logger.verbose("Interaction type is popup, resolving"),r(t)}},e.prototype.authErrorHandler=function(e,t,r,n){if(this.logger.verbose("AuthErrorHandler has been called"),this.cacheStorage.removeItem(R.TemporaryCacheKeys.INTERACTION_STATUS),e===R.Constants.interactionTypeRedirect)if(this.logger.verbose("Interaction type is redirect"),this.errorReceivedCallback)this.logger.verbose("Two callbacks were provided to handleRedirectCallback, calling error callback"),this.errorReceivedCallback(t,r.accountState);else{if(!this.authResponseCallback)throw this.logger.verbose("handleRedirectCallback has not been called and no callbacks are registered, throwing error"),t;this.logger.verbose("One callback was provided to handleRedirectCallback, calling authResponseCallback with error"),this.authResponseCallback(t,r)}else{if(e!==R.Constants.interactionTypePopup)throw b.ClientAuthError.createInvalidInteractionTypeError();this.logger.verbose("Interaction type is popup, rejecting"),n(t)}},e.prototype.loginRedirect=function(e){this.logger.verbose("LoginRedirect has been called");var t=v.RequestUtils.validateRequest(e,!0,this.clientId,R.Constants.interactionTypeRedirect);this.acquireTokenInteractive(R.Constants.interactionTypeRedirect,!0,t,null,null)},e.prototype.acquireTokenRedirect=function(e){this.logger.verbose("AcquireTokenRedirect has been called");var t=v.RequestUtils.validateRequest(e,!1,this.clientId,R.Constants.interactionTypeRedirect);this.acquireTokenInteractive(R.Constants.interactionTypeRedirect,!1,t,null,null)},e.prototype.loginPopup=function(e){var t=this;this.logger.verbose("LoginPopup has been called");var r=v.RequestUtils.validateRequest(e,!0,this.clientId,R.Constants.interactionTypePopup),n=this.telemetryManager.createAndStartApiEvent(r.correlationId,k.API_EVENT_IDENTIFIER.LoginPopup);return new Promise((function(e,n){t.acquireTokenInteractive(R.Constants.interactionTypePopup,!0,r,e,n)})).then((function(e){return t.logger.verbose("Successfully logged in"),t.telemetryManager.stopAndFlushApiEvent(r.correlationId,n,!0),e})).catch((function(e){throw t.cacheStorage.resetTempCacheItems(r.state),t.telemetryManager.stopAndFlushApiEvent(r.correlationId,n,!1,e.errorCode),e}))},e.prototype.acquireTokenPopup=function(e){var t=this;this.logger.verbose("AcquireTokenPopup has been called");var r=v.RequestUtils.validateRequest(e,!1,this.clientId,R.Constants.interactionTypePopup),n=this.telemetryManager.createAndStartApiEvent(r.correlationId,k.API_EVENT_IDENTIFIER.AcquireTokenPopup);return new Promise((function(e,n){t.acquireTokenInteractive(R.Constants.interactionTypePopup,!1,r,e,n)})).then((function(e){return t.logger.verbose("Successfully acquired token"),t.telemetryManager.stopAndFlushApiEvent(r.correlationId,n,!0),e})).catch((function(e){throw t.cacheStorage.resetTempCacheItems(r.state),t.telemetryManager.stopAndFlushApiEvent(r.correlationId,n,!1,e.errorCode),e}))},e.prototype.acquireTokenInteractive=function(e,t,r,n,o){var i=this;this.logger.verbose("AcquireTokenInteractive has been called"),g.WindowUtils.blockReloadInHiddenIframes();var s,c=this.cacheStorage.getItem(R.TemporaryCacheKeys.INTERACTION_STATUS);if(e===R.Constants.interactionTypeRedirect&&this.cacheStorage.setItem(R.TemporaryCacheKeys.REDIRECT_REQUEST,""+R.Constants.inProgress+R.Constants.resourceDelimiter+r.state),c===R.Constants.inProgress){var u=t?b.ClientAuthError.createLoginInProgressError():b.ClientAuthError.createAcquireTokenInProgressError(),l=w.buildResponseStateOnly(this.getAccountState(r.state));return this.cacheStorage.resetTempCacheItems(r.state),void this.authErrorHandler(e,u,l,o)}if(r&&r.account&&!t?(s=r.account,this.logger.verbose("Account set from request")):(s=this.getAccount(),this.logger.verbose("Account set from MSAL Cache")),s||a.ServerRequestParameters.isSSOParam(r))this.logger.verbose("User session exists, login not required"),this.acquireTokenHelper(s,e,t,r,n,o);else{if(!t)return this.logger.verbose("AcquireToken call, no context or account given"),this.logger.info("User login is required"),l=w.buildResponseStateOnly(this.getAccountState(r.state)),this.cacheStorage.resetTempCacheItems(r.state),void this.authErrorHandler(e,b.ClientAuthError.createUserLoginRequiredError(),l,o);if(this.extractADALIdToken()&&!r.scopes){this.logger.info("ADAL's idToken exists. Extracting login information from ADAL's idToken");var h=this.buildIDTokenRequest(r);this.silentLogin=!0,this.acquireTokenSilent(h).then((function(t){i.silentLogin=!1,i.logger.info("Unified cache call is successful"),i.authResponseHandler(e,t,n)}),(function(a){i.silentLogin=!1,i.logger.error("Error occurred during unified cache ATS: "+a),i.acquireTokenHelper(null,e,t,r,n,o)}))}else this.logger.verbose("Login call but no token found, proceed to login"),this.acquireTokenHelper(null,e,t,r,n,o)}},e.prototype.acquireTokenHelper=function(e,t,r,o,i,s){return n.__awaiter(this,void 0,Promise,(function(){var c,u,h,d,p,f,y,v,E,T;return n.__generator(this,(function(n){switch(n.label){case 0:this.logger.verbose("AcquireTokenHelper has been called"),this.logger.verbose("Interaction type: "+t+". isLoginCall: "+r),this.cacheStorage.setItem(R.TemporaryCacheKeys.INTERACTION_STATUS,R.Constants.inProgress),c=o.scopes?o.scopes.join(" ").toLowerCase():R.Constants.oidcScopes.join(" "),this.logger.verbosePii("Request signature: "+c),h=o&&o.authority?C.AuthorityFactory.CreateInstance(o.authority,this.config.auth.validateAuthority,o.authorityMetadata):this.authorityInstance,n.label=1;case 1:return n.trys.push([1,11,,12]),h.hasCachedMetadata()?[3,3]:(this.logger.verbose("No cached metadata for authority"),[4,C.AuthorityFactory.saveMetadataFromNetwork(h,this.telemetryManager,o.correlationId)]);case 2:return n.sent(),[3,4];case 3:this.logger.verbose("Cached metadata found for authority"),n.label=4;case 4:if(p=r?R.ResponseTypes.id_token:this.getTokenType(e,o.scopes),f=o.redirectStartPage||window.location.href,u=new a.ServerRequestParameters(h,this.clientId,p,this.getRedirectUri(o&&o.redirectUri),o.scopes,o.state,o.correlationId),this.logger.verbose("Finished building server authentication request"),this.updateCacheEntries(u,e,r,f),this.logger.verbose("Updating cache entries"),u.populateQueryParams(e,o),this.logger.verbose("Query parameters populated from account"),y=m.UrlUtils.createNavigateUrl(u)+R.Constants.response_mode_fragment,t===R.Constants.interactionTypeRedirect)r?this.logger.verbose("Interaction type redirect but login call is true. State not cached"):(this.cacheStorage.setItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.STATE_ACQ_TOKEN,o.state),u.state,this.inCookie),this.logger.verbose("State cached for redirect"),this.logger.verbosePii("State cached: "+u.state));else{if(t!==R.Constants.interactionTypePopup)throw this.logger.verbose("Invalid interaction error. State not cached"),b.ClientAuthError.createInvalidInteractionTypeError();window.renewStates.push(u.state),window.requestType=r?R.Constants.login:R.Constants.renewToken,this.logger.verbose("State saved to window"),this.logger.verbosePii("State saved: "+u.state),this.registerCallback(u.state,c,i,s)}if(t!==R.Constants.interactionTypePopup)return[3,9];this.logger.verbose("Interaction type is popup. Generating popup window");try{d=this.openPopup(y,"msal",R.Constants.popUpWidth,R.Constants.popUpHeight),g.WindowUtils.trackPopup(d)}catch(e){if(this.logger.info(b.ClientAuthErrorMessage.popUpWindowError.code+":"+b.ClientAuthErrorMessage.popUpWindowError.desc),this.cacheStorage.setItem(R.ErrorCacheKeys.ERROR,b.ClientAuthErrorMessage.popUpWindowError.code),this.cacheStorage.setItem(R.ErrorCacheKeys.ERROR_DESC,b.ClientAuthErrorMessage.popUpWindowError.desc),s)return s(b.ClientAuthError.createPopupWindowError()),[2]}if(!d)return[3,8];n.label=5;case 5:return n.trys.push([5,7,,8]),[4,g.WindowUtils.monitorPopupForHash(d,this.config.system.loadFrameTimeout,y,this.logger)];case 6:return v=n.sent(),this.handleAuthenticationResponse(v),this.cacheStorage.removeItem(R.TemporaryCacheKeys.INTERACTION_STATUS),this.logger.info("Closing popup window"),this.config.framework.isAngular&&this.broadcast("msal:popUpHashChanged",v),g.WindowUtils.closePopups(),[3,8];case 7:return E=n.sent(),s&&s(E),this.config.framework.isAngular?this.broadcast("msal:popUpClosed",E.errorCode+R.Constants.resourceDelimiter+E.errorMessage):(this.cacheStorage.removeItem(R.TemporaryCacheKeys.INTERACTION_STATUS),d.close()),[3,8];case 8:return[3,10];case 9:o.onRedirectNavigate?(this.logger.verbose("Invoking onRedirectNavigate callback"),!1!==o.onRedirectNavigate(y)?(this.logger.verbose("onRedirectNavigate did not return false, navigating"),this.navigateWindow(y)):this.logger.verbose("onRedirectNavigate returned false, stopping navigation")):(this.logger.verbose("Navigating window to urlNavigate"),this.navigateWindow(y)),n.label=10;case 10:return[3,12];case 11:return T=n.sent(),this.logger.error(T),this.cacheStorage.resetTempCacheItems(o.state),this.authErrorHandler(t,b.ClientAuthError.createEndpointResolutionError(T.toString),w.buildResponseStateOnly(o.state),s),d&&d.close(),[3,12];case 12:return[2]}}))}))},e.prototype.ssoSilent=function(e){if(this.logger.verbose("ssoSilent has been called"),!e)throw S.ClientConfigurationError.createEmptyRequestError();if(!e.sid&&!e.loginHint)throw S.ClientConfigurationError.createSsoSilentError();return this.acquireTokenSilent(n.__assign({},e,{scopes:R.Constants.oidcScopes}))},e.prototype.acquireTokenSilent=function(e){var t=this;this.logger.verbose("AcquireTokenSilent has been called");var r=v.RequestUtils.validateRequest(e,!1,this.clientId,R.Constants.interactionTypeSilent),o=this.telemetryManager.createAndStartApiEvent(r.correlationId,k.API_EVENT_IDENTIFIER.AcquireTokenSilent),i=v.RequestUtils.createRequestSignature(r);return new Promise((function(e,o){return n.__awaiter(t,void 0,void 0,(function(){var t,s,c,u,l,h,y,m,v,E,T;return n.__generator(this,(function(n){switch(n.label){case 0:if(g.WindowUtils.blockReloadInHiddenIframes(),t=r.scopes.join(" ").toLowerCase(),this.logger.verbosePii("Serialized scopes: "+t),r.account?(s=r.account,this.logger.verbose("Account set from request")):(s=this.getAccount(),this.logger.verbose("Account set from MSAL Cache")),c=this.cacheStorage.getItem(R.Constants.adalIdToken),!s&&!r.sid&&!r.loginHint&&p.StringUtils.isEmpty(c))return this.logger.info("User login is required"),[2,o(b.ClientAuthError.createUserLoginRequiredError())];if(u=this.getTokenType(s,r.scopes),this.logger.verbose("Response type: "+u),l=new a.ServerRequestParameters(C.AuthorityFactory.CreateInstance(r.authority,this.config.auth.validateAuthority,r.authorityMetadata),this.clientId,u,this.getRedirectUri(r.redirectUri),r.scopes,r.state,r.correlationId),this.logger.verbose("Finished building server authentication request"),a.ServerRequestParameters.isSSOParam(r)||s?(l.populateQueryParams(s,r,null,!0),this.logger.verbose("Query parameters populated from existing SSO or account")):s||p.StringUtils.isEmpty(c)?this.logger.verbose("No additional query parameters added"):(h=f.TokenUtils.extractIdToken(c),this.logger.verbose("ADAL's idToken exists. Extracting login information from ADAL's idToken to populate query parameters"),l.populateQueryParams(s,null,h,!0)),!(y=r.claimsRequest||l.claimsValue)&&!r.forceRefresh)try{v=this.getCachedToken(l,s)}catch(e){m=e}return v?(this.logger.verbose("Token found in cache lookup"),this.logger.verbosePii("Scopes found: "+JSON.stringify(v.scopes)),e(v),[2,null]):[3,1];case 1:return m?(this.logger.infoPii(m.errorCode+":"+m.errorMessage),o(m),[2,null]):[3,2];case 2:E=void 0,E=y?"Skipped cache lookup since claims were given":r.forceRefresh?"Skipped cache lookup since request.forceRefresh option was set to true":"No valid token found in cache lookup",this.logger.verbose(E),l.authorityInstance||(l.authorityInstance=r.authority?C.AuthorityFactory.CreateInstance(r.authority,this.config.auth.validateAuthority,r.authorityMetadata):this.authorityInstance),this.logger.verbosePii("Authority instance: "+l.authority),n.label=3;case 3:return n.trys.push([3,7,,8]),l.authorityInstance.hasCachedMetadata()?[3,5]:(this.logger.verbose("No cached metadata for authority"),[4,C.AuthorityFactory.saveMetadataFromNetwork(l.authorityInstance,this.telemetryManager,r.correlationId)]);case 4:return n.sent(),this.logger.verbose("Authority has been updated with endpoint discovery response"),[3,6];case 5:this.logger.verbose("Cached metadata found for authority"),n.label=6;case 6:return window.activeRenewals[i]?(this.logger.verbose("Renewing token in progress. Registering callback"),this.registerCallback(window.activeRenewals[i],i,e,o)):r.scopes&&d.ScopeSet.onlyContainsOidcScopes(r.scopes)?(this.logger.verbose("OpenID Connect scopes only, renewing idToken"),this.silentLogin=!0,this.renewIdToken(i,e,o,s,l)):(this.logger.verbose("Renewing access token"),this.renewToken(i,e,o,s,l)),[3,8];case 7:return T=n.sent(),this.logger.error(T),o(b.ClientAuthError.createEndpointResolutionError(T.toString())),[2,null];case 8:return[2]}}))}))})).then((function(e){return t.logger.verbose("Successfully acquired token"),t.telemetryManager.stopAndFlushApiEvent(r.correlationId,o,!0),e})).catch((function(e){throw t.cacheStorage.resetTempCacheItems(r.state),t.telemetryManager.stopAndFlushApiEvent(r.correlationId,o,!1,e.errorCode),e}))},e.prototype.openPopup=function(e,t,r,n){this.logger.verbose("OpenPopup has been called");try{var o=window.screenLeft?window.screenLeft:window.screenX,i=window.screenTop?window.screenTop:window.screenY,a=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,s=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight,c=a/2-r/2+o,u=s/2-n/2+i,l=window.open(e,t,"width="+r+", height="+n+", top="+u+", left="+c+", scrollbars=yes");if(!l)throw b.ClientAuthError.createPopupWindowError();return l.focus&&l.focus(),l}catch(e){throw this.cacheStorage.removeItem(R.TemporaryCacheKeys.INTERACTION_STATUS),b.ClientAuthError.createPopupWindowError(e.toString())}},e.prototype.loadIframeTimeout=function(e,t,r){return n.__awaiter(this,void 0,Promise,(function(){var o,i,a,s,c;return n.__generator(this,(function(n){switch(n.label){case 0:return o=window.activeRenewals[r],this.logger.verbosePii("Set loading state to pending for: "+r+":"+o),this.cacheStorage.setItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.RENEW_STATUS,o),R.Constants.inProgress),this.config.system.navigateFrameWait?[4,g.WindowUtils.loadFrame(e,t,this.config.system.navigateFrameWait,this.logger)]:[3,2];case 1:return a=n.sent(),[3,3];case 2:a=g.WindowUtils.loadFrameSync(e,t,this.logger),n.label=3;case 3:i=a,n.label=4;case 4:return n.trys.push([4,6,,7]),[4,g.WindowUtils.monitorIframeForHash(i.contentWindow,this.config.system.loadFrameTimeout,e,this.logger)];case 5:return(s=n.sent())&&this.handleAuthenticationResponse(s),[3,7];case 6:throw c=n.sent(),this.cacheStorage.getItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.RENEW_STATUS,o))===R.Constants.inProgress&&(this.logger.verbose("Loading frame has timed out after: "+this.config.system.loadFrameTimeout/1e3+" seconds for scope/authority "+r+":"+o),o&&window.callbackMappedToRenewStates[o]&&window.callbackMappedToRenewStates[o](null,c),this.cacheStorage.removeItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.RENEW_STATUS,o))),g.WindowUtils.removeHiddenIframe(i),c;case 7:return g.WindowUtils.removeHiddenIframe(i),[2]}}))}))},e.prototype.navigateWindow=function(e,t){if(!e||p.StringUtils.isEmpty(e))throw this.logger.info("Navigate url is empty"),I.AuthError.createUnexpectedError("Navigate url is empty");var r=t||window,n=t?"Navigated Popup window to:"+e:"Navigate to:"+e;this.logger.infoPii(n),r.location.assign(e)},e.prototype.registerCallback=function(e,t,r,n){var o=this;window.activeRenewals[t]=e,window.promiseMappedToRenewStates[e]||(window.promiseMappedToRenewStates[e]=[]),window.promiseMappedToRenewStates[e].push({resolve:r,reject:n}),window.callbackMappedToRenewStates[e]||(window.callbackMappedToRenewStates[e]=function(r,n){window.activeRenewals[t]=null;for(var i=0;i<window.promiseMappedToRenewStates[e].length;++i)try{if(n)window.promiseMappedToRenewStates[e][i].reject(n);else{if(!r)throw o.cacheStorage.resetTempCacheItems(e),I.AuthError.createUnexpectedError("Error and response are both null");window.promiseMappedToRenewStates[e][i].resolve(r)}}catch(e){o.logger.warning(e)}window.promiseMappedToRenewStates[e]=null,window.callbackMappedToRenewStates[e]=null})},e.prototype.logout=function(e){this.logger.verbose("Logout has been called"),this.logoutAsync(e)},e.prototype.logoutAsync=function(e){return n.__awaiter(this,void 0,Promise,(function(){var t,r,o,i,a,s;return n.__generator(this,(function(n){switch(n.label){case 0:t=e||O.CryptoUtils.createNewGuid(),r=this.telemetryManager.createAndStartApiEvent(t,k.API_EVENT_IDENTIFIER.Logout),this.clearCache(),this.account=null,n.label=1;case 1:return n.trys.push([1,5,,6]),this.authorityInstance.hasCachedMetadata()?[3,3]:(this.logger.verbose("No cached metadata for authority"),[4,C.AuthorityFactory.saveMetadataFromNetwork(this.authorityInstance,this.telemetryManager,e)]);case 2:return n.sent(),[3,4];case 3:this.logger.verbose("Cached metadata found for authority"),n.label=4;case 4:return o="client-request-id="+t,i=void 0,this.getPostLogoutRedirectUri()?(i="&post_logout_redirect_uri="+encodeURIComponent(this.getPostLogoutRedirectUri()),this.logger.verbose("redirectUri found and set")):(i="",this.logger.verbose("No redirectUri set for app. postLogoutQueryParam is empty")),a=void 0,this.authorityInstance.EndSessionEndpoint?(a=this.authorityInstance.EndSessionEndpoint+"?"+o+i,this.logger.verbose("EndSessionEndpoint found and urlNavigate set"),this.logger.verbosePii("urlNavigate set to: "+this.authorityInstance.EndSessionEndpoint)):(a=this.authority+"oauth2/v2.0/logout?"+o+i,this.logger.verbose("No endpoint, urlNavigate set to default")),this.telemetryManager.stopAndFlushApiEvent(t,r,!0),this.logger.verbose("Navigating window to urlNavigate"),this.navigateWindow(a),[3,6];case 5:return s=n.sent(),this.telemetryManager.stopAndFlushApiEvent(t,r,!1,s.errorCode),[3,6];case 6:return[2]}}))}))},e.prototype.clearCache=function(){this.logger.verbose("Clearing cache"),window.renewStates=[];for(var e=this.cacheStorage.getAllTokens(R.Constants.clientId,R.Constants.homeAccountIdentifier),t=0;t<e.length;t++)this.cacheStorage.removeItem(JSON.stringify(e[t].key));this.cacheStorage.resetCacheItems(),this.cacheStorage.clearMsalCookie(),this.logger.verbose("Cache cleared")},e.prototype.clearCacheForScope=function(e){this.logger.verbose("Clearing access token from cache");for(var t=this.cacheStorage.getAllAccessTokens(R.Constants.clientId,R.Constants.homeAccountIdentifier),r=0;r<t.length;r++){var n=t[r];n.value.accessToken===e&&(this.cacheStorage.removeItem(JSON.stringify(n.key)),this.logger.verbosePii("Access token removed: "+n.key))}},e.prototype.isCallback=function(e){return this.logger.info("isCallback will be deprecated in favor of urlContainsHash in MSAL.js v2.0."),this.logger.verbose("isCallback has been called"),m.UrlUtils.urlContainsHash(e)},e.prototype.processCallBack=function(e,t,r){var n,o;this.logger.info("ProcessCallBack has been called. Processing callback from redirect response"),t||(this.logger.verbose("StateInfo is null, getting stateInfo from hash"),t=this.getResponseState(e));try{n=this.saveTokenFromHash(e,t)}catch(e){o=e}try{this.cacheStorage.clearMsalCookie(t.state);var i=this.getAccountState(t.state);if(n){if(t.requestType===R.Constants.renewToken||n.accessToken?(window.parent!==window?this.logger.verbose("Window is in iframe, acquiring token silently"):this.logger.verbose("Acquiring token interactive in progress"),this.logger.verbose("Response tokenType set to "+R.ServerHashParamKeys.ACCESS_TOKEN),n.tokenType=R.ServerHashParamKeys.ACCESS_TOKEN):t.requestType===R.Constants.login&&(this.logger.verbose("Response tokenType set to "+R.ServerHashParamKeys.ID_TOKEN),n.tokenType=R.ServerHashParamKeys.ID_TOKEN),!r)return this.logger.verbose("Setting redirectResponse"),void(this.redirectResponse=n)}else if(!r)return this.logger.verbose("Response is null, setting redirectResponse with state"),this.redirectResponse=w.buildResponseStateOnly(i),this.redirectError=o,void this.cacheStorage.resetTempCacheItems(t.state);this.logger.verbose("Calling callback provided to processCallback"),r(n,o)}catch(e){throw this.logger.error("Error occurred in token received callback function: "+e),b.ClientAuthError.createErrorInCallbackFunction(e.toString())}},e.prototype.handleAuthenticationResponse=function(e){this.logger.verbose("HandleAuthenticationResponse has been called");var t=e||window.location.hash,r=this.getResponseState(t);this.logger.verbose("Obtained state from response");var n=window.callbackMappedToRenewStates[r.state];this.processCallBack(t,r,n)},e.prototype.handleRedirectAuthenticationResponse=function(e){this.logger.info("Returned from redirect url"),this.logger.verbose("HandleRedirectAuthenticationResponse has been called"),g.WindowUtils.clearUrlFragment(),this.logger.verbose("Window.location.hash cleared");var t=this.getResponseState(e);if(this.config.auth.navigateToLoginRequestUrl&&window.parent===window){this.logger.verbose("Window.parent is equal to window, not in popup or iframe. Navigation to login request url after login turned on");var r=this.cacheStorage.getItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.LOGIN_REQUEST,t.state),this.inCookie);if(!r||"null"===r)return this.logger.error("Unable to get valid login request url from cache, redirecting to home page"),void window.location.assign("/");this.logger.verbose("Valid login request url obtained from cache");var n=m.UrlUtils.removeHashFromUrl(window.location.href),o=m.UrlUtils.removeHashFromUrl(r);if(n!==o)return this.logger.verbose("Current url is not login request url, navigating"),this.logger.verbosePii("CurrentUrl: "+n+", finalRedirectUrl: "+o),void window.location.assign(""+o+e);this.logger.verbose("Current url matches login request url");var i=m.UrlUtils.GetUrlComponents(r);i.Hash&&(this.logger.verbose("Login request url contains hash, resetting non-msal hash"),window.location.hash=i.Hash)}else this.config.auth.navigateToLoginRequestUrl||this.logger.verbose("Default navigation to start page after login turned off");this.processCallBack(e,t,null)},e.prototype.getResponseState=function(e){this.logger.verbose("GetResponseState has been called");var t,r=m.UrlUtils.deserializeHash(e);if(!r)throw I.AuthError.createUnexpectedError("Hash was not parsed correctly.");if(!r.hasOwnProperty(R.ServerHashParamKeys.STATE))throw I.AuthError.createUnexpectedError("Hash does not contain state.");this.logger.verbose("Hash contains state. Creating stateInfo object");var n=v.RequestUtils.parseLibraryState(r.state);if((t={requestType:R.Constants.unknown,state:r.state,timestamp:n.ts,method:n.method,stateMatch:!1}).state===this.cacheStorage.getItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.STATE_LOGIN,t.state),this.inCookie)||t.state===this.silentAuthenticationState)return this.logger.verbose("State matches cached state, setting requestType to login"),t.requestType=R.Constants.login,t.stateMatch=!0,t;if(t.state===this.cacheStorage.getItem(l.AuthCache.generateTemporaryCacheKey(R.TemporaryCacheKeys.STATE_ACQ_TOKEN,t.state),this.inCookie))return this.logger.verbose("State matches cached state, setting requestType to renewToken"),t.requestType=R.Constants.renewToken,t.stateMatch=!0,t;if(!t.stateMatch){this.logger.verbose("State does not match cached state, setting requestType to type from window"),t.requestType=window.requestType;for(var o=window.renewStates,i=0;i<o.length;i++)if(o[i]===t.state){this.logger.verbose("Matching state found for request"),t.stateMatch=!0;break}t.stateMatch||this.logger.verbose("Matching state not found for request")}return t},e.prototype.getCachedToken=function(e,t){this.logger.verbose("GetCachedToken has been called");var r=e.scopes,n=this.getCachedIdToken(e,t),o=this.getCachedAccessToken(e,t,r),i=this.getAccountState(e.state);return E.ResponseUtils.buildAuthResponse(n,o,e,t,r,i)},e.prototype.getTokenCacheItemByAuthority=function(e,t,r,n){var o,i=this;return 1===(o=m.UrlUtils.isCommonAuthority(e)||m.UrlUtils.isOrganizationsAuthority(e)?U.AuthCacheUtils.filterTokenCacheItemsByDomain(t,m.UrlUtils.GetUrlComponents(e).HostNameAndPort):U.AuthCacheUtils.filterTokenCacheItemsByAuthority(t,e)).length?o[0]:o.length>1?(this.logger.warning("Multiple matching tokens found. Cleaning cache and requesting a new token."),o.forEach((function(e){i.cacheStorage.removeItem(JSON.stringify(e.key))})),null):(this.logger.verbose("No matching tokens of type "+n+" found"),null)},e.prototype.getCachedIdToken=function(e,t){this.logger.verbose("Getting all cached tokens of type ID Token");var r=this.cacheStorage.getAllIdTokens(this.clientId,t?t.homeAccountIdentifier:null),n=e.authority||this.authority,o=this.getTokenCacheItemByAuthority(n,r,null,R.ServerHashParamKeys.ID_TOKEN);if(o){if(this.logger.verbose("Evaluating ID token found"),this.evaluateTokenExpiration(o)){this.logger.verbose("ID token expiration is within offset, using ID token found in cache");var i=o.value;return i?this.logger.verbose("ID Token found in cache is valid and unexpired"):this.logger.verbose("ID Token found in cache is invalid"),i?new u.IdToken(i.idToken):null}return this.logger.verbose("Cached ID token is expired, removing from cache"),this.cacheStorage.removeItem(JSON.stringify(o.key)),null}return this.logger.verbose("No tokens found"),null},e.prototype.getCachedAccessToken=function(e,t,r){this.logger.verbose("Getting all cached tokens of type Access Token");var n=this.cacheStorage.getAllAccessTokens(this.clientId,t?t.homeAccountIdentifier:null),o=U.AuthCacheUtils.filterTokenCacheItemsByScope(n,r),i=e.authority||this.authority,a=this.getTokenCacheItemByAuthority(i,o,r,R.ServerHashParamKeys.ACCESS_TOKEN);if(a){if(e.authorityInstance=C.AuthorityFactory.CreateInstance(a.key.authority,this.config.auth.validateAuthority),this.logger.verbose("Evaluating access token found"),this.evaluateTokenExpiration(a)){if(this.logger.verbose("Access token expiration is within offset, using access token found in cache"),!t&&!(t=this.getAccount()))throw I.AuthError.createUnexpectedError("Account should not be null here.");var s=this.getAccountState(e.state);return{uniqueId:"",tenantId:"",tokenType:R.ServerHashParamKeys.ACCESS_TOKEN,idToken:null,idTokenClaims:null,accessToken:a.value.accessToken,scopes:a.key.scopes.split(" "),expiresOn:new Date(1e3*Number(a.value.expiresIn)),account:t,accountState:s,fromCache:!0}}return this.logger.verbose("Access token expired, removing from cache"),this.cacheStorage.removeItem(JSON.stringify(a.key)),null}this.logger.verbose("No matching token found when filtering by scope and authority");var c=this.getUniqueAuthority(n,"authority");if(c.length>1)throw b.ClientAuthError.createMultipleAuthoritiesInCacheError(r.toString());return this.logger.verbose("Single authority used, setting authorityInstance"),e.authorityInstance=C.AuthorityFactory.CreateInstance(c[0],this.config.auth.validateAuthority),null},e.prototype.evaluateTokenExpiration=function(e){var t=Number(e.value.expiresIn);return f.TokenUtils.validateExpirationIsWithinOffset(t,this.config.system.tokenRenewalOffsetSeconds)},e.prototype.getUniqueAuthority=function(e,t){this.logger.verbose("GetUniqueAuthority has been called");var r=[],n=[];return e.forEach((function(e){e.key.hasOwnProperty(t)&&-1===n.indexOf(e.key[t])&&(n.push(e.key[t]),r.push(e.key[t]))})),r},e.prototype.extractADALIdToken=function(){this.logger.verbose("ExtractADALIdToken has been called");var e=this.cacheStorage.getItem(R.Constants.adalIdToken);return p.StringUtils.isEmpty(e)?null:f.TokenUtils.extractIdToken(e)},e.prototype.renewToken=function(e,t,r,n,o){this.logger.verbose("RenewToken has been called"),this.logger.verbosePii("RenewToken scope and authority: "+e);var i=g.WindowUtils.generateFrameName(R.FramePrefix.TOKEN_FRAME,e);g.WindowUtils.addHiddenIFrame(i,this.logger),this.updateCacheEntries(o,n,!1),this.logger.verbosePii("RenewToken expected state: "+o.state);var a=m.UrlUtils.urlRemoveQueryStringParameter(m.UrlUtils.createNavigateUrl(o),R.Constants.prompt)+R.Constants.prompt_none+R.Constants.response_mode_fragment;window.renewStates.push(o.state),window.requestType=R.Constants.renewToken,this.logger.verbose("Set window.renewState and requestType"),this.registerCallback(o.state,e,t,r),this.logger.infoPii("Navigate to: "+a),this.loadIframeTimeout(a,i,e).catch((function(e){return r(e)}))},e.prototype.renewIdToken=function(e,t,r,n,o){this.logger.info("RenewIdToken has been called");var i=g.WindowUtils.generateFrameName(R.FramePrefix.ID_TOKEN_FRAME,e);g.WindowUtils.addHiddenIFrame(i,this.logger),this.updateCacheEntries(o,n,!1),this.logger