@azure/msal-browser 2.23.0 → 2.25.0
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.
- package/README.md +1 -1
- package/dist/_virtual/_tslib.js +1 -1
- package/dist/app/ClientApplication.d.ts +58 -1
- package/dist/app/ClientApplication.d.ts.map +1 -1
- package/dist/app/ClientApplication.js +290 -75
- package/dist/app/ClientApplication.js.map +1 -1
- package/dist/app/IPublicClientApplication.d.ts +1 -0
- package/dist/app/IPublicClientApplication.d.ts.map +1 -1
- package/dist/app/IPublicClientApplication.js +4 -1
- package/dist/app/IPublicClientApplication.js.map +1 -1
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.js +48 -42
- package/dist/app/PublicClientApplication.js.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +49 -0
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts.map +1 -0
- package/dist/broker/nativeBroker/NativeMessageHandler.js +246 -0
- package/dist/broker/nativeBroker/NativeMessageHandler.js.map +1 -0
- package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -0
- package/dist/broker/nativeBroker/NativeRequest.d.ts.map +1 -0
- package/dist/broker/nativeBroker/NativeResponse.d.ts +24 -0
- package/dist/broker/nativeBroker/NativeResponse.d.ts.map +1 -0
- package/dist/cache/AsyncMemoryStorage.js +1 -1
- package/dist/cache/BrowserCacheManager.d.ts +11 -0
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.js +44 -2
- package/dist/cache/BrowserCacheManager.js.map +1 -1
- package/dist/cache/BrowserStorage.js +1 -1
- package/dist/cache/DatabaseStorage.js +1 -1
- package/dist/cache/MemoryStorage.js +1 -1
- package/dist/cache/TokenCache.d.ts +1 -0
- package/dist/cache/TokenCache.d.ts.map +1 -1
- package/dist/cache/TokenCache.js +2 -2
- package/dist/cache/TokenCache.js.map +1 -1
- package/dist/config/Configuration.d.ts +99 -38
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.js +4 -3
- package/dist/config/Configuration.js.map +1 -1
- package/dist/crypto/BrowserCrypto.js +1 -1
- package/dist/crypto/CryptoOps.d.ts.map +1 -1
- package/dist/crypto/CryptoOps.js +7 -10
- package/dist/crypto/CryptoOps.js.map +1 -1
- package/dist/crypto/GuidGenerator.js +1 -1
- package/dist/crypto/PkceGenerator.js +1 -1
- package/dist/crypto/SignedHttpRequest.js +1 -1
- package/dist/encode/Base64Decode.js +1 -1
- package/dist/encode/Base64Encode.js +1 -1
- package/dist/error/BrowserAuthError.d.ts +58 -0
- package/dist/error/BrowserAuthError.d.ts.map +1 -1
- package/dist/error/BrowserAuthError.js +75 -3
- package/dist/error/BrowserAuthError.js.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.js +1 -1
- package/dist/error/NativeAuthError.d.ts +47 -0
- package/dist/error/NativeAuthError.d.ts.map +1 -0
- package/dist/error/NativeAuthError.js +83 -0
- package/dist/error/NativeAuthError.js.map +1 -0
- package/dist/event/EventHandler.js +1 -1
- package/dist/event/EventMessage.js +1 -1
- package/dist/event/EventType.d.ts +2 -0
- package/dist/event/EventType.d.ts.map +1 -1
- package/dist/event/EventType.js +3 -1
- package/dist/event/EventType.js.map +1 -1
- package/dist/index.cjs.js +6130 -4824
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +6 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -13
- package/dist/index.js.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +12 -2
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.js +35 -3
- package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +1 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts +57 -0
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -0
- package/dist/interaction_client/NativeInteractionClient.js +337 -0
- package/dist/interaction_client/NativeInteractionClient.js.map +1 -0
- package/dist/interaction_client/PopupClient.d.ts +75 -2
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.js +315 -46
- package/dist/interaction_client/PopupClient.js.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.js +38 -9
- package/dist/interaction_client/RedirectClient.js.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +2 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.js +3 -3
- package/dist/interaction_client/SilentAuthCodeClient.js.map +1 -1
- package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentCacheClient.js +2 -4
- package/dist/interaction_client/SilentCacheClient.js.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts +5 -3
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.js +38 -25
- package/dist/interaction_client/SilentIframeClient.js.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.js +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts +2 -8
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.js +5 -9
- package/dist/interaction_client/StandardInteractionClient.js.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +3 -8
- package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/dist/interaction_handler/InteractionHandler.js +19 -8
- package/dist/interaction_handler/InteractionHandler.js.map +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts +2 -2
- package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
- package/dist/interaction_handler/RedirectHandler.js +27 -20
- package/dist/interaction_handler/RedirectHandler.js.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/interaction_handler/SilentHandler.js +5 -5
- package/dist/interaction_handler/SilentHandler.js.map +1 -1
- package/dist/internals.d.ts +17 -0
- package/dist/internals.d.ts.map +1 -0
- package/dist/internals.js +19 -0
- package/dist/internals.js.map +1 -0
- package/dist/navigation/NavigationClient.js +1 -1
- package/dist/network/FetchClient.js +1 -1
- package/dist/network/XhrClient.js +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/AuthorizationCodeRequest.d.ts +2 -1
- package/dist/request/AuthorizationCodeRequest.d.ts.map +1 -1
- package/dist/request/AuthorizationUrlRequest.d.ts +1 -1
- package/dist/request/AuthorizationUrlRequest.d.ts.map +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts.map +1 -1
- package/dist/request/PopupRequest.d.ts +2 -2
- package/dist/request/PopupRequest.d.ts.map +1 -1
- package/dist/request/PopupWindowAttributes.d.ts +16 -0
- package/dist/request/PopupWindowAttributes.d.ts.map +1 -0
- package/dist/request/RedirectRequest.d.ts +1 -1
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/SsoSilentRequest.d.ts +2 -2
- package/dist/request/SsoSilentRequest.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.js +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.js +1 -1
- package/dist/utils/BrowserConstants.d.ts +12 -1
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.js +14 -2
- package/dist/utils/BrowserConstants.js.map +1 -1
- package/dist/utils/BrowserProtocolUtils.js +1 -1
- package/dist/utils/BrowserStringUtils.js +1 -1
- package/dist/utils/BrowserUtils.d.ts +6 -0
- package/dist/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/utils/BrowserUtils.js +11 -1
- package/dist/utils/BrowserUtils.js.map +1 -1
- package/dist/utils/MathUtils.js +1 -1
- package/lib/msal-browser.js +6130 -4824
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +40 -40
- package/package.json +2 -2
- package/dist/interaction_handler/PopupHandler.d.ts +0 -29
- package/dist/interaction_handler/PopupHandler.d.ts.map +0 -1
- package/dist/interaction_handler/PopupHandler.js +0 -69
- package/dist/interaction_handler/PopupHandler.js.map +0 -1
- package/dist/utils/PopupUtils.d.ts +0 -73
- package/dist/utils/PopupUtils.d.ts.map +0 -1
- package/dist/utils/PopupUtils.js +0 -185
- package/dist/utils/PopupUtils.js.map +0 -1
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"type": "git",
|
|
11
11
|
"url": "https://github.com/AzureAD/microsoft-authentication-library-for-js.git"
|
|
12
12
|
},
|
|
13
|
-
"version": "2.
|
|
13
|
+
"version": "2.25.0",
|
|
14
14
|
"description": "Microsoft Authentication Library for js",
|
|
15
15
|
"keywords": [
|
|
16
16
|
"implicit",
|
|
@@ -91,6 +91,6 @@
|
|
|
91
91
|
"typescript": "^3.8.3"
|
|
92
92
|
},
|
|
93
93
|
"dependencies": {
|
|
94
|
-
"@azure/msal-common": "^6.
|
|
94
|
+
"@azure/msal-common": "^6.4.0"
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { CommonAuthorizationCodeRequest, AuthorizationCodeClient, Logger } from "@azure/msal-common";
|
|
2
|
-
import { InteractionHandler, InteractionParams } from "./InteractionHandler";
|
|
3
|
-
import { BrowserCacheManager } from "../cache/BrowserCacheManager";
|
|
4
|
-
import { PopupWindowAttributes } from "../utils/PopupUtils";
|
|
5
|
-
export declare type PopupParams = InteractionParams & {
|
|
6
|
-
popup?: Window | null;
|
|
7
|
-
popupName: string;
|
|
8
|
-
popupWindowAttributes: PopupWindowAttributes;
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* This class implements the interaction handler base class for browsers. It is written specifically for handling
|
|
12
|
-
* popup window scenarios. It includes functions for monitoring the popup window for a hash.
|
|
13
|
-
*/
|
|
14
|
-
export declare class PopupHandler extends InteractionHandler {
|
|
15
|
-
private popupUtils;
|
|
16
|
-
constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, browserRequestLogger: Logger);
|
|
17
|
-
/**
|
|
18
|
-
* Opens a popup window with given request Url.
|
|
19
|
-
* @param requestUrl
|
|
20
|
-
*/
|
|
21
|
-
initiateAuthRequest(requestUrl: string, params: PopupParams): Window;
|
|
22
|
-
/**
|
|
23
|
-
* Monitors a window until it loads a url with a known hash, or hits a specified timeout.
|
|
24
|
-
* @param popupWindow - window that is being monitored
|
|
25
|
-
* @param timeout - milliseconds until timeout
|
|
26
|
-
*/
|
|
27
|
-
monitorPopupForHash(popupWindow: Window): Promise<string>;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=PopupHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopupHandler.d.ts","sourceRoot":"","sources":["../../src/interaction_handler/PopupHandler.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,8BAA8B,EAAE,uBAAuB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAc,MAAM,qBAAqB,CAAC;AAGxE,oBAAY,WAAW,GAAG,iBAAiB,GAAG;IAC1C,KAAK,CAAC,EAAE,MAAM,GAAC,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,qBAAqB,EAAE,qBAAqB,CAAA;CAC/C,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,kBAAkB;IAChD,OAAO,CAAC,UAAU,CAAa;gBAEnB,cAAc,EAAE,uBAAuB,EAAE,WAAW,EAAE,mBAAmB,EAAE,eAAe,EAAE,8BAA8B,EAAE,oBAAoB,EAAE,MAAM;IAOpK;;;OAGG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM;IAapE;;;;OAIG;IACH,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAkB5D"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.23.0 2022-04-04 */
|
|
2
|
-
'use strict';
|
|
3
|
-
import { __extends } from '../_virtual/_tslib.js';
|
|
4
|
-
import { StringUtils, UrlString } from '@azure/msal-common';
|
|
5
|
-
import { InteractionHandler } from './InteractionHandler.js';
|
|
6
|
-
import { BrowserAuthError } from '../error/BrowserAuthError.js';
|
|
7
|
-
import { PopupUtils } from '../utils/PopupUtils.js';
|
|
8
|
-
import { BrowserUtils } from '../utils/BrowserUtils.js';
|
|
9
|
-
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
12
|
-
* Licensed under the MIT License.
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* This class implements the interaction handler base class for browsers. It is written specifically for handling
|
|
16
|
-
* popup window scenarios. It includes functions for monitoring the popup window for a hash.
|
|
17
|
-
*/
|
|
18
|
-
var PopupHandler = /** @class */ (function (_super) {
|
|
19
|
-
__extends(PopupHandler, _super);
|
|
20
|
-
function PopupHandler(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) {
|
|
21
|
-
var _this = _super.call(this, authCodeModule, storageImpl, authCodeRequest, browserRequestLogger) || this;
|
|
22
|
-
// Properly sets this reference for the unload event.
|
|
23
|
-
_this.popupUtils = new PopupUtils(storageImpl, browserRequestLogger);
|
|
24
|
-
return _this;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Opens a popup window with given request Url.
|
|
28
|
-
* @param requestUrl
|
|
29
|
-
*/
|
|
30
|
-
PopupHandler.prototype.initiateAuthRequest = function (requestUrl, params) {
|
|
31
|
-
// Check that request url is not empty.
|
|
32
|
-
if (!StringUtils.isEmpty(requestUrl)) {
|
|
33
|
-
this.browserRequestLogger.infoPii("Navigate to: " + requestUrl);
|
|
34
|
-
// Open the popup window to requestUrl.
|
|
35
|
-
return this.popupUtils.openPopup(requestUrl, params);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
// Throw error if request URL is empty.
|
|
39
|
-
this.browserRequestLogger.error("Navigate url is empty");
|
|
40
|
-
throw BrowserAuthError.createEmptyNavigationUriError();
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Monitors a window until it loads a url with a known hash, or hits a specified timeout.
|
|
45
|
-
* @param popupWindow - window that is being monitored
|
|
46
|
-
* @param timeout - milliseconds until timeout
|
|
47
|
-
*/
|
|
48
|
-
PopupHandler.prototype.monitorPopupForHash = function (popupWindow) {
|
|
49
|
-
var _this = this;
|
|
50
|
-
return this.popupUtils.monitorPopupForSameOrigin(popupWindow).then(function () {
|
|
51
|
-
var contentHash = popupWindow.location.hash;
|
|
52
|
-
BrowserUtils.clearHash(popupWindow);
|
|
53
|
-
_this.popupUtils.cleanPopup(popupWindow);
|
|
54
|
-
if (!contentHash) {
|
|
55
|
-
throw BrowserAuthError.createEmptyHashError(popupWindow.location.href);
|
|
56
|
-
}
|
|
57
|
-
if (UrlString.hashContainsKnownProperties(contentHash)) {
|
|
58
|
-
return contentHash;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
throw BrowserAuthError.createHashDoesNotContainKnownPropertiesError();
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
};
|
|
65
|
-
return PopupHandler;
|
|
66
|
-
}(InteractionHandler));
|
|
67
|
-
|
|
68
|
-
export { PopupHandler };
|
|
69
|
-
//# sourceMappingURL=PopupHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopupHandler.js","sources":["../../src/interaction_handler/PopupHandler.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { UrlString, StringUtils, CommonAuthorizationCodeRequest, AuthorizationCodeClient, Logger } from \"@azure/msal-common\";\nimport { InteractionHandler, InteractionParams } from \"./InteractionHandler\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { PopupWindowAttributes, PopupUtils } from \"../utils/PopupUtils\";\nimport { BrowserUtils } from \"../utils/BrowserUtils\";\n\nexport type PopupParams = InteractionParams & {\n popup?: Window|null;\n popupName: string;\n popupWindowAttributes: PopupWindowAttributes\n};\n\n/**\n * This class implements the interaction handler base class for browsers. It is written specifically for handling\n * popup window scenarios. It includes functions for monitoring the popup window for a hash.\n */\nexport class PopupHandler extends InteractionHandler {\n private popupUtils: PopupUtils;\n\n constructor(authCodeModule: AuthorizationCodeClient, storageImpl: BrowserCacheManager, authCodeRequest: CommonAuthorizationCodeRequest, browserRequestLogger: Logger) {\n super(authCodeModule, storageImpl, authCodeRequest, browserRequestLogger);\n\n // Properly sets this reference for the unload event.\n this.popupUtils = new PopupUtils(storageImpl, browserRequestLogger);\n }\n\n /**\n * Opens a popup window with given request Url.\n * @param requestUrl\n */\n initiateAuthRequest(requestUrl: string, params: PopupParams): Window {\n // Check that request url is not empty.\n if (!StringUtils.isEmpty(requestUrl)) {\n this.browserRequestLogger.infoPii(`Navigate to: ${requestUrl}`);\n // Open the popup window to requestUrl.\n return this.popupUtils.openPopup(requestUrl, params);\n } else {\n // Throw error if request URL is empty.\n this.browserRequestLogger.error(\"Navigate url is empty\");\n throw BrowserAuthError.createEmptyNavigationUriError();\n }\n }\n\n /**\n * Monitors a window until it loads a url with a known hash, or hits a specified timeout.\n * @param popupWindow - window that is being monitored\n * @param timeout - milliseconds until timeout\n */\n monitorPopupForHash(popupWindow: Window): Promise<string> {\n return this.popupUtils.monitorPopupForSameOrigin(popupWindow).then(() => {\n const contentHash = popupWindow.location.hash;\n BrowserUtils.clearHash(popupWindow);\n this.popupUtils.cleanPopup(popupWindow);\n\n if (!contentHash) {\n throw BrowserAuthError.createEmptyHashError(popupWindow.location.href);\n }\n\n if (UrlString.hashContainsKnownProperties(contentHash)) {\n return contentHash;\n } else {\n throw BrowserAuthError.createHashDoesNotContainKnownPropertiesError();\n }\n }\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;AAAA;;;;AAkBA;;;;;IAIkC,gCAAkB;IAGhD,sBAAY,cAAuC,EAAE,WAAgC,EAAE,eAA+C,EAAE,oBAA4B;QAApK,YACI,kBAAM,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,oBAAoB,CAAC,SAI5E;;QADG,KAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,EAAE,oBAAoB,CAAC,CAAC;;KACvE;;;;;IAMD,0CAAmB,GAAnB,UAAoB,UAAkB,EAAE,MAAmB;;QAEvD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAClC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,kBAAgB,UAAY,CAAC,CAAC;;YAEhE,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;SACxD;aAAM;;YAEH,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;YACzD,MAAM,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;SAC1D;KACJ;;;;;;IAOD,0CAAmB,GAAnB,UAAoB,WAAmB;QAAvC,iBAiBC;QAhBG,OAAO,IAAI,CAAC,UAAU,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAC/D,IAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC9C,YAAY,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YACpC,KAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAExC,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,gBAAgB,CAAC,oBAAoB,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC1E;YAED,IAAI,SAAS,CAAC,2BAA2B,CAAC,WAAW,CAAC,EAAE;gBACpD,OAAO,WAAW,CAAC;aACtB;iBAAM;gBACH,MAAM,gBAAgB,CAAC,4CAA4C,EAAE,CAAC;aACzE;SACJ,CACA,CAAC;KACL;IACL,mBAAC;AAAD,CAlDA,CAAkC,kBAAkB;;;;"}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { CommonEndSessionRequest, Logger } from "@azure/msal-common";
|
|
2
|
-
import { BrowserCacheManager } from "../cache/BrowserCacheManager";
|
|
3
|
-
import { PopupParams } from "../interaction_handler/PopupHandler";
|
|
4
|
-
/**
|
|
5
|
-
* Popup configurations for setting dimensions and position of popup window
|
|
6
|
-
*/
|
|
7
|
-
export declare type PopupWindowAttributes = {
|
|
8
|
-
popupSize?: PopupSize;
|
|
9
|
-
popupPosition?: PopupPosition;
|
|
10
|
-
};
|
|
11
|
-
export declare type PopupSize = {
|
|
12
|
-
height: number;
|
|
13
|
-
width: number;
|
|
14
|
-
};
|
|
15
|
-
export declare type PopupPosition = {
|
|
16
|
-
top: number;
|
|
17
|
-
left: number;
|
|
18
|
-
};
|
|
19
|
-
export declare class PopupUtils {
|
|
20
|
-
private browserStorage;
|
|
21
|
-
private logger;
|
|
22
|
-
private currentWindow;
|
|
23
|
-
constructor(storageImpl: BrowserCacheManager, logger: Logger);
|
|
24
|
-
/**
|
|
25
|
-
* @hidden
|
|
26
|
-
*
|
|
27
|
-
* Configures popup window for login.
|
|
28
|
-
*
|
|
29
|
-
* @param urlNavigate
|
|
30
|
-
* @param title
|
|
31
|
-
* @param popUpWidth
|
|
32
|
-
* @param popUpHeight
|
|
33
|
-
* @param popupWindowAttributes
|
|
34
|
-
* @ignore
|
|
35
|
-
* @hidden
|
|
36
|
-
*/
|
|
37
|
-
openPopup(urlNavigate: string, popupParams: PopupParams): Window;
|
|
38
|
-
/**
|
|
39
|
-
* Helper function to set popup window dimensions and position
|
|
40
|
-
* @param urlNavigate
|
|
41
|
-
* @param popupName
|
|
42
|
-
* @param popupWindowAttributes
|
|
43
|
-
* @returns
|
|
44
|
-
*/
|
|
45
|
-
static openSizedPopup(urlNavigate: string, popupName: string, popupWindowAttributes: PopupWindowAttributes, logger: Logger): Window | null;
|
|
46
|
-
/**
|
|
47
|
-
* Event callback to unload main window.
|
|
48
|
-
*/
|
|
49
|
-
unloadWindow(e: Event): void;
|
|
50
|
-
/**
|
|
51
|
-
* Closes popup, removes any state vars created during popup calls.
|
|
52
|
-
* @param popupWindow
|
|
53
|
-
*/
|
|
54
|
-
cleanPopup(popupWindow?: Window): void;
|
|
55
|
-
/**
|
|
56
|
-
* Monitors a window until it loads a url with the same origin.
|
|
57
|
-
* @param popupWindow - window that is being monitored
|
|
58
|
-
*/
|
|
59
|
-
monitorPopupForSameOrigin(popupWindow: Window): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Generates the name for the popup based on the client id and request
|
|
62
|
-
* @param clientId
|
|
63
|
-
* @param request
|
|
64
|
-
*/
|
|
65
|
-
static generatePopupName(clientId: string, scopes: Array<string>, authority: string, correlationId: string): string;
|
|
66
|
-
/**
|
|
67
|
-
* Generates the name for the popup based on the client id and request for logouts
|
|
68
|
-
* @param clientId
|
|
69
|
-
* @param request
|
|
70
|
-
*/
|
|
71
|
-
static generateLogoutPopupName(clientId: string, request: CommonEndSessionRequest): string;
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=PopupUtils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopupUtils.d.ts","sourceRoot":"","sources":["../../src/utils/PopupUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAa,MAAM,EAAe,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGlE;;GAEG;AACH,oBAAY,qBAAqB,GAAG;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;CAChC,CAAC;AAEF,oBAAY,SAAS,GAAG;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,oBAAY,aAAa,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,qBAAa,UAAU;IACnB,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAmB;gBAE5B,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM;IAQ5D;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM;IAgChE;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAC,IAAI;IA0CxI;;OAEG;IACH,YAAY,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;IAS5B;;;OAGG;IACH,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI;IAYtC;;;OAGG;IACH,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC7D;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAInH;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,MAAM;CAI7F"}
|
package/dist/utils/PopupUtils.js
DELETED
|
@@ -1,185 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.23.0 2022-04-04 */
|
|
2
|
-
'use strict';
|
|
3
|
-
import { StringUtils, Constants } from '@azure/msal-common';
|
|
4
|
-
import { BrowserAuthError } from '../error/BrowserAuthError.js';
|
|
5
|
-
import { BrowserConstants, InteractionType } from './BrowserConstants.js';
|
|
6
|
-
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
* Licensed under the MIT License.
|
|
10
|
-
*/
|
|
11
|
-
var PopupUtils = /** @class */ (function () {
|
|
12
|
-
function PopupUtils(storageImpl, logger) {
|
|
13
|
-
this.browserStorage = storageImpl;
|
|
14
|
-
this.logger = logger;
|
|
15
|
-
// Properly sets this reference for the unload event.
|
|
16
|
-
this.unloadWindow = this.unloadWindow.bind(this);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* @hidden
|
|
20
|
-
*
|
|
21
|
-
* Configures popup window for login.
|
|
22
|
-
*
|
|
23
|
-
* @param urlNavigate
|
|
24
|
-
* @param title
|
|
25
|
-
* @param popUpWidth
|
|
26
|
-
* @param popUpHeight
|
|
27
|
-
* @param popupWindowAttributes
|
|
28
|
-
* @ignore
|
|
29
|
-
* @hidden
|
|
30
|
-
*/
|
|
31
|
-
PopupUtils.prototype.openPopup = function (urlNavigate, popupParams) {
|
|
32
|
-
try {
|
|
33
|
-
var popupWindow = void 0;
|
|
34
|
-
// Popup window passed in, setting url to navigate to
|
|
35
|
-
if (popupParams.popup) {
|
|
36
|
-
popupWindow = popupParams.popup;
|
|
37
|
-
this.logger.verbosePii("Navigating popup window to: " + urlNavigate);
|
|
38
|
-
popupWindow.location.assign(urlNavigate);
|
|
39
|
-
}
|
|
40
|
-
else if (typeof popupParams.popup === "undefined") {
|
|
41
|
-
// Popup will be undefined if it was not passed in
|
|
42
|
-
this.logger.verbosePii("Opening popup window to: " + urlNavigate);
|
|
43
|
-
popupWindow = PopupUtils.openSizedPopup(urlNavigate, popupParams.popupName, popupParams.popupWindowAttributes, this.logger);
|
|
44
|
-
}
|
|
45
|
-
// Popup will be null if popups are blocked
|
|
46
|
-
if (!popupWindow) {
|
|
47
|
-
throw BrowserAuthError.createEmptyWindowCreatedError();
|
|
48
|
-
}
|
|
49
|
-
if (popupWindow.focus) {
|
|
50
|
-
popupWindow.focus();
|
|
51
|
-
}
|
|
52
|
-
this.currentWindow = popupWindow;
|
|
53
|
-
window.addEventListener("beforeunload", this.unloadWindow);
|
|
54
|
-
return popupWindow;
|
|
55
|
-
}
|
|
56
|
-
catch (e) {
|
|
57
|
-
this.logger.error("error opening popup " + e.message);
|
|
58
|
-
this.browserStorage.setInteractionInProgress(false);
|
|
59
|
-
throw BrowserAuthError.createPopupWindowError(e.toString());
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Helper function to set popup window dimensions and position
|
|
64
|
-
* @param urlNavigate
|
|
65
|
-
* @param popupName
|
|
66
|
-
* @param popupWindowAttributes
|
|
67
|
-
* @returns
|
|
68
|
-
*/
|
|
69
|
-
PopupUtils.openSizedPopup = function (urlNavigate, popupName, popupWindowAttributes, logger) {
|
|
70
|
-
var _a, _b, _c, _d;
|
|
71
|
-
/**
|
|
72
|
-
* adding winLeft and winTop to account for dual monitor
|
|
73
|
-
* using screenLeft and screenTop for IE8 and earlier
|
|
74
|
-
*/
|
|
75
|
-
var winLeft = window.screenLeft ? window.screenLeft : window.screenX;
|
|
76
|
-
var winTop = window.screenTop ? window.screenTop : window.screenY;
|
|
77
|
-
/**
|
|
78
|
-
* window.innerWidth displays browser window"s height and width excluding toolbars
|
|
79
|
-
* using document.documentElement.clientWidth for IE8 and earlier
|
|
80
|
-
*/
|
|
81
|
-
var winWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
|
|
82
|
-
var winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
|
|
83
|
-
var width = (_a = popupWindowAttributes.popupSize) === null || _a === void 0 ? void 0 : _a.width;
|
|
84
|
-
var height = (_b = popupWindowAttributes.popupSize) === null || _b === void 0 ? void 0 : _b.height;
|
|
85
|
-
var top = (_c = popupWindowAttributes.popupPosition) === null || _c === void 0 ? void 0 : _c.top;
|
|
86
|
-
var left = (_d = popupWindowAttributes.popupPosition) === null || _d === void 0 ? void 0 : _d.left;
|
|
87
|
-
if (!width || width < 0 || width > winWidth) {
|
|
88
|
-
logger.verbose("Default popup window width used. Window width not configured or invalid.");
|
|
89
|
-
width = BrowserConstants.POPUP_WIDTH;
|
|
90
|
-
}
|
|
91
|
-
if (!height || height < 0 || height > winHeight) {
|
|
92
|
-
logger.verbose("Default popup window height used. Window height not configured or invalid.");
|
|
93
|
-
height = BrowserConstants.POPUP_HEIGHT;
|
|
94
|
-
}
|
|
95
|
-
if (!top || top < 0 || top > winHeight) {
|
|
96
|
-
logger.verbose("Default popup window top position used. Window top not configured or invalid.");
|
|
97
|
-
top = Math.max(0, ((winHeight / 2) - (BrowserConstants.POPUP_HEIGHT / 2)) + winTop);
|
|
98
|
-
}
|
|
99
|
-
if (!left || left < 0 || left > winWidth) {
|
|
100
|
-
logger.verbose("Default popup window left position used. Window left not configured or invalid.");
|
|
101
|
-
left = Math.max(0, ((winWidth / 2) - (BrowserConstants.POPUP_WIDTH / 2)) + winLeft);
|
|
102
|
-
}
|
|
103
|
-
return window.open(urlNavigate, popupName, "width=" + width + ", height=" + height + ", top=" + top + ", left=" + left + ", scrollbars=yes");
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Event callback to unload main window.
|
|
107
|
-
*/
|
|
108
|
-
PopupUtils.prototype.unloadWindow = function (e) {
|
|
109
|
-
this.browserStorage.cleanRequestByInteractionType(InteractionType.Popup);
|
|
110
|
-
if (this.currentWindow) {
|
|
111
|
-
this.currentWindow.close();
|
|
112
|
-
}
|
|
113
|
-
// Guarantees browser unload will happen, so no other errors will be thrown.
|
|
114
|
-
e.preventDefault();
|
|
115
|
-
};
|
|
116
|
-
/**
|
|
117
|
-
* Closes popup, removes any state vars created during popup calls.
|
|
118
|
-
* @param popupWindow
|
|
119
|
-
*/
|
|
120
|
-
PopupUtils.prototype.cleanPopup = function (popupWindow) {
|
|
121
|
-
if (popupWindow) {
|
|
122
|
-
// Close window.
|
|
123
|
-
popupWindow.close();
|
|
124
|
-
}
|
|
125
|
-
// Remove window unload function
|
|
126
|
-
window.removeEventListener("beforeunload", this.unloadWindow);
|
|
127
|
-
// Interaction is completed - remove interaction status.
|
|
128
|
-
this.browserStorage.setInteractionInProgress(false);
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* Monitors a window until it loads a url with the same origin.
|
|
132
|
-
* @param popupWindow - window that is being monitored
|
|
133
|
-
*/
|
|
134
|
-
PopupUtils.prototype.monitorPopupForSameOrigin = function (popupWindow) {
|
|
135
|
-
var _this = this;
|
|
136
|
-
return new Promise(function (resolve, reject) {
|
|
137
|
-
var intervalId = setInterval(function () {
|
|
138
|
-
if (popupWindow.closed) {
|
|
139
|
-
// Window is closed
|
|
140
|
-
_this.cleanPopup();
|
|
141
|
-
clearInterval(intervalId);
|
|
142
|
-
reject(BrowserAuthError.createUserCancelledError());
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
var href = Constants.EMPTY_STRING;
|
|
146
|
-
try {
|
|
147
|
-
/*
|
|
148
|
-
* Will throw if cross origin,
|
|
149
|
-
* which should be caught and ignored
|
|
150
|
-
* since we need the interval to keep running while on STS UI.
|
|
151
|
-
*/
|
|
152
|
-
href = popupWindow.location.href;
|
|
153
|
-
}
|
|
154
|
-
catch (e) { }
|
|
155
|
-
// Don't process blank pages or cross domain
|
|
156
|
-
if (StringUtils.isEmpty(href) || href === "about:blank") {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
clearInterval(intervalId);
|
|
160
|
-
resolve();
|
|
161
|
-
}, BrowserConstants.POLL_INTERVAL_MS);
|
|
162
|
-
});
|
|
163
|
-
};
|
|
164
|
-
/**
|
|
165
|
-
* Generates the name for the popup based on the client id and request
|
|
166
|
-
* @param clientId
|
|
167
|
-
* @param request
|
|
168
|
-
*/
|
|
169
|
-
PopupUtils.generatePopupName = function (clientId, scopes, authority, correlationId) {
|
|
170
|
-
return BrowserConstants.POPUP_NAME_PREFIX + "." + clientId + "." + scopes.join("-") + "." + authority + "." + correlationId;
|
|
171
|
-
};
|
|
172
|
-
/**
|
|
173
|
-
* Generates the name for the popup based on the client id and request for logouts
|
|
174
|
-
* @param clientId
|
|
175
|
-
* @param request
|
|
176
|
-
*/
|
|
177
|
-
PopupUtils.generateLogoutPopupName = function (clientId, request) {
|
|
178
|
-
var homeAccountId = request.account && request.account.homeAccountId;
|
|
179
|
-
return BrowserConstants.POPUP_NAME_PREFIX + "." + clientId + "." + homeAccountId + "." + request.correlationId;
|
|
180
|
-
};
|
|
181
|
-
return PopupUtils;
|
|
182
|
-
}());
|
|
183
|
-
|
|
184
|
-
export { PopupUtils };
|
|
185
|
-
//# sourceMappingURL=PopupUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PopupUtils.js","sources":["../../src/utils/PopupUtils.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { CommonEndSessionRequest, Constants, Logger, StringUtils } from \"@azure/msal-common\";\nimport { BrowserCacheManager } from \"../cache/BrowserCacheManager\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { PopupParams } from \"../interaction_handler/PopupHandler\";\nimport { BrowserConstants, InteractionType } from \"./BrowserConstants\";\n\n/**\n * Popup configurations for setting dimensions and position of popup window\n */\nexport type PopupWindowAttributes = {\n popupSize?: PopupSize,\n popupPosition?: PopupPosition\n};\n\nexport type PopupSize = {\n height: number;\n width: number;\n};\n\nexport type PopupPosition = {\n top: number;\n left: number;\n};\n\nexport class PopupUtils {\n private browserStorage: BrowserCacheManager;\n private logger: Logger;\n private currentWindow: Window|undefined;\n\n constructor(storageImpl: BrowserCacheManager, logger: Logger) {\n this.browserStorage = storageImpl;\n this.logger = logger;\n\n // Properly sets this reference for the unload event.\n this.unloadWindow = this.unloadWindow.bind(this);\n }\n\n /**\n * @hidden\n *\n * Configures popup window for login.\n *\n * @param urlNavigate\n * @param title\n * @param popUpWidth\n * @param popUpHeight\n * @param popupWindowAttributes\n * @ignore\n * @hidden\n */\n openPopup(urlNavigate: string, popupParams: PopupParams): Window {\n try {\n let popupWindow;\n // Popup window passed in, setting url to navigate to\n if (popupParams.popup) {\n popupWindow = popupParams.popup;\n this.logger.verbosePii(`Navigating popup window to: ${urlNavigate}`);\n popupWindow.location.assign(urlNavigate);\n } else if (typeof popupParams.popup === \"undefined\") {\n // Popup will be undefined if it was not passed in\n this.logger.verbosePii(`Opening popup window to: ${urlNavigate}`);\n popupWindow = PopupUtils.openSizedPopup(urlNavigate, popupParams.popupName, popupParams.popupWindowAttributes, this.logger);\n }\n\n // Popup will be null if popups are blocked\n if (!popupWindow) {\n throw BrowserAuthError.createEmptyWindowCreatedError();\n }\n if (popupWindow.focus) {\n popupWindow.focus();\n }\n this.currentWindow = popupWindow;\n window.addEventListener(\"beforeunload\", this.unloadWindow);\n\n return popupWindow;\n } catch (e) {\n this.logger.error(\"error opening popup \" + e.message);\n this.browserStorage.setInteractionInProgress(false);\n throw BrowserAuthError.createPopupWindowError(e.toString());\n }\n }\n\n /**\n * Helper function to set popup window dimensions and position\n * @param urlNavigate \n * @param popupName \n * @param popupWindowAttributes \n * @returns \n */\n static openSizedPopup(urlNavigate: string, popupName: string, popupWindowAttributes: PopupWindowAttributes, logger: Logger): Window|null {\n /**\n * adding winLeft and winTop to account for dual monitor\n * using screenLeft and screenTop for IE8 and earlier\n */\n const winLeft = window.screenLeft ? window.screenLeft : window.screenX;\n const winTop = window.screenTop ? window.screenTop : window.screenY;\n /**\n * window.innerWidth displays browser window\"s height and width excluding toolbars\n * using document.documentElement.clientWidth for IE8 and earlier\n */\n const winWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;\n const winHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;\n\n let width = popupWindowAttributes.popupSize?.width;\n let height = popupWindowAttributes.popupSize?.height;\n let top = popupWindowAttributes.popupPosition?.top;\n let left = popupWindowAttributes.popupPosition?.left;\n\n if (!width || width < 0 || width > winWidth) {\n logger.verbose(\"Default popup window width used. Window width not configured or invalid.\");\n width = BrowserConstants.POPUP_WIDTH;\n }\n\n if (!height || height < 0 || height > winHeight) {\n logger.verbose(\"Default popup window height used. Window height not configured or invalid.\");\n height = BrowserConstants.POPUP_HEIGHT;\n }\n\n if (!top || top < 0 || top > winHeight) {\n logger.verbose(\"Default popup window top position used. Window top not configured or invalid.\");\n top = Math.max(0, ((winHeight / 2) - (BrowserConstants.POPUP_HEIGHT / 2)) + winTop);\n }\n\n if (!left || left < 0 || left > winWidth) {\n logger.verbose(\"Default popup window left position used. Window left not configured or invalid.\");\n left = Math.max(0, ((winWidth / 2) - (BrowserConstants.POPUP_WIDTH / 2)) + winLeft);\n }\n\n return window.open(urlNavigate, popupName, `width=${width}, height=${height}, top=${top}, left=${left}, scrollbars=yes`);\n }\n\n /**\n * Event callback to unload main window.\n */\n unloadWindow(e: Event): void {\n this.browserStorage.cleanRequestByInteractionType(InteractionType.Popup);\n if (this.currentWindow) {\n this.currentWindow.close();\n }\n // Guarantees browser unload will happen, so no other errors will be thrown.\n e.preventDefault();\n }\n\n /**\n * Closes popup, removes any state vars created during popup calls.\n * @param popupWindow\n */\n cleanPopup(popupWindow?: Window): void {\n if (popupWindow) {\n // Close window.\n popupWindow.close();\n }\n // Remove window unload function\n window.removeEventListener(\"beforeunload\", this.unloadWindow);\n\n // Interaction is completed - remove interaction status.\n this.browserStorage.setInteractionInProgress(false);\n }\n\n /**\n * Monitors a window until it loads a url with the same origin.\n * @param popupWindow - window that is being monitored\n */\n monitorPopupForSameOrigin(popupWindow: Window): Promise<void> {\n return new Promise((resolve, reject) => {\n const intervalId = setInterval(() => {\n if (popupWindow.closed) {\n // Window is closed\n this.cleanPopup();\n clearInterval(intervalId);\n reject(BrowserAuthError.createUserCancelledError());\n return;\n }\n\n let href: string = Constants.EMPTY_STRING;\n try {\n /*\n * Will throw if cross origin,\n * which should be caught and ignored\n * since we need the interval to keep running while on STS UI.\n */\n href = popupWindow.location.href;\n } catch (e) {}\n\n // Don't process blank pages or cross domain\n if (StringUtils.isEmpty(href) || href === \"about:blank\") {\n return;\n }\n\n clearInterval(intervalId);\n resolve();\n }, BrowserConstants.POLL_INTERVAL_MS);\n });\n }\n\n /**\n * Generates the name for the popup based on the client id and request\n * @param clientId\n * @param request\n */\n static generatePopupName(clientId: string, scopes: Array<string>, authority: string, correlationId: string): string {\n return `${BrowserConstants.POPUP_NAME_PREFIX}.${clientId}.${scopes.join(\"-\")}.${authority}.${correlationId}`;\n }\n\n /**\n * Generates the name for the popup based on the client id and request for logouts\n * @param clientId \n * @param request \n */\n static generateLogoutPopupName(clientId: string, request: CommonEndSessionRequest): string {\n const homeAccountId = request.account && request.account.homeAccountId;\n return `${BrowserConstants.POPUP_NAME_PREFIX}.${clientId}.${homeAccountId}.${request.correlationId}`;\n }\n}\n"],"names":[],"mappings":";;;;;;AAAA;;;;;IAkCI,oBAAY,WAAgC,EAAE,MAAc;QACxD,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;;QAGrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACpD;;;;;;;;;;;;;;IAeD,8BAAS,GAAT,UAAU,WAAmB,EAAE,WAAwB;QACnD,IAAI;YACA,IAAI,WAAW,SAAA,CAAC;;YAEhB,IAAI,WAAW,CAAC,KAAK,EAAE;gBACnB,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iCAA+B,WAAa,CAAC,CAAC;gBACrE,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;aAC5C;iBAAM,IAAI,OAAO,WAAW,CAAC,KAAK,KAAK,WAAW,EAAE;;gBAEjD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA4B,WAAa,CAAC,CAAC;gBAClE,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,qBAAqB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;aAC/H;;YAGD,IAAI,CAAC,WAAW,EAAE;gBACd,MAAM,gBAAgB,CAAC,6BAA6B,EAAE,CAAC;aAC1D;YACD,IAAI,WAAW,CAAC,KAAK,EAAE;gBACnB,WAAW,CAAC,KAAK,EAAE,CAAC;aACvB;YACD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;YACjC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;YAE3D,OAAO,WAAW,CAAC;SACtB;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;YACpD,MAAM,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/D;KACJ;;;;;;;;IASM,yBAAc,GAArB,UAAsB,WAAmB,EAAE,SAAiB,EAAE,qBAA4C,EAAE,MAAc;;;;;;QAKtH,IAAM,OAAO,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;QACvE,IAAM,MAAM,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC;;;;;QAKpE,IAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC;QACxG,IAAM,SAAS,GAAG,MAAM,CAAC,WAAW,IAAI,QAAQ,CAAC,eAAe,CAAC,YAAY,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;QAE5G,IAAI,KAAK,SAAG,qBAAqB,CAAC,SAAS,0CAAE,KAAK,CAAC;QACnD,IAAI,MAAM,SAAG,qBAAqB,CAAC,SAAS,0CAAE,MAAM,CAAC;QACrD,IAAI,GAAG,SAAG,qBAAqB,CAAC,aAAa,0CAAE,GAAG,CAAC;QACnD,IAAI,IAAI,SAAG,qBAAqB,CAAC,aAAa,0CAAE,IAAI,CAAC;QAErD,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,EAAE;YACzC,MAAM,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC;YAC3F,KAAK,GAAG,gBAAgB,CAAC,WAAW,CAAC;SACxC;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,SAAS,EAAE;YAC7C,MAAM,CAAC,OAAO,CAAC,4EAA4E,CAAC,CAAC;YAC7F,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC;SAC1C;QAED,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,SAAS,EAAE;YACpC,MAAM,CAAC,OAAO,CAAC,+EAA+E,CAAC,CAAC;YAChG,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,gBAAgB,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;SACvF;QAED,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,QAAQ,EAAE;YACtC,MAAM,CAAC,OAAO,CAAC,iFAAiF,CAAC,CAAC;YAClG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,CAAC,KAAK,gBAAgB,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;SACvF;QAED,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,WAAS,KAAK,iBAAY,MAAM,cAAS,GAAG,eAAU,IAAI,qBAAkB,CAAC,CAAC;KAC5H;;;;IAKD,iCAAY,GAAZ,UAAa,CAAQ;QACjB,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC9B;;QAED,CAAC,CAAC,cAAc,EAAE,CAAC;KACtB;;;;;IAMD,+BAAU,GAAV,UAAW,WAAoB;QAC3B,IAAI,WAAW,EAAE;;YAEb,WAAW,CAAC,KAAK,EAAE,CAAC;SACvB;;QAED,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;;QAG9D,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;KACvD;;;;;IAMD,8CAAyB,GAAzB,UAA0B,WAAmB;QAA7C,iBA8BC;QA7BG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM;YAC/B,IAAM,UAAU,GAAG,WAAW,CAAC;gBAC3B,IAAI,WAAW,CAAC,MAAM,EAAE;;oBAEpB,KAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,aAAa,CAAC,UAAU,CAAC,CAAC;oBAC1B,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,CAAC;oBACpD,OAAO;iBACV;gBAED,IAAI,IAAI,GAAW,SAAS,CAAC,YAAY,CAAC;gBAC1C,IAAI;;;;;;oBAMA,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;iBACpC;gBAAC,OAAO,CAAC,EAAE,GAAE;;gBAGd,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,aAAa,EAAE;oBACrD,OAAO;iBACV;gBAED,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,OAAO,EAAE,CAAC;aACb,EAAE,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;SACzC,CAAC,CAAC;KACN;;;;;;IAOM,4BAAiB,GAAxB,UAAyB,QAAgB,EAAE,MAAqB,EAAE,SAAiB,EAAE,aAAqB;QACtG,OAAU,gBAAgB,CAAC,iBAAiB,SAAI,QAAQ,SAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,SAAI,SAAS,SAAI,aAAe,CAAC;KAChH;;;;;;IAOM,kCAAuB,GAA9B,UAA+B,QAAgB,EAAE,OAAgC;QAC7E,IAAM,aAAa,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC;QACvE,OAAU,gBAAgB,CAAC,iBAAiB,SAAI,QAAQ,SAAI,aAAa,SAAI,OAAO,CAAC,aAAe,CAAC;KACxG;IACL,iBAAC;AAAD,CAAC;;;;"}
|