@azure/msal-angular 2.5.11 → 2.5.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"MsalService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_INSTANCE"}]}],null],"parameters":[{"__symbolic":"reference","module":"@azure/msal-browser","name":"IPublicClientApplication","line":30,"character":48},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":31,"character":26}]}],"initialize":[{"__symbolic":"method"}],"acquireTokenPopup":[{"__symbolic":"method"}],"acquireTokenRedirect":[{"__symbolic":"method"}],"acquireTokenSilent":[{"__symbolic":"method"}],"handleRedirectObservable":[{"__symbolic":"method"}],"loginPopup":[{"__symbolic":"method"}],"loginRedirect":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"logoutRedirect":[{"__symbolic":"method"}],"logoutPopup":[{"__symbolic":"method"}],"ssoSilent":[{"__symbolic":"method"}],"getLogger":[{"__symbolic":"method"}],"setLogger":[{"__symbolic":"method"}]}},"IMsalService":{"__symbolic":"interface"},"MsalGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_GUARD_CONFIG"}]}],null,null,null,null],"parameters":[{"__symbolic":"reference","name":"MsalGuardConfiguration"},{"__symbolic":"reference","name":"MsalBroadcastService"},{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":24,"character":26},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":24}]}],"parseUrl":[{"__symbolic":"method"}],"getDestinationUrl":[{"__symbolic":"method"}],"loginInteractively":[{"__symbolic":"method"}],"activateHelper":[{"__symbolic":"method"}],"includesCode":[{"__symbolic":"method"}],"canActivate":[{"__symbolic":"method"}],"canActivateChild":[{"__symbolic":"method"}],"canLoad":[{"__symbolic":"method"}]}},"MsalGuardConfiguration":{"__symbolic":"interface"},"MsalGuardAuthRequest":{"__symbolic":"interface"},"MsalInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_INTERCEPTOR_CONFIG"}]}],null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":31,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"MsalInterceptorConfiguration"},{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":28,"character":26},{"__symbolic":"reference","name":"MsalBroadcastService"},{"__symbolic":"reference","name":"any"}]}],"intercept":[{"__symbolic":"method"}],"acquireToken":[{"__symbolic":"method"}],"acquireTokenInteractively":[{"__symbolic":"method"}],"getScopesForEndpoint":[{"__symbolic":"method"}],"matchResourcesToEndpoint":[{"__symbolic":"method"}],"getAbsoluteUrl":[{"__symbolic":"method"}],"matchScopesToEndpoint":[{"__symbolic":"method"}]}},"MsalInterceptorConfiguration":{"__symbolic":"interface"},"MsalInterceptorAuthRequest":{"__symbolic":"interface"},"ProtectedResourceScopes":{"__symbolic":"interface"},"MSAL_INSTANCE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":33},"arguments":["MSAL_INSTANCE"]},"MSAL_GUARD_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":37},"arguments":["MSAL_GUARD_CONFIG"]},"MSAL_INTERCEPTOR_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":11,"character":43},"arguments":["MSAL_INTERCEPTOR_CONFIG"]},"MSAL_BROADCAST_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":13,"character":41},"arguments":["MSAL_BROADCAST_CONFIG"]},"MsalBroadcastService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_INSTANCE"}]}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":21},"arguments":[{"__symbolic":"reference","name":"MSAL_BROADCAST_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","module":"@azure/msal-browser","name":"IPublicClientApplication","line":20,"character":53},{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","name":"MsalBroadcastConfiguration"}]}]}},"MsalBroadcastConfiguration":{"__symbolic":"interface"},"MsalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MsalRedirectComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":8}],"providers":[{"__symbolic":"reference","name":"MsalGuard"},{"__symbolic":"reference","name":"MsalBroadcastService"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["msalInstance","guardConfig","interceptorConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"MsalModule"},"providers":[{"provide":{"__symbolic":"reference","name":"MSAL_INSTANCE"},"useValue":{"__symbolic":"reference","name":"msalInstance"}},{"provide":{"__symbolic":"reference","name":"MSAL_GUARD_CONFIG"},"useValue":{"__symbolic":"reference","name":"guardConfig"}},{"provide":{"__symbolic":"reference","name":"MSAL_INTERCEPTOR_CONFIG"},"useValue":{"__symbolic":"reference","name":"interceptorConfig"}},{"__symbolic":"reference","name":"MsalService"}]}}}},"MsalRedirectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"app-redirect","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MsalService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"MsalCustomNavigationClient":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@azure/msal-browser","name":"NavigationClient","line":17,"character":48},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":21,"character":24},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":22,"character":26}]}],"navigateInternal":[{"__symbolic":"method"}]}},"version":"2.5.11"},"origins":{"MsalService":"./msal.service","IMsalService":"./IMsalService","MsalGuard":"./msal.guard","MsalGuardConfiguration":"./msal.guard.config","MsalGuardAuthRequest":"./msal.guard.config","MsalInterceptor":"./msal.interceptor","MsalInterceptorConfiguration":"./msal.interceptor.config","MsalInterceptorAuthRequest":"./msal.interceptor.config","ProtectedResourceScopes":"./msal.interceptor.config","MSAL_INSTANCE":"./constants","MSAL_GUARD_CONFIG":"./constants","MSAL_INTERCEPTOR_CONFIG":"./constants","MSAL_BROADCAST_CONFIG":"./constants","MsalBroadcastService":"./msal.broadcast.service","MsalBroadcastConfiguration":"./msal.broadcast.config","MsalModule":"./msal.module","MsalRedirectComponent":"./msal.redirect.component","MsalCustomNavigationClient":"./msal.navigation.client","version":"./packageMetadata"},"importAs":"@azure/msal-angular"}
1
+ {"__symbolic":"module","version":4,"metadata":{"MsalService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_INSTANCE"}]}],null],"parameters":[{"__symbolic":"reference","module":"@azure/msal-browser","name":"IPublicClientApplication","line":30,"character":48},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":31,"character":26}]}],"initialize":[{"__symbolic":"method"}],"acquireTokenPopup":[{"__symbolic":"method"}],"acquireTokenRedirect":[{"__symbolic":"method"}],"acquireTokenSilent":[{"__symbolic":"method"}],"handleRedirectObservable":[{"__symbolic":"method"}],"loginPopup":[{"__symbolic":"method"}],"loginRedirect":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"logoutRedirect":[{"__symbolic":"method"}],"logoutPopup":[{"__symbolic":"method"}],"ssoSilent":[{"__symbolic":"method"}],"getLogger":[{"__symbolic":"method"}],"setLogger":[{"__symbolic":"method"}]}},"IMsalService":{"__symbolic":"interface"},"MsalGuard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_GUARD_CONFIG"}]}],null,null,null,null],"parameters":[{"__symbolic":"reference","name":"MsalGuardConfiguration"},{"__symbolic":"reference","name":"MsalBroadcastService"},{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":24,"character":26},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":25,"character":24}]}],"parseUrl":[{"__symbolic":"method"}],"getDestinationUrl":[{"__symbolic":"method"}],"loginInteractively":[{"__symbolic":"method"}],"activateHelper":[{"__symbolic":"method"}],"includesCode":[{"__symbolic":"method"}],"canActivate":[{"__symbolic":"method"}],"canActivateChild":[{"__symbolic":"method"}],"canLoad":[{"__symbolic":"method"}]}},"MsalGuardConfiguration":{"__symbolic":"interface"},"MsalGuardAuthRequest":{"__symbolic":"interface"},"MsalInterceptor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":21,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_INTERCEPTOR_CONFIG"}]}],null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":31,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":31,"character":16}]}]],"parameters":[{"__symbolic":"reference","name":"MsalInterceptorConfiguration"},{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":28,"character":26},{"__symbolic":"reference","name":"MsalBroadcastService"},{"__symbolic":"reference","name":"any"}]}],"intercept":[{"__symbolic":"method"}],"acquireToken":[{"__symbolic":"method"}],"acquireTokenInteractively":[{"__symbolic":"method"}],"getScopesForEndpoint":[{"__symbolic":"method"}],"matchResourcesToEndpoint":[{"__symbolic":"method"}],"getAbsoluteUrl":[{"__symbolic":"method"}],"matchScopesToEndpoint":[{"__symbolic":"method"}]}},"MsalInterceptorConfiguration":{"__symbolic":"interface"},"MsalInterceptorAuthRequest":{"__symbolic":"interface"},"ProtectedResourceScopes":{"__symbolic":"interface"},"MSAL_INSTANCE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":7,"character":33},"arguments":["MSAL_INSTANCE"]},"MSAL_GUARD_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":37},"arguments":["MSAL_GUARD_CONFIG"]},"MSAL_INTERCEPTOR_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":11,"character":43},"arguments":["MSAL_INTERCEPTOR_CONFIG"]},"MSAL_BROADCAST_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":13,"character":41},"arguments":["MSAL_BROADCAST_CONFIG"]},"MsalBroadcastService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":9},"arguments":[{"__symbolic":"reference","name":"MSAL_INSTANCE"}]}],null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":22,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":21},"arguments":[{"__symbolic":"reference","name":"MSAL_BROADCAST_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","module":"@azure/msal-browser","name":"IPublicClientApplication","line":20,"character":53},{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","name":"MsalBroadcastConfiguration"}]}]}},"MsalBroadcastConfiguration":{"__symbolic":"interface"},"MsalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MsalRedirectComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":8}],"providers":[{"__symbolic":"reference","name":"MsalGuard"},{"__symbolic":"reference","name":"MsalBroadcastService"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["msalInstance","guardConfig","interceptorConfig"],"value":{"ngModule":{"__symbolic":"reference","name":"MsalModule"},"providers":[{"provide":{"__symbolic":"reference","name":"MSAL_INSTANCE"},"useValue":{"__symbolic":"reference","name":"msalInstance"}},{"provide":{"__symbolic":"reference","name":"MSAL_GUARD_CONFIG"},"useValue":{"__symbolic":"reference","name":"guardConfig"}},{"provide":{"__symbolic":"reference","name":"MSAL_INTERCEPTOR_CONFIG"},"useValue":{"__symbolic":"reference","name":"interceptorConfig"}},{"__symbolic":"reference","name":"MsalService"}]}}}},"MsalRedirectComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"app-redirect","template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MsalService"}]}],"ngOnInit":[{"__symbolic":"method"}]}},"MsalCustomNavigationClient":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@azure/msal-browser","name":"NavigationClient","line":17,"character":48},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":16,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MsalService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":21,"character":24},{"__symbolic":"reference","module":"@angular/common","name":"Location","line":22,"character":26}]}],"navigateInternal":[{"__symbolic":"method"}]}},"version":"2.5.13"},"origins":{"MsalService":"./msal.service","IMsalService":"./IMsalService","MsalGuard":"./msal.guard","MsalGuardConfiguration":"./msal.guard.config","MsalGuardAuthRequest":"./msal.guard.config","MsalInterceptor":"./msal.interceptor","MsalInterceptorConfiguration":"./msal.interceptor.config","MsalInterceptorAuthRequest":"./msal.interceptor.config","ProtectedResourceScopes":"./msal.interceptor.config","MSAL_INSTANCE":"./constants","MSAL_GUARD_CONFIG":"./constants","MSAL_INTERCEPTOR_CONFIG":"./constants","MSAL_BROADCAST_CONFIG":"./constants","MsalBroadcastService":"./msal.broadcast.service","MsalBroadcastConfiguration":"./msal.broadcast.config","MsalModule":"./msal.module","MsalRedirectComponent":"./msal.redirect.component","MsalCustomNavigationClient":"./msal.navigation.client","version":"./packageMetadata"},"importAs":"@azure/msal-angular"}
@@ -15,7 +15,7 @@
15
15
 
16
16
  /* eslint-disable header/header */
17
17
  var name = "@azure/msal-angular";
18
- var version = "2.5.11";
18
+ var version = "2.5.13";
19
19
 
20
20
  /*
21
21
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1 +1 @@
1
- {"version":3,"file":"azure-msal-angular.umd.js","sources":["../../src/constants.ts","../../src/packageMetadata.ts","../../src/msal.service.ts","../../src/msal.broadcast.service.ts","../../src/msal.guard.ts","../../src/msal.interceptor.ts","../../src/msal.redirect.component.ts","../../src/msal.module.ts","../../node_modules/tslib/tslib.es6.js","../../src/msal.navigation.client.ts","../../src/public-api.ts","../../src/azure-msal-angular.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { InjectionToken } from \"@angular/core\";\r\n\r\nexport const MSAL_INSTANCE = new InjectionToken<string>(\"MSAL_INSTANCE\");\r\n\r\nexport const MSAL_GUARD_CONFIG = new InjectionToken<string>(\"MSAL_GUARD_CONFIG\");\r\n\r\nexport const MSAL_INTERCEPTOR_CONFIG = new InjectionToken<string>(\"MSAL_INTERCEPTOR_CONFIG\");\r\n\r\nexport const MSAL_BROADCAST_CONFIG = new InjectionToken<string>(\"MSAL_BROADCAST_CONFIG\");\r\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-angular\";\nexport const version = \"2.5.11\";\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport {\r\n IPublicClientApplication,\r\n EndSessionRequest,\r\n EndSessionPopupRequest,\r\n AuthenticationResult,\r\n RedirectRequest,\r\n SilentRequest,\r\n PopupRequest,\r\n SsoSilentRequest,\r\n Logger,\r\n WrapperSKU\r\n} from \"@azure/msal-browser\";\r\nimport { MSAL_INSTANCE } from \"./constants\";\r\nimport { Observable, from } from \"rxjs\";\r\nimport { IMsalService } from \"./IMsalService\";\r\nimport { name, version } from \"./packageMetadata\";\r\n\r\n@Injectable()\r\nexport class MsalService implements IMsalService {\r\n private redirectHash: string;\r\n private logger: Logger;\r\n\r\n constructor(\r\n @Inject(MSAL_INSTANCE) public instance: IPublicClientApplication,\r\n private location: Location\r\n ) {\r\n const hash = this.location.path(true).split(\"#\").pop();\r\n if (hash) {\r\n this.redirectHash = `#${hash}`;\r\n }\r\n this.instance.initializeWrapperLibrary(WrapperSKU.Angular, version);\r\n }\r\n\r\n initialize(): Observable<void> {\r\n return from(this.instance.initialize());\r\n }\r\n acquireTokenPopup(request: PopupRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.acquireTokenPopup(request));\r\n }\r\n acquireTokenRedirect(request: RedirectRequest): Observable<void> {\r\n return from(this.instance.acquireTokenRedirect(request));\r\n }\r\n acquireTokenSilent(silentRequest: SilentRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.acquireTokenSilent(silentRequest));\r\n }\r\n handleRedirectObservable(hash?: string): Observable<AuthenticationResult> {\r\n return from(this.instance.handleRedirectPromise(hash || this.redirectHash));\r\n }\r\n loginPopup(request?: PopupRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.loginPopup(request));\r\n }\r\n loginRedirect(request?: RedirectRequest): Observable<void> {\r\n return from(this.instance.loginRedirect(request));\r\n }\r\n logout(logoutRequest?: EndSessionRequest): Observable<void> {\r\n return from(this.instance.logout(logoutRequest));\r\n }\r\n logoutRedirect(logoutRequest?: EndSessionRequest): Observable<void> {\r\n return from(this.instance.logoutRedirect(logoutRequest));\r\n }\r\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Observable<void> {\r\n return from(this.instance.logoutPopup(logoutRequest));\r\n }\r\n ssoSilent(request: SsoSilentRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.ssoSilent(request));\r\n }\r\n /**\r\n * Gets logger for msal-angular.\r\n * If no logger set, returns logger instance created with same options as msal-browser\r\n */\r\n getLogger(): Logger {\r\n if (!this.logger) {\r\n this.logger = this.instance.getLogger().clone(name, version);\r\n }\r\n return this.logger;\r\n }\r\n // Create a logger instance for msal-angular with the same options as msal-browser\r\n setLogger(logger: Logger): void {\r\n this.logger = logger.clone(name, version);\r\n this.instance.setLogger(logger);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from \"rxjs\";\r\nimport { MSAL_BROADCAST_CONFIG, MSAL_INSTANCE } from \"./constants\";\r\nimport { EventMessage, EventMessageUtils, IPublicClientApplication, InteractionStatus } from \"@azure/msal-browser\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { MsalBroadcastConfiguration } from \"./msal.broadcast.config\";\r\n\r\n@Injectable()\r\nexport class MsalBroadcastService {\r\n private _msalSubject: Subject<EventMessage>;\r\n public msalSubject$: Observable<EventMessage>;\r\n private _inProgress: BehaviorSubject<InteractionStatus>;\r\n public inProgress$: Observable<InteractionStatus>;\r\n\r\n constructor(\r\n @Inject(MSAL_INSTANCE) private msalInstance: IPublicClientApplication,\r\n private authService: MsalService,\r\n @Optional() @Inject(MSAL_BROADCAST_CONFIG) private msalBroadcastConfig?: MsalBroadcastConfiguration\r\n ) {\r\n // Make _msalSubject a ReplaySubject if configured to replay past events\r\n if (this.msalBroadcastConfig && this.msalBroadcastConfig.eventsToReplay > 0) {\r\n this.authService.getLogger().verbose(`BroadcastService - replayPastEvents set on BroadcastConfig, replaying the last ${this.msalBroadcastConfig.eventsToReplay} events`);\r\n this._msalSubject = new ReplaySubject<EventMessage>(this.msalBroadcastConfig.eventsToReplay);\r\n } else {\r\n // Defaults to _msalSubject being a Subject\r\n this._msalSubject = new Subject<EventMessage>();\r\n }\r\n\r\n this.msalSubject$ = this._msalSubject.asObservable();\r\n\r\n // InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription\r\n this._inProgress = new BehaviorSubject<InteractionStatus>(InteractionStatus.Startup);\r\n this.inProgress$ = this._inProgress.asObservable();\r\n\r\n this.msalInstance.addEventCallback((message: EventMessage) => {\r\n this._msalSubject.next(message);\r\n const status = EventMessageUtils.getInteractionStatusFromEvent(message, this._inProgress.value);\r\n if (status !== null) {\r\n this.authService.getLogger().verbose(`BroadcastService - ${message.eventType} results in setting inProgress from ${this._inProgress.value} to ${status}`);\r\n this._inProgress.next(status);\r\n }\r\n });\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, CanLoad, UrlTree, Router } from \"@angular/router\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { Injectable, Inject, VERSION } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { InteractionType, BrowserConfigurationAuthError, BrowserUtils, UrlString, PopupRequest, RedirectRequest, AuthenticationResult } from \"@azure/msal-browser\";\r\nimport { MsalGuardConfiguration } from \"./msal.guard.config\";\r\nimport { MSAL_GUARD_CONFIG } from \"./constants\";\r\nimport { concatMap, catchError, map } from \"rxjs/operators\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\n\r\n@Injectable()\r\nexport class MsalGuard implements CanActivate, CanActivateChild, CanLoad {\r\n private loginFailedRoute?: UrlTree;\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private msalBroadcastService: MsalBroadcastService,\r\n private authService: MsalService,\r\n private location: Location,\r\n private router: Router\r\n ) { \r\n // Subscribing so events in MsalGuard will set inProgress$ observable\r\n this.msalBroadcastService.inProgress$.subscribe();\r\n }\r\n\r\n /**\r\n * Parses url string to UrlTree\r\n * @param url \r\n */\r\n parseUrl(url: string): UrlTree {\r\n return this.router.parseUrl(url);\r\n }\r\n\r\n /**\r\n * Builds the absolute url for the destination page\r\n * @param path Relative path of requested page\r\n * @returns Full destination url\r\n */\r\n getDestinationUrl(path: string): string {\r\n this.authService.getLogger().verbose(\"Guard - getting destination url\");\r\n // Absolute base url for the application (default to origin if base element not present)\r\n const baseElements = document.getElementsByTagName(\"base\");\r\n const baseUrl = this.location.normalize(baseElements.length ? baseElements[0].href : window.location.origin);\r\n\r\n // Path of page (including hash, if using hash routing)\r\n const pathUrl = this.location.prepareExternalUrl(path);\r\n\r\n // Hash location strategy\r\n if (pathUrl.startsWith(\"#\")) {\r\n this.authService.getLogger().verbose(\"Guard - destination by hash routing\");\r\n return `${baseUrl}/${pathUrl}`;\r\n }\r\n\r\n /*\r\n * If using path location strategy, pathUrl will include the relative portion of the base path (e.g. /base/page).\r\n * Since baseUrl also includes /base, can just concatentate baseUrl + path\r\n */\r\n return `${baseUrl}${path}`;\r\n }\r\n\r\n /**\r\n * Interactively prompt the user to login\r\n * @param url Path of the requested page\r\n */\r\n private loginInteractively(state: RouterStateSnapshot): Observable<boolean> {\r\n const authRequest = typeof this.msalGuardConfig.authRequest === \"function\"\r\n ? this.msalGuardConfig.authRequest(this.authService, state)\r\n : { ...this.msalGuardConfig.authRequest };\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.getLogger().verbose(\"Guard - logging in by popup\");\r\n return this.authService.loginPopup(authRequest as PopupRequest)\r\n .pipe(\r\n map((response: AuthenticationResult) => {\r\n this.authService.getLogger().verbose(\"Guard - login by popup successful, can activate, setting active account\");\r\n this.authService.instance.setActiveAccount(response.account);\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n this.authService.getLogger().verbose(\"Guard - logging in by redirect\");\r\n const redirectStartPage = this.getDestinationUrl(state.url);\r\n return this.authService.loginRedirect({\r\n redirectStartPage,\r\n ...authRequest\r\n } as RedirectRequest)\r\n .pipe(\r\n map(() => false)\r\n );\r\n }\r\n\r\n /**\r\n * Helper which checks for the correct interaction type, prevents page with Guard to be set as reidrect, and calls handleRedirectObservable\r\n * @param state \r\n */\r\n private activateHelper(state?: RouterStateSnapshot): Observable<boolean|UrlTree> {\r\n if (this.msalGuardConfig.interactionType !== InteractionType.Popup && this.msalGuardConfig.interactionType !== InteractionType.Redirect) {\r\n throw new BrowserConfigurationAuthError(\"invalid_interaction_type\", \"Invalid interaction type provided to MSAL Guard. InteractionType.Popup or InteractionType.Redirect must be provided in the MsalGuardConfiguration\");\r\n }\r\n this.authService.getLogger().verbose(\"MSAL Guard activated\");\r\n\r\n /*\r\n * If a page with MSAL Guard is set as the redirect for acquireTokenSilent,\r\n * short-circuit to prevent redirecting or popups.\r\n */\r\n if (typeof window !== \"undefined\") {\r\n if (UrlString.hashContainsKnownProperties(window.location.hash) && BrowserUtils.isInIframe() && !this.authService.instance.getConfiguration().system.allowRedirectInIframe) {\r\n this.authService.getLogger().warning(\"Guard - redirectUri set to page with MSAL Guard. It is recommended to not set redirectUri to a page that requires authentication.\");\r\n return of(false);\r\n }\r\n } else {\r\n this.authService.getLogger().info(\"Guard - window is undefined, MSAL does not support server-side token acquisition\");\r\n return of(true);\r\n }\r\n\r\n /**\r\n * If a loginFailedRoute is set in the config, set this as the loginFailedRoute\r\n */\r\n if (this.msalGuardConfig.loginFailedRoute) {\r\n this.loginFailedRoute = this.parseUrl(this.msalGuardConfig.loginFailedRoute);\r\n }\r\n\r\n // Capture current path before it gets changed by handleRedirectObservable\r\n const currentPath = this.location.path(true);\r\n\r\n return this.authService.handleRedirectObservable()\r\n .pipe(\r\n concatMap(() => {\r\n if (!this.authService.instance.getAllAccounts().length) {\r\n if (state) {\r\n this.authService.getLogger().verbose(\"Guard - no accounts retrieved, log in required to activate\");\r\n return this.loginInteractively(state);\r\n } \r\n this.authService.getLogger().verbose(\"Guard - no accounts retrieved, no state, cannot load\");\r\n return of(false);\r\n }\r\n\r\n this.authService.getLogger().verbose(\"Guard - at least 1 account exists, can activate or load\");\r\n\r\n // Prevent navigating the app to /#code= or /code=\r\n if (state) {\r\n /*\r\n * Path routing:\r\n * state.url: /#code=...\r\n * state.root.fragment: code=...\r\n */\r\n\r\n /*\r\n * Hash routing:\r\n * state.url: /code\r\n * state.root.fragment: null\r\n */\r\n const urlContainsCode: boolean = this.includesCode(state.url);\r\n const fragmentContainsCode: boolean = !!state.root && !!state.root.fragment && this.includesCode(`#${state.root.fragment}`);\r\n const hashRouting: boolean = this.location.prepareExternalUrl(state.url).indexOf(\"#\") === 0;\r\n\r\n // Ensure code parameter is in fragment (and not in query parameter), or that hash hash routing is used\r\n if (urlContainsCode && (fragmentContainsCode || hashRouting)) {\r\n this.authService.getLogger().info(\"Guard - Hash contains known code response, stopping navigation.\");\r\n \r\n // Path routing (navigate to current path without hash)\r\n if (currentPath.indexOf(\"#\") > -1) {\r\n return of(this.parseUrl(this.location.path()));\r\n }\r\n \r\n // Hash routing (navigate to root path)\r\n return of(this.parseUrl(\"\"));\r\n }\r\n }\r\n\r\n return of(true);\r\n\r\n }),\r\n catchError((error: Error) => {\r\n this.authService.getLogger().error(\"Guard - error while logging in, unable to activate\");\r\n this.authService.getLogger().errorPii(`Guard - error: ${error.message}`);\r\n /**\r\n * If a loginFailedRoute is set, checks to see if Angular 10+ is used and state is passed in before returning route\r\n * Apps using Angular 9 will receive of(false) in canLoad interface, as it does not support UrlTree return types\r\n */\r\n if (this.loginFailedRoute && parseInt(VERSION.major, 10) > 9 && state) {\r\n this.authService.getLogger().verbose(\"Guard - loginFailedRoute set, redirecting\");\r\n return of(this.loginFailedRoute);\r\n }\r\n return of(false);\r\n })\r\n );\r\n }\r\n\r\n includesCode(path: string): boolean {\r\n return (path.lastIndexOf(\"/code\") > -1 &&\r\n path.lastIndexOf(\"/code\") === path.length - \"/code\".length) || // path.endsWith(\"/code\")\r\n path.indexOf(\"#code=\") > -1 || \r\n path.indexOf(\"&code=\") > -1;\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean|UrlTree> {\r\n this.authService.getLogger().verbose(\"Guard - canActivate\");\r\n return this.activateHelper(state);\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean|UrlTree> {\r\n this.authService.getLogger().verbose(\"Guard - canActivateChild\");\r\n return this.activateHelper(state);\r\n }\r\n\r\n canLoad(): Observable<boolean> {\r\n this.authService.getLogger().verbose(\"Guard - canLoad\");\r\n // @ts-ignore\r\n return this.activateHelper();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from \"@angular/common/http\";\r\nimport { Location, DOCUMENT } from \"@angular/common\";\r\nimport { Observable, EMPTY, of } from \"rxjs\";\r\nimport { switchMap, catchError, take, filter } from \"rxjs/operators\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { AccountInfo, AuthenticationResult, BrowserConfigurationAuthError, InteractionStatus, InteractionType, StringUtils, UrlString } from \"@azure/msal-browser\";\r\nimport { Injectable, Inject } from \"@angular/core\";\r\nimport { MSAL_INTERCEPTOR_CONFIG } from \"./constants\";\r\nimport { MsalInterceptorAuthRequest, MsalInterceptorConfiguration, ProtectedResourceScopes, MatchingResources } from \"./msal.interceptor.config\";\r\nimport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\n\r\n@Injectable()\r\nexport class MsalInterceptor implements HttpInterceptor {\r\n private _document?: Document;\r\n\r\n constructor(\r\n @Inject(MSAL_INTERCEPTOR_CONFIG) private msalInterceptorConfig: MsalInterceptorConfiguration,\r\n private authService: MsalService,\r\n private location: Location,\r\n private msalBroadcastService: MsalBroadcastService,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n @Inject(DOCUMENT) document?: any\r\n ) {\r\n this._document = document as Document;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (this.msalInterceptorConfig.interactionType !== InteractionType.Popup && this.msalInterceptorConfig.interactionType !== InteractionType.Redirect) {\r\n throw new BrowserConfigurationAuthError(\"invalid_interaction_type\", \"Invalid interaction type provided to MSAL Interceptor. InteractionType.Popup, InteractionType.Redirect must be provided in the msalInterceptorConfiguration\");\r\n }\r\n\r\n this.authService.getLogger().verbose(\"MSAL Interceptor activated\");\r\n const scopes = this.getScopesForEndpoint(req.url, req.method);\r\n\r\n // If no scopes for endpoint, does not acquire token\r\n if (!scopes || scopes.length === 0) {\r\n this.authService.getLogger().verbose(\"Interceptor - no scopes for endpoint\");\r\n return next.handle(req);\r\n }\r\n\r\n // Sets account as active account or first account\r\n let account: AccountInfo;\r\n if (!!this.authService.instance.getActiveAccount()) {\r\n this.authService.getLogger().verbose(\"Interceptor - active account selected\");\r\n account = this.authService.instance.getActiveAccount();\r\n } else {\r\n this.authService.getLogger().verbose(\"Interceptor - no active account, fallback to first account\");\r\n account = this.authService.instance.getAllAccounts()[0];\r\n }\r\n\r\n const authRequest = typeof this.msalInterceptorConfig.authRequest === \"function\"\r\n ? this.msalInterceptorConfig.authRequest(this.authService, req, { account: account })\r\n : { ...this.msalInterceptorConfig.authRequest, account };\r\n\r\n this.authService.getLogger().info(`Interceptor - ${scopes.length} scopes found for endpoint`);\r\n this.authService.getLogger().infoPii(`Interceptor - [${scopes}] scopes found for ${req.url}`);\r\n\r\n return this.acquireToken(authRequest, scopes, account)\r\n .pipe(\r\n switchMap((result: AuthenticationResult) => {\r\n this.authService.getLogger().verbose(\"Interceptor - setting authorization headers\");\r\n const headers = req.headers\r\n .set(\"Authorization\", `Bearer ${result.accessToken}`);\r\n\r\n const requestClone = req.clone({headers});\r\n return next.handle(requestClone);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Try to acquire token silently. Invoke interaction if acquireTokenSilent rejected with error or resolved with null access token\r\n * @param authRequest Request\r\n * @param scopes Array of scopes for the request\r\n * @param account Account\r\n * @returns Authentication result\r\n */\r\n private acquireToken(authRequest: MsalInterceptorAuthRequest, scopes: string[], account: AccountInfo): Observable<AuthenticationResult> {\r\n // Note: For MSA accounts, include openid scope when calling acquireTokenSilent to return idToken\r\n return this.authService.acquireTokenSilent({...authRequest, scopes, account })\r\n .pipe(\r\n catchError(() => {\r\n this.authService.getLogger().error(\"Interceptor - acquireTokenSilent rejected with error. Invoking interaction to resolve.\");\r\n return this.msalBroadcastService.inProgress$\r\n .pipe(\r\n take(1),\r\n switchMap((status: InteractionStatus) => {\r\n if (status === InteractionStatus.None) {\r\n return this.acquireTokenInteractively(authRequest, scopes);\r\n }\r\n\r\n return this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n take(1),\r\n switchMap(() => this.acquireToken(authRequest, scopes, account))\r\n );\r\n })\r\n );\r\n }),\r\n switchMap((result: AuthenticationResult) => {\r\n if (!result.accessToken) {\r\n this.authService.getLogger().error(\"Interceptor - acquireTokenSilent resolved with null access token. Known issue with B2C tenants, invoking interaction to resolve.\");\r\n return this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n take(1),\r\n switchMap(() => this.acquireTokenInteractively(authRequest, scopes))\r\n );\r\n }\r\n return of(result);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Invoke interaction for the given set of scopes\r\n * @param authRequest Request\r\n * @param scopes Array of scopes for the request\r\n * @returns Result from the interactive request\r\n */\r\n private acquireTokenInteractively(authRequest: MsalInterceptorAuthRequest, scopes: string[]): Observable<AuthenticationResult> {\r\n if (this.msalInterceptorConfig.interactionType === InteractionType.Popup) {\r\n this.authService.getLogger().verbose(\"Interceptor - error acquiring token silently, acquiring by popup\");\r\n return this.authService.acquireTokenPopup({ ...authRequest, scopes });\r\n }\r\n this.authService.getLogger().verbose(\"Interceptor - error acquiring token silently, acquiring by redirect\");\r\n const redirectStartPage = window.location.href;\r\n this.authService.acquireTokenRedirect({...authRequest, scopes, redirectStartPage });\r\n return EMPTY;\r\n }\r\n\r\n /**\r\n * Looks up the scopes for the given endpoint from the protectedResourceMap\r\n * @param endpoint Url of the request\r\n * @param httpMethod Http method of the request\r\n * @returns Array of scopes, or null if not found\r\n *\r\n */\r\n private getScopesForEndpoint(endpoint: string, httpMethod: string): Array<string>|null {\r\n this.authService.getLogger().verbose(\"Interceptor - getting scopes for endpoint\");\r\n\r\n // Ensures endpoints and protected resources compared are normalized\r\n const normalizedEndpoint = this.location.normalize(endpoint);\r\n\r\n const protectedResourcesArray = Array.from(this.msalInterceptorConfig.protectedResourceMap.keys());\r\n\r\n const matchingProtectedResources = this.matchResourcesToEndpoint(protectedResourcesArray, normalizedEndpoint);\r\n\r\n // Check absolute urls of resources first before checking relative to prevent incorrect matching where multiple resources have similar relative urls\r\n if (matchingProtectedResources.absoluteResources.length > 0) {\r\n return this.matchScopesToEndpoint(this.msalInterceptorConfig.protectedResourceMap, matchingProtectedResources.absoluteResources, httpMethod);\r\n } else if (matchingProtectedResources.relativeResources.length > 0){\r\n return this.matchScopesToEndpoint(this.msalInterceptorConfig.protectedResourceMap, matchingProtectedResources.relativeResources, httpMethod);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Finds resource endpoints that match request endpoint\r\n * @param protectedResourcesEndpoints\r\n * @param endpoint\r\n * @returns\r\n */\r\n private matchResourcesToEndpoint(protectedResourcesEndpoints: string[], endpoint: string): MatchingResources {\r\n const matchingResources: MatchingResources = {absoluteResources: [], relativeResources: []};\r\n\r\n protectedResourcesEndpoints.forEach(key => {\r\n // Normalizes and adds resource to matchingResources.absoluteResources if key matches endpoint. StringUtils.matchPattern accounts for wildcards\r\n const normalizedKey = this.location.normalize(key);\r\n if (StringUtils.matchPattern(normalizedKey, endpoint)){\r\n matchingResources.absoluteResources.push(key);\r\n }\r\n\r\n // Get url components for relative urls\r\n const absoluteKey = this.getAbsoluteUrl(key);\r\n const keyComponents = new UrlString(absoluteKey).getUrlComponents();\r\n const absoluteEndpoint = this.getAbsoluteUrl(endpoint);\r\n const endpointComponents = new UrlString(absoluteEndpoint).getUrlComponents();\r\n\r\n // Normalized key should include query strings if applicable\r\n const relativeNormalizedKey = keyComponents.QueryString ? `${keyComponents.AbsolutePath}?${keyComponents.QueryString}` : this.location.normalize(keyComponents.AbsolutePath);\r\n\r\n // Add resource to matchingResources.relativeResources if same origin, relativeKey matches endpoint, and is not empty\r\n if (keyComponents.HostNameAndPort === endpointComponents.HostNameAndPort && StringUtils.matchPattern(relativeNormalizedKey, absoluteEndpoint) && relativeNormalizedKey !== \"\" && relativeNormalizedKey !== \"/*\"){\r\n matchingResources.relativeResources.push(key);\r\n }\r\n });\r\n\r\n return matchingResources;\r\n }\r\n\r\n /**\r\n * Transforms relative urls to absolute urls\r\n * @param url\r\n * @returns\r\n */\r\n private getAbsoluteUrl(url: string): string {\r\n const link = this._document.createElement(\"a\");\r\n link.href = url;\r\n return link.href;\r\n }\r\n\r\n /**\r\n * Finds scopes from first matching endpoint with HTTP method that matches request\r\n * @param protectedResourceMap Protected resource map\r\n * @param endpointArray Array of resources that match request endpoint\r\n * @param httpMethod Http method of the request\r\n * @returns\r\n */\r\n private matchScopesToEndpoint(protectedResourceMap: Map<string, Array<string|ProtectedResourceScopes> | null>, endpointArray: string[], httpMethod: string): Array<string>|null {\r\n const allMatchedScopes = [];\r\n\r\n // Check each matched endpoint for matching HttpMethod and scopes\r\n endpointArray.forEach(matchedEndpoint => {\r\n const scopesForEndpoint = [];\r\n const methodAndScopesArray = protectedResourceMap.get(matchedEndpoint);\r\n\r\n // Return if resource is unprotected\r\n if (methodAndScopesArray === null) {\r\n allMatchedScopes.push(null);\r\n return;\r\n }\r\n\r\n methodAndScopesArray.forEach(entry => {\r\n // Entry is either array of scopes or ProtectedResourceScopes object\r\n if (typeof entry === \"string\") {\r\n scopesForEndpoint.push(entry);\r\n } else {\r\n // Ensure methods being compared are normalized\r\n const normalizedRequestMethod = httpMethod.toLowerCase();\r\n const normalizedResourceMethod = entry.httpMethod.toLowerCase();\r\n // Method in protectedResourceMap matches request http method\r\n if (normalizedResourceMethod === normalizedRequestMethod) {\r\n // Validate if scopes comes null to unprotect the resource in a certain http method\r\n if (entry.scopes === null) {\r\n allMatchedScopes.push(null);\r\n } else {\r\n entry.scopes.forEach((scope) => {\r\n scopesForEndpoint.push(scope);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Only add to all scopes if scopes for endpoint and method is found\r\n if (scopesForEndpoint.length > 0) {\r\n allMatchedScopes.push(scopesForEndpoint);\r\n }\r\n });\r\n\r\n if (allMatchedScopes.length > 0) {\r\n if (allMatchedScopes.length > 1) {\r\n this.authService.getLogger().warning(\"Interceptor - More than 1 matching scopes for endpoint found.\");\r\n }\r\n // Returns scopes for first matching endpoint\r\n return allMatchedScopes[0];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\n/**\r\n * This is a dedicated redirect component to be added to Angular apps to \r\n * handle redirects when using @azure/msal-angular.\r\n * Import this component to use redirects in your app.\r\n */\r\n\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { concatMap } from \"rxjs/operators\";\r\nimport { MsalService } from \"./msal.service\";\r\n\r\n@Component({\r\n selector: \"app-redirect\",\r\n template: \"\"\r\n})\r\nexport class MsalRedirectComponent implements OnInit {\r\n\r\n constructor(private authService: MsalService) { }\r\n\r\n ngOnInit(): void { \r\n this.authService.getLogger().verbose(\"MsalRedirectComponent activated\");\r\n this.authService.initialize().pipe(\r\n concatMap(() => {\r\n return this.authService.handleRedirectObservable();\r\n })\r\n ).subscribe();\r\n }\r\n\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { IPublicClientApplication } from \"@azure/msal-browser\";\r\nimport { MsalGuardConfiguration } from \"./msal.guard.config\";\r\nimport { MsalInterceptorConfiguration } from \"./msal.interceptor.config\";\r\nimport { MsalGuard } from \"./msal.guard\";\r\nimport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { MSAL_INSTANCE , MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG } from \"./constants\";\r\nimport { MsalRedirectComponent } from \"./msal.redirect.component\";\r\n\r\n@NgModule({\r\n declarations: [MsalRedirectComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n MsalGuard,\r\n MsalBroadcastService\r\n ]\r\n})\r\nexport class MsalModule {\r\n static forRoot(\r\n msalInstance: IPublicClientApplication,\r\n guardConfig: MsalGuardConfiguration,\r\n interceptorConfig: MsalInterceptorConfiguration\r\n ): ModuleWithProviders<MsalModule> {\r\n return {\r\n ngModule: MsalModule,\r\n providers: [\r\n {\r\n provide: MSAL_INSTANCE,\r\n useValue: msalInstance\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useValue: guardConfig\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useValue: interceptorConfig\r\n },\r\n MsalService\r\n ]\r\n };\r\n }\r\n\r\n}\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { NavigationClient, NavigationOptions, UrlString } from \"@azure/msal-browser\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n/**\r\n * Custom navigation used for Angular client-side navigation.\r\n * See performance doc for details:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular/docs/v2-docs/performance.md\r\n */\r\n@Injectable()\r\nexport class MsalCustomNavigationClient extends NavigationClient {\r\n\r\n constructor(\r\n private authService: MsalService,\r\n private router: Router, \r\n private location: Location\r\n ) {\r\n super();\r\n }\r\n\r\n async navigateInternal(url:string, options: NavigationOptions): Promise<boolean> {\r\n this.authService.getLogger().trace(\"MsalCustomNavigationClient called\");\r\n \r\n this.authService.getLogger().verbose(\"MsalCustomNavigationClient - navigating\");\r\n this.authService.getLogger().verbosePii(`MsalCustomNavigationClient - navigating to url: ${url}`);\r\n \r\n // Prevent hash clearing from causing an issue with Client-side navigation after redirect is handled\r\n if (options.noHistory) {\r\n return super.navigateInternal(url, options);\r\n } else {\r\n // Normalizing newUrl if no query string\r\n const urlComponents = new UrlString(url).getUrlComponents();\r\n const newUrl = urlComponents.QueryString ? `${urlComponents.AbsolutePath}?${urlComponents.QueryString}` : this.location.normalize(urlComponents.AbsolutePath);\r\n this.router.navigateByUrl(newUrl, { replaceUrl: options.noHistory });\r\n }\r\n return Promise.resolve(options.noHistory);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\n/**\r\n * @packageDocumentation\r\n * @module @azure/msal-angular\r\n */\r\n\r\nexport { MsalService } from \"./msal.service\";\r\nexport { IMsalService } from \"./IMsalService\";\r\nexport { MsalGuard } from \"./msal.guard\";\r\nexport { MsalGuardConfiguration, MsalGuardAuthRequest } from \"./msal.guard.config\";\r\nexport { MsalInterceptor } from \"./msal.interceptor\";\r\nexport { MsalInterceptorConfiguration, MsalInterceptorAuthRequest, ProtectedResourceScopes } from \"./msal.interceptor.config\";\r\nexport { MSAL_INSTANCE, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG, MSAL_BROADCAST_CONFIG } from \"./constants\";\r\nexport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\nexport { MsalBroadcastConfiguration } from \"./msal.broadcast.config\";\r\nexport { MsalModule } from \"./msal.module\";\r\nexport { MsalRedirectComponent } from \"./msal.redirect.component\";\r\nexport { MsalCustomNavigationClient } from \"./msal.navigation.client\";\r\nexport { version } from \"./packageMetadata\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","WrapperSKU","from","Injectable","Inject","Location","ReplaySubject","Subject","BehaviorSubject","InteractionStatus","EventMessageUtils","Optional","InteractionType","map","BrowserConfigurationAuthError","UrlString","BrowserUtils","of","concatMap","catchError","VERSION","Router","switchMap","take","filter","EMPTY","StringUtils","DOCUMENT","Component","NgModule","CommonModule","NavigationClient"],"mappings":"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"}
1
+ {"version":3,"file":"azure-msal-angular.umd.js","sources":["../../src/constants.ts","../../src/packageMetadata.ts","../../src/msal.service.ts","../../src/msal.broadcast.service.ts","../../src/msal.guard.ts","../../src/msal.interceptor.ts","../../src/msal.redirect.component.ts","../../src/msal.module.ts","../../node_modules/tslib/tslib.es6.js","../../src/msal.navigation.client.ts","../../src/public-api.ts","../../src/azure-msal-angular.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { InjectionToken } from \"@angular/core\";\r\n\r\nexport const MSAL_INSTANCE = new InjectionToken<string>(\"MSAL_INSTANCE\");\r\n\r\nexport const MSAL_GUARD_CONFIG = new InjectionToken<string>(\"MSAL_GUARD_CONFIG\");\r\n\r\nexport const MSAL_INTERCEPTOR_CONFIG = new InjectionToken<string>(\"MSAL_INTERCEPTOR_CONFIG\");\r\n\r\nexport const MSAL_BROADCAST_CONFIG = new InjectionToken<string>(\"MSAL_BROADCAST_CONFIG\");\r\n","/* eslint-disable header/header */\nexport const name = \"@azure/msal-angular\";\nexport const version = \"2.5.13\";\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { Inject, Injectable } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport {\r\n IPublicClientApplication,\r\n EndSessionRequest,\r\n EndSessionPopupRequest,\r\n AuthenticationResult,\r\n RedirectRequest,\r\n SilentRequest,\r\n PopupRequest,\r\n SsoSilentRequest,\r\n Logger,\r\n WrapperSKU\r\n} from \"@azure/msal-browser\";\r\nimport { MSAL_INSTANCE } from \"./constants\";\r\nimport { Observable, from } from \"rxjs\";\r\nimport { IMsalService } from \"./IMsalService\";\r\nimport { name, version } from \"./packageMetadata\";\r\n\r\n@Injectable()\r\nexport class MsalService implements IMsalService {\r\n private redirectHash: string;\r\n private logger: Logger;\r\n\r\n constructor(\r\n @Inject(MSAL_INSTANCE) public instance: IPublicClientApplication,\r\n private location: Location\r\n ) {\r\n const hash = this.location.path(true).split(\"#\").pop();\r\n if (hash) {\r\n this.redirectHash = `#${hash}`;\r\n }\r\n this.instance.initializeWrapperLibrary(WrapperSKU.Angular, version);\r\n }\r\n\r\n initialize(): Observable<void> {\r\n return from(this.instance.initialize());\r\n }\r\n acquireTokenPopup(request: PopupRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.acquireTokenPopup(request));\r\n }\r\n acquireTokenRedirect(request: RedirectRequest): Observable<void> {\r\n return from(this.instance.acquireTokenRedirect(request));\r\n }\r\n acquireTokenSilent(silentRequest: SilentRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.acquireTokenSilent(silentRequest));\r\n }\r\n handleRedirectObservable(hash?: string): Observable<AuthenticationResult> {\r\n return from(this.instance.handleRedirectPromise(hash || this.redirectHash));\r\n }\r\n loginPopup(request?: PopupRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.loginPopup(request));\r\n }\r\n loginRedirect(request?: RedirectRequest): Observable<void> {\r\n return from(this.instance.loginRedirect(request));\r\n }\r\n logout(logoutRequest?: EndSessionRequest): Observable<void> {\r\n return from(this.instance.logout(logoutRequest));\r\n }\r\n logoutRedirect(logoutRequest?: EndSessionRequest): Observable<void> {\r\n return from(this.instance.logoutRedirect(logoutRequest));\r\n }\r\n logoutPopup(logoutRequest?: EndSessionPopupRequest): Observable<void> {\r\n return from(this.instance.logoutPopup(logoutRequest));\r\n }\r\n ssoSilent(request: SsoSilentRequest): Observable<AuthenticationResult> {\r\n return from(this.instance.ssoSilent(request));\r\n }\r\n /**\r\n * Gets logger for msal-angular.\r\n * If no logger set, returns logger instance created with same options as msal-browser\r\n */\r\n getLogger(): Logger {\r\n if (!this.logger) {\r\n this.logger = this.instance.getLogger().clone(name, version);\r\n }\r\n return this.logger;\r\n }\r\n // Create a logger instance for msal-angular with the same options as msal-browser\r\n setLogger(logger: Logger): void {\r\n this.logger = logger.clone(name, version);\r\n this.instance.setLogger(logger);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { Inject, Injectable, Optional } from \"@angular/core\";\r\nimport { BehaviorSubject, Observable, ReplaySubject, Subject } from \"rxjs\";\r\nimport { MSAL_BROADCAST_CONFIG, MSAL_INSTANCE } from \"./constants\";\r\nimport { EventMessage, EventMessageUtils, IPublicClientApplication, InteractionStatus } from \"@azure/msal-browser\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { MsalBroadcastConfiguration } from \"./msal.broadcast.config\";\r\n\r\n@Injectable()\r\nexport class MsalBroadcastService {\r\n private _msalSubject: Subject<EventMessage>;\r\n public msalSubject$: Observable<EventMessage>;\r\n private _inProgress: BehaviorSubject<InteractionStatus>;\r\n public inProgress$: Observable<InteractionStatus>;\r\n\r\n constructor(\r\n @Inject(MSAL_INSTANCE) private msalInstance: IPublicClientApplication,\r\n private authService: MsalService,\r\n @Optional() @Inject(MSAL_BROADCAST_CONFIG) private msalBroadcastConfig?: MsalBroadcastConfiguration\r\n ) {\r\n // Make _msalSubject a ReplaySubject if configured to replay past events\r\n if (this.msalBroadcastConfig && this.msalBroadcastConfig.eventsToReplay > 0) {\r\n this.authService.getLogger().verbose(`BroadcastService - replayPastEvents set on BroadcastConfig, replaying the last ${this.msalBroadcastConfig.eventsToReplay} events`);\r\n this._msalSubject = new ReplaySubject<EventMessage>(this.msalBroadcastConfig.eventsToReplay);\r\n } else {\r\n // Defaults to _msalSubject being a Subject\r\n this._msalSubject = new Subject<EventMessage>();\r\n }\r\n\r\n this.msalSubject$ = this._msalSubject.asObservable();\r\n\r\n // InProgress as BehaviorSubject so most recent inProgress state will be available upon subscription\r\n this._inProgress = new BehaviorSubject<InteractionStatus>(InteractionStatus.Startup);\r\n this.inProgress$ = this._inProgress.asObservable();\r\n\r\n this.msalInstance.addEventCallback((message: EventMessage) => {\r\n this._msalSubject.next(message);\r\n const status = EventMessageUtils.getInteractionStatusFromEvent(message, this._inProgress.value);\r\n if (status !== null) {\r\n this.authService.getLogger().verbose(`BroadcastService - ${message.eventType} results in setting inProgress from ${this._inProgress.value} to ${status}`);\r\n this._inProgress.next(status);\r\n }\r\n });\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivateChild, CanLoad, UrlTree, Router } from \"@angular/router\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { Injectable, Inject, VERSION } from \"@angular/core\";\r\nimport { Location } from \"@angular/common\";\r\nimport { InteractionType, BrowserConfigurationAuthError, BrowserUtils, UrlString, PopupRequest, RedirectRequest, AuthenticationResult } from \"@azure/msal-browser\";\r\nimport { MsalGuardConfiguration } from \"./msal.guard.config\";\r\nimport { MSAL_GUARD_CONFIG } from \"./constants\";\r\nimport { concatMap, catchError, map } from \"rxjs/operators\";\r\nimport { Observable, of } from \"rxjs\";\r\nimport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\n\r\n@Injectable()\r\nexport class MsalGuard implements CanActivate, CanActivateChild, CanLoad {\r\n private loginFailedRoute?: UrlTree;\r\n\r\n constructor(\r\n @Inject(MSAL_GUARD_CONFIG) private msalGuardConfig: MsalGuardConfiguration,\r\n private msalBroadcastService: MsalBroadcastService,\r\n private authService: MsalService,\r\n private location: Location,\r\n private router: Router\r\n ) { \r\n // Subscribing so events in MsalGuard will set inProgress$ observable\r\n this.msalBroadcastService.inProgress$.subscribe();\r\n }\r\n\r\n /**\r\n * Parses url string to UrlTree\r\n * @param url \r\n */\r\n parseUrl(url: string): UrlTree {\r\n return this.router.parseUrl(url);\r\n }\r\n\r\n /**\r\n * Builds the absolute url for the destination page\r\n * @param path Relative path of requested page\r\n * @returns Full destination url\r\n */\r\n getDestinationUrl(path: string): string {\r\n this.authService.getLogger().verbose(\"Guard - getting destination url\");\r\n // Absolute base url for the application (default to origin if base element not present)\r\n const baseElements = document.getElementsByTagName(\"base\");\r\n const baseUrl = this.location.normalize(baseElements.length ? baseElements[0].href : window.location.origin);\r\n\r\n // Path of page (including hash, if using hash routing)\r\n const pathUrl = this.location.prepareExternalUrl(path);\r\n\r\n // Hash location strategy\r\n if (pathUrl.startsWith(\"#\")) {\r\n this.authService.getLogger().verbose(\"Guard - destination by hash routing\");\r\n return `${baseUrl}/${pathUrl}`;\r\n }\r\n\r\n /*\r\n * If using path location strategy, pathUrl will include the relative portion of the base path (e.g. /base/page).\r\n * Since baseUrl also includes /base, can just concatentate baseUrl + path\r\n */\r\n return `${baseUrl}${path}`;\r\n }\r\n\r\n /**\r\n * Interactively prompt the user to login\r\n * @param url Path of the requested page\r\n */\r\n private loginInteractively(state: RouterStateSnapshot): Observable<boolean> {\r\n const authRequest = typeof this.msalGuardConfig.authRequest === \"function\"\r\n ? this.msalGuardConfig.authRequest(this.authService, state)\r\n : { ...this.msalGuardConfig.authRequest };\r\n if (this.msalGuardConfig.interactionType === InteractionType.Popup) {\r\n this.authService.getLogger().verbose(\"Guard - logging in by popup\");\r\n return this.authService.loginPopup(authRequest as PopupRequest)\r\n .pipe(\r\n map((response: AuthenticationResult) => {\r\n this.authService.getLogger().verbose(\"Guard - login by popup successful, can activate, setting active account\");\r\n this.authService.instance.setActiveAccount(response.account);\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n this.authService.getLogger().verbose(\"Guard - logging in by redirect\");\r\n const redirectStartPage = this.getDestinationUrl(state.url);\r\n return this.authService.loginRedirect({\r\n redirectStartPage,\r\n ...authRequest\r\n } as RedirectRequest)\r\n .pipe(\r\n map(() => false)\r\n );\r\n }\r\n\r\n /**\r\n * Helper which checks for the correct interaction type, prevents page with Guard to be set as reidrect, and calls handleRedirectObservable\r\n * @param state \r\n */\r\n private activateHelper(state?: RouterStateSnapshot): Observable<boolean|UrlTree> {\r\n if (this.msalGuardConfig.interactionType !== InteractionType.Popup && this.msalGuardConfig.interactionType !== InteractionType.Redirect) {\r\n throw new BrowserConfigurationAuthError(\"invalid_interaction_type\", \"Invalid interaction type provided to MSAL Guard. InteractionType.Popup or InteractionType.Redirect must be provided in the MsalGuardConfiguration\");\r\n }\r\n this.authService.getLogger().verbose(\"MSAL Guard activated\");\r\n\r\n /*\r\n * If a page with MSAL Guard is set as the redirect for acquireTokenSilent,\r\n * short-circuit to prevent redirecting or popups.\r\n */\r\n if (typeof window !== \"undefined\") {\r\n if (UrlString.hashContainsKnownProperties(window.location.hash) && BrowserUtils.isInIframe() && !this.authService.instance.getConfiguration().system.allowRedirectInIframe) {\r\n this.authService.getLogger().warning(\"Guard - redirectUri set to page with MSAL Guard. It is recommended to not set redirectUri to a page that requires authentication.\");\r\n return of(false);\r\n }\r\n } else {\r\n this.authService.getLogger().info(\"Guard - window is undefined, MSAL does not support server-side token acquisition\");\r\n return of(true);\r\n }\r\n\r\n /**\r\n * If a loginFailedRoute is set in the config, set this as the loginFailedRoute\r\n */\r\n if (this.msalGuardConfig.loginFailedRoute) {\r\n this.loginFailedRoute = this.parseUrl(this.msalGuardConfig.loginFailedRoute);\r\n }\r\n\r\n // Capture current path before it gets changed by handleRedirectObservable\r\n const currentPath = this.location.path(true);\r\n\r\n return this.authService.handleRedirectObservable()\r\n .pipe(\r\n concatMap(() => {\r\n if (!this.authService.instance.getAllAccounts().length) {\r\n if (state) {\r\n this.authService.getLogger().verbose(\"Guard - no accounts retrieved, log in required to activate\");\r\n return this.loginInteractively(state);\r\n } \r\n this.authService.getLogger().verbose(\"Guard - no accounts retrieved, no state, cannot load\");\r\n return of(false);\r\n }\r\n\r\n this.authService.getLogger().verbose(\"Guard - at least 1 account exists, can activate or load\");\r\n\r\n // Prevent navigating the app to /#code= or /code=\r\n if (state) {\r\n /*\r\n * Path routing:\r\n * state.url: /#code=...\r\n * state.root.fragment: code=...\r\n */\r\n\r\n /*\r\n * Hash routing:\r\n * state.url: /code\r\n * state.root.fragment: null\r\n */\r\n const urlContainsCode: boolean = this.includesCode(state.url);\r\n const fragmentContainsCode: boolean = !!state.root && !!state.root.fragment && this.includesCode(`#${state.root.fragment}`);\r\n const hashRouting: boolean = this.location.prepareExternalUrl(state.url).indexOf(\"#\") === 0;\r\n\r\n // Ensure code parameter is in fragment (and not in query parameter), or that hash hash routing is used\r\n if (urlContainsCode && (fragmentContainsCode || hashRouting)) {\r\n this.authService.getLogger().info(\"Guard - Hash contains known code response, stopping navigation.\");\r\n \r\n // Path routing (navigate to current path without hash)\r\n if (currentPath.indexOf(\"#\") > -1) {\r\n return of(this.parseUrl(this.location.path()));\r\n }\r\n \r\n // Hash routing (navigate to root path)\r\n return of(this.parseUrl(\"\"));\r\n }\r\n }\r\n\r\n return of(true);\r\n\r\n }),\r\n catchError((error: Error) => {\r\n this.authService.getLogger().error(\"Guard - error while logging in, unable to activate\");\r\n this.authService.getLogger().errorPii(`Guard - error: ${error.message}`);\r\n /**\r\n * If a loginFailedRoute is set, checks to see if Angular 10+ is used and state is passed in before returning route\r\n * Apps using Angular 9 will receive of(false) in canLoad interface, as it does not support UrlTree return types\r\n */\r\n if (this.loginFailedRoute && parseInt(VERSION.major, 10) > 9 && state) {\r\n this.authService.getLogger().verbose(\"Guard - loginFailedRoute set, redirecting\");\r\n return of(this.loginFailedRoute);\r\n }\r\n return of(false);\r\n })\r\n );\r\n }\r\n\r\n includesCode(path: string): boolean {\r\n return (path.lastIndexOf(\"/code\") > -1 &&\r\n path.lastIndexOf(\"/code\") === path.length - \"/code\".length) || // path.endsWith(\"/code\")\r\n path.indexOf(\"#code=\") > -1 || \r\n path.indexOf(\"&code=\") > -1;\r\n }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean|UrlTree> {\r\n this.authService.getLogger().verbose(\"Guard - canActivate\");\r\n return this.activateHelper(state);\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean|UrlTree> {\r\n this.authService.getLogger().verbose(\"Guard - canActivateChild\");\r\n return this.activateHelper(state);\r\n }\r\n\r\n canLoad(): Observable<boolean> {\r\n this.authService.getLogger().verbose(\"Guard - canLoad\");\r\n // @ts-ignore\r\n return this.activateHelper();\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from \"@angular/common/http\";\r\nimport { Location, DOCUMENT } from \"@angular/common\";\r\nimport { Observable, EMPTY, of } from \"rxjs\";\r\nimport { switchMap, catchError, take, filter } from \"rxjs/operators\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { AccountInfo, AuthenticationResult, BrowserConfigurationAuthError, InteractionStatus, InteractionType, StringUtils, UrlString } from \"@azure/msal-browser\";\r\nimport { Injectable, Inject } from \"@angular/core\";\r\nimport { MSAL_INTERCEPTOR_CONFIG } from \"./constants\";\r\nimport { MsalInterceptorAuthRequest, MsalInterceptorConfiguration, ProtectedResourceScopes, MatchingResources } from \"./msal.interceptor.config\";\r\nimport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\n\r\n@Injectable()\r\nexport class MsalInterceptor implements HttpInterceptor {\r\n private _document?: Document;\r\n\r\n constructor(\r\n @Inject(MSAL_INTERCEPTOR_CONFIG) private msalInterceptorConfig: MsalInterceptorConfiguration,\r\n private authService: MsalService,\r\n private location: Location,\r\n private msalBroadcastService: MsalBroadcastService,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\n @Inject(DOCUMENT) document?: any\r\n ) {\r\n this._document = document as Document;\r\n }\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {\r\n if (this.msalInterceptorConfig.interactionType !== InteractionType.Popup && this.msalInterceptorConfig.interactionType !== InteractionType.Redirect) {\r\n throw new BrowserConfigurationAuthError(\"invalid_interaction_type\", \"Invalid interaction type provided to MSAL Interceptor. InteractionType.Popup, InteractionType.Redirect must be provided in the msalInterceptorConfiguration\");\r\n }\r\n\r\n this.authService.getLogger().verbose(\"MSAL Interceptor activated\");\r\n const scopes = this.getScopesForEndpoint(req.url, req.method);\r\n\r\n // If no scopes for endpoint, does not acquire token\r\n if (!scopes || scopes.length === 0) {\r\n this.authService.getLogger().verbose(\"Interceptor - no scopes for endpoint\");\r\n return next.handle(req);\r\n }\r\n\r\n // Sets account as active account or first account\r\n let account: AccountInfo;\r\n if (!!this.authService.instance.getActiveAccount()) {\r\n this.authService.getLogger().verbose(\"Interceptor - active account selected\");\r\n account = this.authService.instance.getActiveAccount();\r\n } else {\r\n this.authService.getLogger().verbose(\"Interceptor - no active account, fallback to first account\");\r\n account = this.authService.instance.getAllAccounts()[0];\r\n }\r\n\r\n const authRequest = typeof this.msalInterceptorConfig.authRequest === \"function\"\r\n ? this.msalInterceptorConfig.authRequest(this.authService, req, { account: account })\r\n : { ...this.msalInterceptorConfig.authRequest, account };\r\n\r\n this.authService.getLogger().info(`Interceptor - ${scopes.length} scopes found for endpoint`);\r\n this.authService.getLogger().infoPii(`Interceptor - [${scopes}] scopes found for ${req.url}`);\r\n\r\n return this.acquireToken(authRequest, scopes, account)\r\n .pipe(\r\n switchMap((result: AuthenticationResult) => {\r\n this.authService.getLogger().verbose(\"Interceptor - setting authorization headers\");\r\n const headers = req.headers\r\n .set(\"Authorization\", `Bearer ${result.accessToken}`);\r\n\r\n const requestClone = req.clone({headers});\r\n return next.handle(requestClone);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Try to acquire token silently. Invoke interaction if acquireTokenSilent rejected with error or resolved with null access token\r\n * @param authRequest Request\r\n * @param scopes Array of scopes for the request\r\n * @param account Account\r\n * @returns Authentication result\r\n */\r\n private acquireToken(authRequest: MsalInterceptorAuthRequest, scopes: string[], account: AccountInfo): Observable<AuthenticationResult> {\r\n // Note: For MSA accounts, include openid scope when calling acquireTokenSilent to return idToken\r\n return this.authService.acquireTokenSilent({...authRequest, scopes, account })\r\n .pipe(\r\n catchError(() => {\r\n this.authService.getLogger().error(\"Interceptor - acquireTokenSilent rejected with error. Invoking interaction to resolve.\");\r\n return this.msalBroadcastService.inProgress$\r\n .pipe(\r\n take(1),\r\n switchMap((status: InteractionStatus) => {\r\n if (status === InteractionStatus.None) {\r\n return this.acquireTokenInteractively(authRequest, scopes);\r\n }\r\n\r\n return this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n take(1),\r\n switchMap(() => this.acquireToken(authRequest, scopes, account))\r\n );\r\n })\r\n );\r\n }),\r\n switchMap((result: AuthenticationResult) => {\r\n if (!result.accessToken) {\r\n this.authService.getLogger().error(\"Interceptor - acquireTokenSilent resolved with null access token. Known issue with B2C tenants, invoking interaction to resolve.\");\r\n return this.msalBroadcastService.inProgress$\r\n .pipe(\r\n filter((status: InteractionStatus) => status === InteractionStatus.None),\r\n take(1),\r\n switchMap(() => this.acquireTokenInteractively(authRequest, scopes))\r\n );\r\n }\r\n return of(result);\r\n })\r\n );\r\n }\r\n\r\n /**\r\n * Invoke interaction for the given set of scopes\r\n * @param authRequest Request\r\n * @param scopes Array of scopes for the request\r\n * @returns Result from the interactive request\r\n */\r\n private acquireTokenInteractively(authRequest: MsalInterceptorAuthRequest, scopes: string[]): Observable<AuthenticationResult> {\r\n if (this.msalInterceptorConfig.interactionType === InteractionType.Popup) {\r\n this.authService.getLogger().verbose(\"Interceptor - error acquiring token silently, acquiring by popup\");\r\n return this.authService.acquireTokenPopup({ ...authRequest, scopes });\r\n }\r\n this.authService.getLogger().verbose(\"Interceptor - error acquiring token silently, acquiring by redirect\");\r\n const redirectStartPage = window.location.href;\r\n this.authService.acquireTokenRedirect({...authRequest, scopes, redirectStartPage });\r\n return EMPTY;\r\n }\r\n\r\n /**\r\n * Looks up the scopes for the given endpoint from the protectedResourceMap\r\n * @param endpoint Url of the request\r\n * @param httpMethod Http method of the request\r\n * @returns Array of scopes, or null if not found\r\n *\r\n */\r\n private getScopesForEndpoint(endpoint: string, httpMethod: string): Array<string>|null {\r\n this.authService.getLogger().verbose(\"Interceptor - getting scopes for endpoint\");\r\n\r\n // Ensures endpoints and protected resources compared are normalized\r\n const normalizedEndpoint = this.location.normalize(endpoint);\r\n\r\n const protectedResourcesArray = Array.from(this.msalInterceptorConfig.protectedResourceMap.keys());\r\n\r\n const matchingProtectedResources = this.matchResourcesToEndpoint(protectedResourcesArray, normalizedEndpoint);\r\n\r\n // Check absolute urls of resources first before checking relative to prevent incorrect matching where multiple resources have similar relative urls\r\n if (matchingProtectedResources.absoluteResources.length > 0) {\r\n return this.matchScopesToEndpoint(this.msalInterceptorConfig.protectedResourceMap, matchingProtectedResources.absoluteResources, httpMethod);\r\n } else if (matchingProtectedResources.relativeResources.length > 0){\r\n return this.matchScopesToEndpoint(this.msalInterceptorConfig.protectedResourceMap, matchingProtectedResources.relativeResources, httpMethod);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * Finds resource endpoints that match request endpoint\r\n * @param protectedResourcesEndpoints\r\n * @param endpoint\r\n * @returns\r\n */\r\n private matchResourcesToEndpoint(protectedResourcesEndpoints: string[], endpoint: string): MatchingResources {\r\n const matchingResources: MatchingResources = {absoluteResources: [], relativeResources: []};\r\n\r\n protectedResourcesEndpoints.forEach(key => {\r\n // Normalizes and adds resource to matchingResources.absoluteResources if key matches endpoint. StringUtils.matchPattern accounts for wildcards\r\n const normalizedKey = this.location.normalize(key);\r\n if (StringUtils.matchPattern(normalizedKey, endpoint)){\r\n matchingResources.absoluteResources.push(key);\r\n }\r\n\r\n // Get url components for relative urls\r\n const absoluteKey = this.getAbsoluteUrl(key);\r\n const keyComponents = new UrlString(absoluteKey).getUrlComponents();\r\n const absoluteEndpoint = this.getAbsoluteUrl(endpoint);\r\n const endpointComponents = new UrlString(absoluteEndpoint).getUrlComponents();\r\n\r\n // Normalized key should include query strings if applicable\r\n const relativeNormalizedKey = keyComponents.QueryString ? `${keyComponents.AbsolutePath}?${keyComponents.QueryString}` : this.location.normalize(keyComponents.AbsolutePath);\r\n\r\n // Add resource to matchingResources.relativeResources if same origin, relativeKey matches endpoint, and is not empty\r\n if (keyComponents.HostNameAndPort === endpointComponents.HostNameAndPort && StringUtils.matchPattern(relativeNormalizedKey, absoluteEndpoint) && relativeNormalizedKey !== \"\" && relativeNormalizedKey !== \"/*\"){\r\n matchingResources.relativeResources.push(key);\r\n }\r\n });\r\n\r\n return matchingResources;\r\n }\r\n\r\n /**\r\n * Transforms relative urls to absolute urls\r\n * @param url\r\n * @returns\r\n */\r\n private getAbsoluteUrl(url: string): string {\r\n const link = this._document.createElement(\"a\");\r\n link.href = url;\r\n return link.href;\r\n }\r\n\r\n /**\r\n * Finds scopes from first matching endpoint with HTTP method that matches request\r\n * @param protectedResourceMap Protected resource map\r\n * @param endpointArray Array of resources that match request endpoint\r\n * @param httpMethod Http method of the request\r\n * @returns\r\n */\r\n private matchScopesToEndpoint(protectedResourceMap: Map<string, Array<string|ProtectedResourceScopes> | null>, endpointArray: string[], httpMethod: string): Array<string>|null {\r\n const allMatchedScopes = [];\r\n\r\n // Check each matched endpoint for matching HttpMethod and scopes\r\n endpointArray.forEach(matchedEndpoint => {\r\n const scopesForEndpoint = [];\r\n const methodAndScopesArray = protectedResourceMap.get(matchedEndpoint);\r\n\r\n // Return if resource is unprotected\r\n if (methodAndScopesArray === null) {\r\n allMatchedScopes.push(null);\r\n return;\r\n }\r\n\r\n methodAndScopesArray.forEach(entry => {\r\n // Entry is either array of scopes or ProtectedResourceScopes object\r\n if (typeof entry === \"string\") {\r\n scopesForEndpoint.push(entry);\r\n } else {\r\n // Ensure methods being compared are normalized\r\n const normalizedRequestMethod = httpMethod.toLowerCase();\r\n const normalizedResourceMethod = entry.httpMethod.toLowerCase();\r\n // Method in protectedResourceMap matches request http method\r\n if (normalizedResourceMethod === normalizedRequestMethod) {\r\n // Validate if scopes comes null to unprotect the resource in a certain http method\r\n if (entry.scopes === null) {\r\n allMatchedScopes.push(null);\r\n } else {\r\n entry.scopes.forEach((scope) => {\r\n scopesForEndpoint.push(scope);\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n // Only add to all scopes if scopes for endpoint and method is found\r\n if (scopesForEndpoint.length > 0) {\r\n allMatchedScopes.push(scopesForEndpoint);\r\n }\r\n });\r\n\r\n if (allMatchedScopes.length > 0) {\r\n if (allMatchedScopes.length > 1) {\r\n this.authService.getLogger().warning(\"Interceptor - More than 1 matching scopes for endpoint found.\");\r\n }\r\n // Returns scopes for first matching endpoint\r\n return allMatchedScopes[0];\r\n }\r\n\r\n return null;\r\n }\r\n\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\n/**\r\n * This is a dedicated redirect component to be added to Angular apps to \r\n * handle redirects when using @azure/msal-angular.\r\n * Import this component to use redirects in your app.\r\n */\r\n\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { concatMap } from \"rxjs/operators\";\r\nimport { MsalService } from \"./msal.service\";\r\n\r\n@Component({\r\n selector: \"app-redirect\",\r\n template: \"\"\r\n})\r\nexport class MsalRedirectComponent implements OnInit {\r\n\r\n constructor(private authService: MsalService) { }\r\n\r\n ngOnInit(): void { \r\n this.authService.getLogger().verbose(\"MsalRedirectComponent activated\");\r\n this.authService.initialize().pipe(\r\n concatMap(() => {\r\n return this.authService.handleRedirectObservable();\r\n })\r\n ).subscribe();\r\n }\r\n\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { ModuleWithProviders, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { IPublicClientApplication } from \"@azure/msal-browser\";\r\nimport { MsalGuardConfiguration } from \"./msal.guard.config\";\r\nimport { MsalInterceptorConfiguration } from \"./msal.interceptor.config\";\r\nimport { MsalGuard } from \"./msal.guard\";\r\nimport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { MSAL_INSTANCE , MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG } from \"./constants\";\r\nimport { MsalRedirectComponent } from \"./msal.redirect.component\";\r\n\r\n@NgModule({\r\n declarations: [MsalRedirectComponent],\r\n imports: [\r\n CommonModule\r\n ],\r\n providers: [\r\n MsalGuard,\r\n MsalBroadcastService\r\n ]\r\n})\r\nexport class MsalModule {\r\n static forRoot(\r\n msalInstance: IPublicClientApplication,\r\n guardConfig: MsalGuardConfiguration,\r\n interceptorConfig: MsalInterceptorConfiguration\r\n ): ModuleWithProviders<MsalModule> {\r\n return {\r\n ngModule: MsalModule,\r\n providers: [\r\n {\r\n provide: MSAL_INSTANCE,\r\n useValue: msalInstance\r\n },\r\n {\r\n provide: MSAL_GUARD_CONFIG,\r\n useValue: guardConfig\r\n },\r\n {\r\n provide: MSAL_INTERCEPTOR_CONFIG,\r\n useValue: interceptorConfig\r\n },\r\n MsalService\r\n ]\r\n };\r\n }\r\n\r\n}\r\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { NavigationClient, NavigationOptions, UrlString } from \"@azure/msal-browser\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport { MsalService } from \"./msal.service\";\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n/**\r\n * Custom navigation used for Angular client-side navigation.\r\n * See performance doc for details:\r\n * https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-angular/docs/v2-docs/performance.md\r\n */\r\n@Injectable()\r\nexport class MsalCustomNavigationClient extends NavigationClient {\r\n\r\n constructor(\r\n private authService: MsalService,\r\n private router: Router, \r\n private location: Location\r\n ) {\r\n super();\r\n }\r\n\r\n async navigateInternal(url:string, options: NavigationOptions): Promise<boolean> {\r\n this.authService.getLogger().trace(\"MsalCustomNavigationClient called\");\r\n \r\n this.authService.getLogger().verbose(\"MsalCustomNavigationClient - navigating\");\r\n this.authService.getLogger().verbosePii(`MsalCustomNavigationClient - navigating to url: ${url}`);\r\n \r\n // Prevent hash clearing from causing an issue with Client-side navigation after redirect is handled\r\n if (options.noHistory) {\r\n return super.navigateInternal(url, options);\r\n } else {\r\n // Normalizing newUrl if no query string\r\n const urlComponents = new UrlString(url).getUrlComponents();\r\n const newUrl = urlComponents.QueryString ? `${urlComponents.AbsolutePath}?${urlComponents.QueryString}` : this.location.normalize(urlComponents.AbsolutePath);\r\n this.router.navigateByUrl(newUrl, { replaceUrl: options.noHistory });\r\n }\r\n return Promise.resolve(options.noHistory);\r\n }\r\n}\r\n","/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\n/**\r\n * @packageDocumentation\r\n * @module @azure/msal-angular\r\n */\r\n\r\nexport { MsalService } from \"./msal.service\";\r\nexport { IMsalService } from \"./IMsalService\";\r\nexport { MsalGuard } from \"./msal.guard\";\r\nexport { MsalGuardConfiguration, MsalGuardAuthRequest } from \"./msal.guard.config\";\r\nexport { MsalInterceptor } from \"./msal.interceptor\";\r\nexport { MsalInterceptorConfiguration, MsalInterceptorAuthRequest, ProtectedResourceScopes } from \"./msal.interceptor.config\";\r\nexport { MSAL_INSTANCE, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG, MSAL_BROADCAST_CONFIG } from \"./constants\";\r\nexport { MsalBroadcastService } from \"./msal.broadcast.service\";\r\nexport { MsalBroadcastConfiguration } from \"./msal.broadcast.config\";\r\nexport { MsalModule } from \"./msal.module\";\r\nexport { MsalRedirectComponent } from \"./msal.redirect.component\";\r\nexport { MsalCustomNavigationClient } from \"./msal.navigation.client\";\r\nexport { version } from \"./packageMetadata\";\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["InjectionToken","WrapperSKU","from","Injectable","Inject","Location","ReplaySubject","Subject","BehaviorSubject","InteractionStatus","EventMessageUtils","Optional","InteractionType","map","BrowserConfigurationAuthError","UrlString","BrowserUtils","of","concatMap","catchError","VERSION","Router","switchMap","take","filter","EMPTY","StringUtils","DOCUMENT","Component","NgModule","CommonModule","NavigationClient"],"mappings":"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"}