@azure/msal-browser 4.8.0 → 4.9.1
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/dist/app/IPublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientNext.mjs +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs +1 -1
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
- package/dist/cache/AccountManager.mjs +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/cache/BrowserCacheManager.d.ts +4 -41
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +18 -143
- package/dist/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/cache/CacheHelpers.mjs +1 -1
- package/dist/cache/CookieStorage.mjs +1 -1
- package/dist/cache/DatabaseStorage.mjs +1 -1
- package/dist/cache/LocalStorage.mjs +2 -2
- package/dist/cache/MemoryStorage.mjs +1 -1
- package/dist/cache/SessionStorage.mjs +1 -1
- package/dist/cache/TokenCache.mjs +1 -1
- package/dist/config/Configuration.mjs +5 -5
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/ControllerFactory.mjs +1 -1
- package/dist/controllers/NestedAppAuthController.d.ts +2 -2
- package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +1 -1
- package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +28 -16
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.d.ts +2 -2
- package/dist/controllers/UnknownOperatingContextController.d.ts.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
- package/dist/controllers/UnknownOperatingContextController.mjs.map +1 -1
- package/dist/crypto/BrowserCrypto.d.ts +11 -0
- package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/BrowserCrypto.mjs +68 -5
- package/dist/crypto/BrowserCrypto.mjs.map +1 -1
- package/dist/crypto/CryptoOps.mjs +1 -1
- package/dist/crypto/PkceGenerator.mjs +1 -1
- package/dist/crypto/SignedHttpRequest.mjs +1 -1
- package/dist/encode/Base64Decode.mjs +1 -1
- package/dist/encode/Base64Encode.mjs +1 -1
- package/dist/error/BrowserAuthError.d.ts +3 -5
- package/dist/error/BrowserAuthError.d.ts.map +1 -1
- package/dist/error/BrowserAuthError.mjs +5 -7
- package/dist/error/BrowserAuthError.mjs.map +1 -1
- package/dist/error/BrowserAuthErrorCodes.d.ts +3 -1
- package/dist/error/BrowserAuthErrorCodes.d.ts.map +1 -1
- package/dist/error/BrowserAuthErrorCodes.mjs +6 -4
- package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.mjs +2 -2
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
- package/dist/error/NativeAuthError.mjs +1 -1
- package/dist/error/NativeAuthErrorCodes.mjs +1 -1
- package/dist/error/NestedAppAuthError.mjs +1 -1
- package/dist/event/EventHandler.mjs +1 -1
- package/dist/event/EventMessage.mjs +1 -1
- package/dist/event/EventType.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.mjs +1 -3
- package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/PopupClient.d.ts +14 -1
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +65 -64
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts +20 -3
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.mjs +132 -76
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts +13 -3
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +57 -44
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts +2 -3
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +4 -5
- package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +4 -2
- package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/interaction_handler/SilentHandler.mjs +15 -5
- package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
- package/dist/naa/BridgeError.mjs +1 -1
- package/dist/naa/BridgeProxy.mjs +1 -1
- package/dist/naa/BridgeStatusCode.mjs +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +2 -2
- package/dist/navigation/NavigationClient.mjs +1 -1
- package/dist/network/FetchClient.mjs +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
- package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
- package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/protocol/Authorize.d.ts +53 -1
- package/dist/protocol/Authorize.d.ts.map +1 -1
- package/dist/protocol/Authorize.mjs +147 -4
- package/dist/protocol/Authorize.mjs.map +1 -1
- package/dist/request/AuthorizationUrlRequest.d.ts +2 -4
- package/dist/request/AuthorizationUrlRequest.d.ts.map +1 -1
- package/dist/request/PopupRequest.d.ts +1 -1
- package/dist/request/PopupRequest.d.ts.map +1 -1
- package/dist/request/RedirectRequest.d.ts +1 -1
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/RequestHelpers.mjs +1 -1
- package/dist/request/SsoSilentRequest.d.ts +1 -1
- package/dist/request/SsoSilentRequest.d.ts.map +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
- package/dist/utils/BrowserConstants.d.ts +1 -10
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.mjs +2 -15
- package/dist/utils/BrowserConstants.mjs.map +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/utils/BrowserUtils.mjs +1 -1
- package/lib/msal-browser.cjs +1588 -1555
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +1588 -1555
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +68 -67
- package/lib/types/cache/BrowserCacheManager.d.ts +4 -41
- package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
- package/lib/types/controllers/NestedAppAuthController.d.ts +2 -2
- package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
- package/lib/types/controllers/StandardController.d.ts.map +1 -1
- package/lib/types/controllers/UnknownOperatingContextController.d.ts +2 -2
- package/lib/types/controllers/UnknownOperatingContextController.d.ts.map +1 -1
- package/lib/types/crypto/BrowserCrypto.d.ts +11 -0
- package/lib/types/crypto/BrowserCrypto.d.ts.map +1 -1
- package/lib/types/error/BrowserAuthError.d.ts +3 -5
- package/lib/types/error/BrowserAuthError.d.ts.map +1 -1
- package/lib/types/error/BrowserAuthErrorCodes.d.ts +3 -1
- package/lib/types/error/BrowserAuthErrorCodes.d.ts.map +1 -1
- package/lib/types/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/lib/types/interaction_client/PopupClient.d.ts +14 -1
- package/lib/types/interaction_client/PopupClient.d.ts.map +1 -1
- package/lib/types/interaction_client/RedirectClient.d.ts +20 -3
- package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
- package/lib/types/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/lib/types/interaction_client/SilentIframeClient.d.ts +13 -3
- package/lib/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/lib/types/interaction_client/StandardInteractionClient.d.ts +2 -3
- package/lib/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/lib/types/interaction_handler/InteractionHandler.d.ts +4 -5
- package/lib/types/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/lib/types/interaction_handler/SilentHandler.d.ts +4 -2
- package/lib/types/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/protocol/Authorize.d.ts +53 -1
- package/lib/types/protocol/Authorize.d.ts.map +1 -1
- package/lib/types/request/AuthorizationUrlRequest.d.ts +2 -4
- package/lib/types/request/AuthorizationUrlRequest.d.ts.map +1 -1
- package/lib/types/request/PopupRequest.d.ts +1 -1
- package/lib/types/request/PopupRequest.d.ts.map +1 -1
- package/lib/types/request/RedirectRequest.d.ts +1 -1
- package/lib/types/request/RedirectRequest.d.ts.map +1 -1
- package/lib/types/request/SsoSilentRequest.d.ts +1 -1
- package/lib/types/request/SsoSilentRequest.d.ts.map +1 -1
- package/lib/types/utils/BrowserConstants.d.ts +1 -10
- package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/cache/BrowserCacheManager.ts +30 -205
- package/src/config/Configuration.ts +2 -2
- package/src/controllers/NestedAppAuthController.ts +2 -0
- package/src/controllers/StandardController.ts +35 -24
- package/src/controllers/UnknownOperatingContextController.ts +2 -0
- package/src/crypto/BrowserCrypto.ts +91 -2
- package/src/error/BrowserAuthError.ts +6 -8
- package/src/error/BrowserAuthErrorCodes.ts +3 -1
- package/src/interaction_client/NativeInteractionClient.ts +0 -2
- package/src/interaction_client/PopupClient.ts +163 -119
- package/src/interaction_client/RedirectClient.ts +258 -140
- package/src/interaction_client/SilentAuthCodeClient.ts +2 -2
- package/src/interaction_client/SilentIframeClient.ts +154 -99
- package/src/interaction_client/StandardInteractionClient.ts +3 -3
- package/src/interaction_handler/InteractionHandler.ts +4 -4
- package/src/interaction_handler/SilentHandler.ts +31 -2
- package/src/packageMetadata.ts +1 -1
- package/src/protocol/Authorize.ts +356 -2
- package/src/request/AuthorizationUrlRequest.ts +3 -5
- package/src/request/PopupRequest.ts +1 -0
- package/src/request/RedirectRequest.ts +1 -0
- package/src/request/SsoSilentRequest.ts +1 -0
- package/src/utils/BrowserConstants.ts +1 -10
- package/dist/interaction_handler/RedirectHandler.d.ts +0 -33
- package/dist/interaction_handler/RedirectHandler.d.ts.map +0 -1
- package/dist/interaction_handler/RedirectHandler.mjs +0 -144
- package/dist/interaction_handler/RedirectHandler.mjs.map +0 -1
- package/lib/types/interaction_handler/RedirectHandler.d.ts +0 -33
- package/lib/types/interaction_handler/RedirectHandler.d.ts.map +0 -1
- package/src/interaction_handler/RedirectHandler.ts +0 -252
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
/*! @azure/msal-browser v4.
|
|
1
|
+
/*! @azure/msal-browser v4.9.1 2025-03-26 */
|
|
2
2
|
'use strict';
|
|
3
|
-
import { invokeAsync, PerformanceEvents, AuthError, Constants, UrlString, UrlUtils,
|
|
3
|
+
import { invokeAsync, PerformanceEvents, ProtocolMode, AuthError, Constants, UrlString, UrlUtils, ServerResponseType } from '@azure/msal-common/browser';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.mjs';
|
|
5
|
-
import { InteractionType,
|
|
6
|
-
import { RedirectHandler } from '../interaction_handler/RedirectHandler.mjs';
|
|
5
|
+
import { InteractionType, TemporaryCacheKeys, ApiId } from '../utils/BrowserConstants.mjs';
|
|
7
6
|
import { replaceHash, isInIframe, getHomepage, clearHash, getCurrentUri } from '../utils/BrowserUtils.mjs';
|
|
8
7
|
import { EventType } from '../event/EventType.mjs';
|
|
9
8
|
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
|
10
|
-
import { NativeInteractionClient } from './NativeInteractionClient.mjs';
|
|
11
9
|
import { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.mjs';
|
|
12
10
|
import { validateInteractionType } from '../response/ResponseHandler.mjs';
|
|
13
|
-
import { getAuthCodeRequestUrl } from '../protocol/Authorize.mjs';
|
|
11
|
+
import { getAuthCodeRequestUrl, getEARForm, handleResponseEAR, handleResponseCode } from '../protocol/Authorize.mjs';
|
|
14
12
|
import { generatePkceCodes } from '../crypto/PkceGenerator.mjs';
|
|
15
|
-
import {
|
|
13
|
+
import { generateEarKey } from '../crypto/BrowserCrypto.mjs';
|
|
14
|
+
import { noStateInHash, emptyNavigateUri } from '../error/BrowserAuthErrorCodes.mjs';
|
|
16
15
|
|
|
17
16
|
/*
|
|
18
17
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -41,62 +40,96 @@ class RedirectClient extends StandardInteractionClient {
|
|
|
41
40
|
*/
|
|
42
41
|
async acquireToken(request) {
|
|
43
42
|
const validRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, this.correlationId)(request, InteractionType.Redirect);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
this.browserStorage.updateCacheEntries(validRequest.state, validRequest.nonce, validRequest.authority, validRequest.loginHint || "", validRequest.account || null);
|
|
47
|
-
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);
|
|
43
|
+
validRequest.platformBroker =
|
|
44
|
+
NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme);
|
|
48
45
|
const handleBackButton = (event) => {
|
|
49
46
|
// Clear temporary cache if the back button is clicked during the redirect flow.
|
|
50
47
|
if (event.persisted) {
|
|
51
48
|
this.logger.verbose("Page was restored from back/forward cache. Clearing temporary cache.");
|
|
52
|
-
this.browserStorage.
|
|
49
|
+
this.browserStorage.resetRequestCache();
|
|
53
50
|
this.eventHandler.emitEvent(EventType.RESTORE_FROM_BFCACHE, InteractionType.Redirect);
|
|
54
51
|
}
|
|
55
52
|
};
|
|
53
|
+
const redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);
|
|
54
|
+
this.logger.verbosePii(`Redirect start page: ${redirectStartPage}`);
|
|
55
|
+
// Cache start page, returns to this page after redirectUri if navigateToLoginRequestUrl is true
|
|
56
|
+
this.browserStorage.setTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, redirectStartPage, true);
|
|
57
|
+
// Clear temporary cache if the back button is clicked during the redirect flow.
|
|
58
|
+
window.addEventListener("pageshow", handleBackButton);
|
|
59
|
+
try {
|
|
60
|
+
if (this.config.auth.protocolMode === ProtocolMode.EAR) {
|
|
61
|
+
await this.executeEarFlow(validRequest);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
await this.executeCodeFlow(validRequest, request.onRedirectNavigate);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
if (e instanceof AuthError) {
|
|
69
|
+
e.setCorrelationId(this.correlationId);
|
|
70
|
+
}
|
|
71
|
+
window.removeEventListener("pageshow", handleBackButton);
|
|
72
|
+
throw e;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Executes auth code + PKCE flow
|
|
77
|
+
* @param request
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
async executeCodeFlow(request, onRedirectNavigate) {
|
|
81
|
+
const correlationId = request.correlationId;
|
|
82
|
+
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenRedirect);
|
|
83
|
+
const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, correlationId)(this.performanceClient, this.logger, correlationId);
|
|
84
|
+
const redirectRequest = {
|
|
85
|
+
...request,
|
|
86
|
+
codeChallenge: pkceCodes.challenge,
|
|
87
|
+
};
|
|
88
|
+
this.browserStorage.cacheAuthorizeRequest(redirectRequest, pkceCodes.verifier);
|
|
56
89
|
try {
|
|
57
90
|
// Initialize the client
|
|
58
91
|
const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, this.correlationId)({
|
|
59
92
|
serverTelemetryManager,
|
|
60
|
-
requestAuthority:
|
|
61
|
-
requestAzureCloudOptions:
|
|
62
|
-
requestExtraQueryParameters:
|
|
63
|
-
account:
|
|
93
|
+
requestAuthority: redirectRequest.authority,
|
|
94
|
+
requestAzureCloudOptions: redirectRequest.azureCloudOptions,
|
|
95
|
+
requestExtraQueryParameters: redirectRequest.extraQueryParameters,
|
|
96
|
+
account: redirectRequest.account,
|
|
64
97
|
});
|
|
65
|
-
const authCodeRequest = {
|
|
66
|
-
...validRequest,
|
|
67
|
-
code: "",
|
|
68
|
-
codeVerifier: pkceCodes.verifier,
|
|
69
|
-
};
|
|
70
|
-
// Create redirect interaction handler.
|
|
71
|
-
const interactionHandler = new RedirectHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.performanceClient);
|
|
72
98
|
// Create acquire token url.
|
|
73
|
-
const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient,
|
|
74
|
-
...validRequest,
|
|
75
|
-
platformBroker: NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, request.authenticationScheme),
|
|
76
|
-
}, this.logger, this.performanceClient);
|
|
77
|
-
const redirectStartPage = this.getRedirectStartPage(request.redirectStartPage);
|
|
78
|
-
this.logger.verbosePii(`Redirect start page: ${redirectStartPage}`);
|
|
79
|
-
// Clear temporary cache if the back button is clicked during the redirect flow.
|
|
80
|
-
window.addEventListener("pageshow", handleBackButton);
|
|
99
|
+
const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, request.correlationId)(this.config, authClient.authority, redirectRequest, this.logger, this.performanceClient);
|
|
81
100
|
// Show the UI once the url has been created. Response will come back in the hash, which will be handled in the handleRedirectCallback function.
|
|
82
|
-
return await
|
|
83
|
-
navigationClient: this.navigationClient,
|
|
84
|
-
redirectTimeout: this.config.system.redirectNavigationTimeout,
|
|
85
|
-
redirectStartPage: redirectStartPage,
|
|
86
|
-
onRedirectNavigate: request.onRedirectNavigate ||
|
|
87
|
-
this.config.auth.onRedirectNavigate,
|
|
88
|
-
});
|
|
101
|
+
return await this.initiateAuthRequest(navigateUrl, onRedirectNavigate);
|
|
89
102
|
}
|
|
90
103
|
catch (e) {
|
|
91
104
|
if (e instanceof AuthError) {
|
|
92
105
|
e.setCorrelationId(this.correlationId);
|
|
93
106
|
serverTelemetryManager.cacheFailedRequest(e);
|
|
94
107
|
}
|
|
95
|
-
window.removeEventListener("pageshow", handleBackButton);
|
|
96
|
-
this.browserStorage.cleanRequestByState(validRequest.state);
|
|
97
108
|
throw e;
|
|
98
109
|
}
|
|
99
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* Executes EAR flow
|
|
113
|
+
* @param request
|
|
114
|
+
*/
|
|
115
|
+
async executeEarFlow(request) {
|
|
116
|
+
const correlationId = request.correlationId;
|
|
117
|
+
// Get the frame handle for the silent request
|
|
118
|
+
const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, correlationId)({
|
|
119
|
+
requestAuthority: request.authority,
|
|
120
|
+
requestAzureCloudOptions: request.azureCloudOptions,
|
|
121
|
+
requestExtraQueryParameters: request.extraQueryParameters,
|
|
122
|
+
account: request.account,
|
|
123
|
+
});
|
|
124
|
+
const earJwk = await invokeAsync(generateEarKey, PerformanceEvents.GenerateEarKey, this.logger, this.performanceClient, correlationId)();
|
|
125
|
+
const redirectRequest = {
|
|
126
|
+
...request,
|
|
127
|
+
earJwk: earJwk,
|
|
128
|
+
};
|
|
129
|
+
this.browserStorage.cacheAuthorizeRequest(redirectRequest);
|
|
130
|
+
const form = await getEARForm(document, this.config, discoveredAuthority, redirectRequest, this.logger, this.performanceClient);
|
|
131
|
+
form.submit();
|
|
132
|
+
}
|
|
100
133
|
/**
|
|
101
134
|
* Checks if navigateToLoginRequestUrl is set, and:
|
|
102
135
|
* - if true, performs logic to cache and navigate
|
|
@@ -104,18 +137,14 @@ class RedirectClient extends StandardInteractionClient {
|
|
|
104
137
|
* @param hash {string} url hash
|
|
105
138
|
* @param parentMeasurement {InProgressPerformanceEvent} parent measurement
|
|
106
139
|
*/
|
|
107
|
-
async handleRedirectPromise(hash = "", parentMeasurement) {
|
|
140
|
+
async handleRedirectPromise(hash = "", request, pkceVerifier, parentMeasurement) {
|
|
108
141
|
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.handleRedirectPromise);
|
|
109
142
|
try {
|
|
110
|
-
if (!this.browserStorage.isInteractionInProgress(true)) {
|
|
111
|
-
this.logger.info("handleRedirectPromise called but there is no interaction in progress, returning null.");
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
143
|
const [serverParams, responseString] = this.getRedirectResponse(hash || "");
|
|
115
144
|
if (!serverParams) {
|
|
116
145
|
// Not a recognized server response hash or hash not associated with a redirect request
|
|
117
146
|
this.logger.info("handleRedirectPromise did not detect a response as a result of a redirect. Cleaning temporary cache.");
|
|
118
|
-
this.browserStorage.
|
|
147
|
+
this.browserStorage.resetRequestCache();
|
|
119
148
|
// Do not instrument "no_server_response" if user clicked back button
|
|
120
149
|
if (getNavigationType() !== "back_forward") {
|
|
121
150
|
parentMeasurement.event.errorCode = "no_server_response";
|
|
@@ -137,12 +166,12 @@ class RedirectClient extends StandardInteractionClient {
|
|
|
137
166
|
// Replace current hash with non-msal hash, if present
|
|
138
167
|
replaceHash(loginRequestUrl);
|
|
139
168
|
}
|
|
140
|
-
const handleHashResult = await this.handleResponse(serverParams, serverTelemetryManager);
|
|
169
|
+
const handleHashResult = await this.handleResponse(serverParams, request, pkceVerifier, serverTelemetryManager);
|
|
141
170
|
return handleHashResult;
|
|
142
171
|
}
|
|
143
172
|
else if (!this.config.auth.navigateToLoginRequestUrl) {
|
|
144
173
|
this.logger.verbose("NavigateToLoginRequestUrl set to false, handling response");
|
|
145
|
-
return await this.handleResponse(serverParams, serverTelemetryManager);
|
|
174
|
+
return await this.handleResponse(serverParams, request, pkceVerifier, serverTelemetryManager);
|
|
146
175
|
}
|
|
147
176
|
else if (!isInIframe() ||
|
|
148
177
|
this.config.system.allowRedirectInIframe) {
|
|
@@ -178,7 +207,7 @@ class RedirectClient extends StandardInteractionClient {
|
|
|
178
207
|
}
|
|
179
208
|
// If navigateInternal implementation returns false, handle the hash now
|
|
180
209
|
if (!processHashOnRedirect) {
|
|
181
|
-
return await this.handleResponse(serverParams, serverTelemetryManager);
|
|
210
|
+
return await this.handleResponse(serverParams, request, pkceVerifier, serverTelemetryManager);
|
|
182
211
|
}
|
|
183
212
|
}
|
|
184
213
|
return null;
|
|
@@ -188,7 +217,6 @@ class RedirectClient extends StandardInteractionClient {
|
|
|
188
217
|
e.setCorrelationId(this.correlationId);
|
|
189
218
|
serverTelemetryManager.cacheFailedRequest(e);
|
|
190
219
|
}
|
|
191
|
-
this.browserStorage.cleanRequestByInteractionType(InteractionType.Redirect);
|
|
192
220
|
throw e;
|
|
193
221
|
}
|
|
194
222
|
}
|
|
@@ -241,39 +269,67 @@ class RedirectClient extends StandardInteractionClient {
|
|
|
241
269
|
* @param hash
|
|
242
270
|
* @param state
|
|
243
271
|
*/
|
|
244
|
-
async handleResponse(serverParams, serverTelemetryManager) {
|
|
272
|
+
async handleResponse(serverParams, request, codeVerifier, serverTelemetryManager) {
|
|
245
273
|
const state = serverParams.state;
|
|
246
274
|
if (!state) {
|
|
247
275
|
throw createBrowserAuthError(noStateInHash);
|
|
248
276
|
}
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.acquireTokenPopup, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.nativeStorage, cachedRequest.correlationId);
|
|
257
|
-
const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, state);
|
|
258
|
-
return nativeInteractionClient
|
|
259
|
-
.acquireToken({
|
|
260
|
-
...cachedRequest,
|
|
261
|
-
state: userRequestState,
|
|
262
|
-
prompt: undefined, // Server should handle the prompt, ideally native broker can do this part silently
|
|
263
|
-
})
|
|
264
|
-
.finally(() => {
|
|
265
|
-
this.browserStorage.cleanRequestByState(state);
|
|
277
|
+
if (serverParams.ear_jwe) {
|
|
278
|
+
const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, request.correlationId)({
|
|
279
|
+
requestAuthority: request.authority,
|
|
280
|
+
requestAzureCloudOptions: request.azureCloudOptions,
|
|
281
|
+
requestExtraQueryParameters: request.extraQueryParameters,
|
|
282
|
+
account: request.account,
|
|
266
283
|
});
|
|
284
|
+
return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, request.correlationId)(request, serverParams, ApiId.acquireTokenRedirect, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
|
|
285
|
+
}
|
|
286
|
+
const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, this.correlationId)({ serverTelemetryManager, requestAuthority: request.authority });
|
|
287
|
+
return invokeAsync(handleResponseCode, PerformanceEvents.HandleResponseCode, this.logger, this.performanceClient, request.correlationId)(request, serverParams, codeVerifier, ApiId.acquireTokenRedirect, this.config, authClient, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
|
|
288
|
+
}
|
|
289
|
+
/**
|
|
290
|
+
* Redirects window to given URL.
|
|
291
|
+
* @param urlNavigate
|
|
292
|
+
* @param onRedirectNavigateRequest - onRedirectNavigate callback provided on the request
|
|
293
|
+
*/
|
|
294
|
+
async initiateAuthRequest(requestUrl, onRedirectNavigateRequest) {
|
|
295
|
+
this.logger.verbose("RedirectHandler.initiateAuthRequest called");
|
|
296
|
+
// Navigate if valid URL
|
|
297
|
+
if (requestUrl) {
|
|
298
|
+
this.logger.infoPii(`RedirectHandler.initiateAuthRequest: Navigate to: ${requestUrl}`);
|
|
299
|
+
const navigationOptions = {
|
|
300
|
+
apiId: ApiId.acquireTokenRedirect,
|
|
301
|
+
timeout: this.config.system.redirectNavigationTimeout,
|
|
302
|
+
noHistory: false,
|
|
303
|
+
};
|
|
304
|
+
const onRedirectNavigate = onRedirectNavigateRequest ||
|
|
305
|
+
this.config.auth.onRedirectNavigate;
|
|
306
|
+
// If onRedirectNavigate is implemented, invoke it and provide requestUrl
|
|
307
|
+
if (typeof onRedirectNavigate === "function") {
|
|
308
|
+
this.logger.verbose("RedirectHandler.initiateAuthRequest: Invoking onRedirectNavigate callback");
|
|
309
|
+
const navigate = onRedirectNavigate(requestUrl);
|
|
310
|
+
// Returning false from onRedirectNavigate will stop navigation
|
|
311
|
+
if (navigate !== false) {
|
|
312
|
+
this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate did not return false, navigating");
|
|
313
|
+
await this.navigationClient.navigateExternal(requestUrl, navigationOptions);
|
|
314
|
+
return;
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
this.logger.verbose("RedirectHandler.initiateAuthRequest: onRedirectNavigate returned false, stopping navigation");
|
|
318
|
+
return;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
else {
|
|
322
|
+
// Navigate window to request URL
|
|
323
|
+
this.logger.verbose("RedirectHandler.initiateAuthRequest: Navigating window to navigate url");
|
|
324
|
+
await this.navigationClient.navigateExternal(requestUrl, navigationOptions);
|
|
325
|
+
return;
|
|
326
|
+
}
|
|
267
327
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
throw createBrowserAuthError(
|
|
328
|
+
else {
|
|
329
|
+
// Throw error if request URL is empty.
|
|
330
|
+
this.logger.info("RedirectHandler.initiateAuthRequest: Navigate url is empty");
|
|
331
|
+
throw createBrowserAuthError(emptyNavigateUri);
|
|
272
332
|
}
|
|
273
|
-
const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, this.correlationId)({ serverTelemetryManager, requestAuthority: currentAuthority });
|
|
274
|
-
ThrottlingUtils.removeThrottle(this.browserStorage, this.config.auth.clientId, cachedRequest);
|
|
275
|
-
const interactionHandler = new RedirectHandler(authClient, this.browserStorage, cachedRequest, this.logger, this.performanceClient);
|
|
276
|
-
return interactionHandler.handleCodeResponse(serverParams, state);
|
|
277
333
|
}
|
|
278
334
|
/**
|
|
279
335
|
* Use to log out the current user, and redirect the user to the postLogoutRedirectUri.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedirectClient.mjs","sources":["../../src/interaction_client/RedirectClient.ts"],"sourcesContent":[null],"names":["BrowserUtils.replaceHash","BrowserUtils.isInIframe","BrowserUtils.getHomepage","ResponseHandler.validateInteractionType","BrowserUtils.clearHash","BrowserAuthErrorCodes.noStateInHash","BrowserAuthErrorCodes.nativeConnectionNotEstablished","BrowserAuthErrorCodes.noCachedAuthorityError","BrowserUtils.getCurrentUri"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;AAGG;AAkDH,SAAS,iBAAiB,GAAA;IACtB,IACI,OAAO,MAAM,KAAK,WAAW;AAC7B,QAAA,OAAO,MAAM,CAAC,WAAW,KAAK,WAAW;AACzC,QAAA,OAAO,MAAM,CAAC,WAAW,CAAC,gBAAgB,KAAK,UAAU,EAC3D;AACE,QAAA,OAAO,SAAS,CAAC;AACpB,KAAA;IAED,MAAM,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;AAC5E,IAAA,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM;AACvC,UAAG,iBAAiB,CAAC,CAAC,CAAiC;UACrD,SAAS,CAAC;IAChB,OAAO,UAAU,EAAE,IAAI,CAAC;AAC5B,CAAC;AAEK,MAAO,cAAe,SAAQ,yBAAyB,CAAA;AAGzD,IAAA,WAAA,CACI,MAA4B,EAC5B,WAAgC,EAChC,aAAsB,EACtB,MAAc,EACd,YAA0B,EAC1B,gBAAmC,EACnC,iBAAqC,EACrC,iBAAsC,EACtC,oBAA2C,EAC3C,aAAsB,EAAA;AAEtB,QAAA,KAAK,CACD,MAAM,EACN,WAAW,EACX,aAAa,EACb,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,CAChB,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;KAC1C;AAED;;;AAGG;IACH,MAAM,YAAY,CAAC,OAAwB,EAAA;AACvC,QAAA,MAAM,YAAY,GAAG,MAAM,WAAW,CAClC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,EAC9C,iBAAiB,CAAC,uDAAuD,EACzE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,CACrB,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;AAErC,QAAA,MAAM,SAAS,GAAG,MAAM,WAAW,CAC/B,iBAAiB,EACjB,iBAAiB,CAAC,iBAAiB,EACnC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,CACrB,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;AAC3D,QAAA,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC;AAEjD,QAAA,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAClC,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,SAAS,IAAI,EAAE,EAC5B,YAAY,CAAC,OAAO,IAAI,IAAI,CAC/B,CAAC;QACF,MAAM,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAChE,KAAK,CAAC,oBAAoB,CAC7B,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAG,CAAC,KAA0B,KAAI;;YAEpD,IAAI,KAAK,CAAC,SAAS,EAAE;AACjB,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,sEAAsE,CACzE,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,gBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,oBAAoB,EAC9B,eAAe,CAAC,QAAQ,CAC3B,CAAC;AACL,aAAA;AACL,SAAC,CAAC;QAEF,IAAI;;AAEA,YAAA,MAAM,UAAU,GAA4B,MAAM,WAAW,CACzD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EACpC,iBAAiB,CAAC,6CAA6C,EAC/D,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,CACrB,CAAC;gBACE,sBAAsB;gBACtB,gBAAgB,EAAE,YAAY,CAAC,SAAS;gBACxC,wBAAwB,EAAE,YAAY,CAAC,iBAAiB;gBACxD,2BAA2B,EAAE,YAAY,CAAC,oBAAoB;gBAC9D,OAAO,EAAE,YAAY,CAAC,OAAO;AAChC,aAAA,CAAC,CAAC;AAEH,YAAA,MAAM,eAAe,GAAmC;AACpD,gBAAA,GAAG,YAAY;AACf,gBAAA,IAAI,EAAE,EAAE;gBACR,YAAY,EAAE,SAAS,CAAC,QAAQ;aACnC,CAAC;;YAEF,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAC1C,UAAU,EACV,IAAI,CAAC,cAAc,EACnB,eAAe,EACf,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,CACzB,CAAC;;AAGF,YAAA,MAAM,WAAW,GAAG,MAAM,WAAW,CACjC,qBAAqB,EACrB,iBAAiB,CAAC,cAAc,EAChC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,YAAY,CAAC,aAAa,CAC7B,CACG,IAAI,CAAC,MAAM,EACX,UAAU,CAAC,SAAS,EACpB;AACI,gBAAA,GAAG,YAAY;gBACf,cAAc,EACV,oBAAoB,CAAC,yBAAyB,CAC1C,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,oBAAoB,EACzB,OAAO,CAAC,oBAAoB,CAC/B;aACR,EACD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,CACzB,CAAC;YAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAC/C,OAAO,CAAC,iBAAiB,CAC5B,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAwB,qBAAA,EAAA,iBAAiB,CAAE,CAAA,CAAC,CAAC;;AAGpE,YAAA,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;;AAGtD,YAAA,OAAO,MAAM,kBAAkB,CAAC,mBAAmB,CAAC,WAAW,EAAE;gBAC7D,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACvC,gBAAA,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB;AAC7D,gBAAA,iBAAiB,EAAE,iBAAiB;gBACpC,kBAAkB,EACd,OAAO,CAAC,kBAAkB;AAC1B,oBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB;AAC1C,aAAA,CAAC,CAAC;AACN,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,YAAY,SAAS,EAAE;AACxB,gBAAA,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACvC,gBAAA,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAChD,aAAA;AACD,YAAA,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC5D,YAAA,MAAM,CAAC,CAAC;AACX,SAAA;KACJ;AAED;;;;;;AAMG;AACH,IAAA,MAAM,qBAAqB,CACvB,IAAe,GAAA,EAAE,EACjB,iBAA6C,EAAA;QAE7C,MAAM,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAChE,KAAK,CAAC,qBAAqB,CAC9B,CAAC;QAEF,IAAI;YACA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,IAAI,CAAC,EAAE;AACpD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,uFAAuF,CAC1F,CAAC;AACF,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AACD,YAAA,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAC3D,IAAI,IAAI,EAAE,CACb,CAAC;YACF,IAAI,CAAC,YAAY,EAAE;;AAEf,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,sGAAsG,CACzG,CAAC;gBACF,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAC7C,eAAe,CAAC,QAAQ,CAC3B,CAAC;;AAGF,gBAAA,IAAI,iBAAiB,EAAE,KAAK,cAAc,EAAE;AACxC,oBAAA,iBAAiB,CAAC,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAC;AAC5D,iBAAA;AAAM,qBAAA;AACH,oBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,iEAAiE,CACpE,CAAC;AACL,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;;AAGD,YAAA,MAAM,eAAe,GACjB,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACjC,kBAAkB,CAAC,UAAU,EAC7B,IAAI,CACP,IAAI,SAAS,CAAC,YAAY,CAAC;YAChC,MAAM,yBAAyB,GAC3B,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;AACjD,YAAA,MAAM,oBAAoB,GAAG,SAAS,CAAC,iBAAiB,CACpD,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvB,CAAC;YAEF,IACI,yBAAyB,KAAK,oBAAoB;AAClD,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAC5C;;AAEE,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,oDAAoD,CACvD,CAAC;gBAEF,IAAI,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;;AAEnC,oBAAAA,WAAwB,CAAC,eAAe,CAAC,CAAC;AAC7C,iBAAA;gBAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,cAAc,CAC9C,YAAY,EACZ,sBAAsB,CACzB,CAAC;AAEF,gBAAA,OAAO,gBAAgB,CAAC;AAC3B,aAAA;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE;AACpD,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,2DAA2D,CAC9D,CAAC;gBACF,OAAO,MAAM,IAAI,CAAC,cAAc,CAC5B,YAAY,EACZ,sBAAsB,CACzB,CAAC;AACL,aAAA;AAAM,iBAAA,IACH,CAACC,UAAuB,EAAE;AAC1B,gBAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAC1C;AACE;;;AAGG;AACH,gBAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACjC,kBAAkB,CAAC,QAAQ,EAC3B,cAAc,EACd,IAAI,CACP,CAAC;AACF,gBAAA,MAAM,iBAAiB,GAAsB;oBACzC,KAAK,EAAE,KAAK,CAAC,qBAAqB;AAClC,oBAAA,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB;AACrD,oBAAA,SAAS,EAAE,IAAI;iBAClB,CAAC;AAEF;;;AAGG;gBACH,IAAI,qBAAqB,GAAY,IAAI,CAAC;AAC1C,gBAAA,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,MAAM,EAAE;;AAEhD,oBAAA,MAAM,QAAQ,GAAGC,WAAwB,EAAE,CAAC;;AAE5C,oBAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACjC,kBAAkB,CAAC,UAAU,EAC7B,QAAQ,EACR,IAAI,CACP,CAAC;AACF,oBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,4EAA4E,CAC/E,CAAC;oBACF,qBAAqB;wBACjB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACxC,QAAQ,EACR,iBAAiB,CACpB,CAAC;AACT,iBAAA;AAAM,qBAAA;;oBAEH,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,CAAkC,+BAAA,EAAA,eAAe,CAAE,CAAA,CACtD,CAAC;oBACF,qBAAqB;wBACjB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACxC,eAAe,EACf,iBAAiB,CACpB,CAAC;AACT,iBAAA;;gBAGD,IAAI,CAAC,qBAAqB,EAAE;oBACxB,OAAO,MAAM,IAAI,CAAC,cAAc,CAC5B,YAAY,EACZ,sBAAsB,CACzB,CAAC;AACL,iBAAA;AACJ,aAAA;AAED,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,YAAY,SAAS,EAAE;AACvB,gBAAA,CAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtD,gBAAA,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAChD,aAAA;YACD,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAC7C,eAAe,CAAC,QAAQ,CAC3B,CAAC;AACF,YAAA,MAAM,CAAC,CAAC;AACX,SAAA;KACJ;AAED;;;;AAIG;AACO,IAAA,mBAAmB,CACzB,oBAA4B,EAAA;AAE5B,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;;QAEtD,IAAI,cAAc,GAAG,oBAAoB,CAAC;QAC1C,IAAI,CAAC,cAAc,EAAE;YACjB,IACI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB;gBAC/C,kBAAkB,CAAC,KAAK,EAC1B;AACE,gBAAA,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC3C,aAAA;AAAM,iBAAA;AACH,gBAAA,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AACzC,aAAA;AACJ,SAAA;QACD,IAAI,QAAQ,GAAG,QAAQ,CAAC,uBAAuB,CAAC,cAAc,CAAC,CAAC;AAEhE,QAAA,IAAI,QAAQ,EAAE;YACV,IAAI;AACA,gBAAAC,uBAAuC,CACnC,QAAQ,EACR,IAAI,CAAC,aAAa,EAClB,eAAe,CAAC,QAAQ,CAC3B,CAAC;AACL,aAAA;AAAC,YAAA,OAAO,CAAC,EAAE;gBACR,IAAI,CAAC,YAAY,SAAS,EAAE;AACxB,oBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,CAA6C,0CAAA,EAAA,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,YAAY,CAAA,CAAE,CAChF,CAAC;AACL,iBAAA;AACD,gBAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrB,aAAA;AAED,YAAAC,SAAsB,CAAC,MAAM,CAAC,CAAC;AAC/B,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,yDAAyD,CAC5D,CAAC;AACF,YAAA,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AACrC,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,iBAAiB,CACpD,kBAAkB,CAAC,QAAQ,EAC3B,IAAI,CACP,CAAC;AACF,QAAA,IAAI,CAAC,cAAc,CAAC,UAAU,CAC1B,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CACpE,CAAC;AAEF,QAAA,IAAI,UAAU,EAAE;AACZ,YAAA,QAAQ,GAAG,QAAQ,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;AACxD,YAAA,IAAI,QAAQ,EAAE;AACV,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,+DAA+D,CAClE,CAAC;AACF,gBAAA,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AACjC,aAAA;AACJ,SAAA;AAED,QAAA,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;KACrB;AAED;;;;AAIG;AACO,IAAA,MAAM,cAAc,CAC1B,YAA+B,EAC/B,sBAA8C,EAAA;AAE9C,QAAA,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE;AACR,YAAA,MAAM,sBAAsB,CAACC,aAAmC,CAAC,CAAC;AACrE,SAAA;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAClE,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;QAEvE,IAAI,YAAY,CAAC,SAAS,EAAE;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,iDAAiD,CACpD,CAAC;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;AAC5B,gBAAA,MAAM,sBAAsB,CACxBC,8BAAoD,CACvD,CAAC;AACL,aAAA;YACD,MAAM,uBAAuB,GAAG,IAAI,uBAAuB,CACvD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,gBAAgB,EACrB,KAAK,CAAC,iBAAiB,EACvB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,oBAAoB,EACzB,YAAY,CAAC,SAAS,EACtB,IAAI,CAAC,aAAa,EAClB,aAAa,CAAC,aAAa,CAC9B,CAAC;AACF,YAAA,MAAM,EAAE,gBAAgB,EAAE,GAAG,aAAa,CAAC,iBAAiB,CACxD,IAAI,CAAC,aAAa,EAClB,KAAK,CACR,CAAC;AACF,YAAA,OAAO,uBAAuB;AACzB,iBAAA,YAAY,CAAC;AACV,gBAAA,GAAG,aAAa;AAChB,gBAAA,KAAK,EAAE,gBAAgB;gBACvB,MAAM,EAAE,SAAS;aACpB,CAAC;iBACD,OAAO,CAAC,MAAK;AACV,gBAAA,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACnD,aAAC,CAAC,CAAC;AACV,SAAA;;QAGD,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,gBAAgB,EAAE;AACnB,YAAA,MAAM,sBAAsB,CACxBC,sBAA4C,CAC/C,CAAC;AACL,SAAA;AAED,QAAA,MAAM,UAAU,GAAG,MAAM,WAAW,CAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EACpC,iBAAiB,CAAC,6CAA6C,EAC/D,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,CACrB,CAAC,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAElE,QAAA,eAAe,CAAC,cAAc,CAC1B,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EACzB,aAAa,CAChB,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAI,eAAe,CAC1C,UAAU,EACV,IAAI,CAAC,cAAc,EACnB,aAAa,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,CACzB,CAAC;QACF,OAAO,kBAAkB,CAAC,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;KACrE;AAED;;;;AAIG;IACH,MAAM,MAAM,CAAC,aAAiC,EAAA;AAC1C,QAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAC7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC;QACvE,MAAM,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAChE,KAAK,CAAC,MAAM,CACf,CAAC;QAEF,IAAI;AACA,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,YAAY,EACtB,eAAe,CAAC,QAAQ,EACxB,aAAa,CAChB,CAAC;;YAGF,MAAM,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAE1D,YAAA,MAAM,iBAAiB,GAAsB;gBACzC,KAAK,EAAE,KAAK,CAAC,MAAM;AACnB,gBAAA,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,yBAAyB;AACrD,gBAAA,SAAS,EAAE,KAAK;aACnB,CAAC;AAEF,YAAA,MAAM,UAAU,GAAG,MAAM,WAAW,CAChC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EACpC,iBAAiB,CAAC,6CAA6C,EAC/D,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,aAAa,CACrB,CAAC;gBACE,sBAAsB;AACtB,gBAAA,gBAAgB,EAAE,aAAa,IAAI,aAAa,CAAC,SAAS;gBAC1D,2BAA2B,EACvB,aAAa,EAAE,oBAAoB;gBACvC,OAAO,EAAE,CAAC,aAAa,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS;AACjE,aAAA,CAAC,CAAC;YAEH,IAAI,UAAU,CAAC,SAAS,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,EAAE;gBACzD,IAAI;AACA,oBAAA,UAAU,CAAC,SAAS,CAAC,kBAAkB,CAAC;AAC3C,iBAAA;gBAAC,MAAM;AACJ,oBAAA,IAAI,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE;AAC3C,wBAAA,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,CAClC,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAC5C,CAAC;AAEF,wBAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,cAAc,EACxB,eAAe,CAAC,QAAQ,EACxB,kBAAkB,CACrB,CAAC;wBAEF,OAAO;AACV,qBAAA;AACJ,iBAAA;AACJ,aAAA;;YAGD,MAAM,SAAS,GACX,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;AAEhD,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,cAAc,EACxB,eAAe,CAAC,QAAQ,EACxB,kBAAkB,CACrB,CAAC;;AAEF,YAAA,IACI,aAAa;AACb,gBAAA,OAAO,aAAa,CAAC,kBAAkB,KAAK,UAAU,EACxD;gBACE,MAAM,QAAQ,GAAG,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAE7D,IAAI,QAAQ,KAAK,KAAK,EAAE;AACpB,oBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,4DAA4D,CAC/D,CAAC;;AAEF,oBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,EAAE;AACjD,wBAAA,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACtD,qBAAA;oBACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACxC,SAAS,EACT,iBAAiB,CACpB,CAAC;oBACF,OAAO;AACV,iBAAA;AAAM,qBAAA;;AAEH,oBAAA,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;AACpD,oBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,+DAA+D,CAClE,CAAC;AACL,iBAAA;AACJ,aAAA;AAAM,iBAAA;;AAEH,gBAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,wBAAwB,EAAE,EAAE;AACjD,oBAAA,IAAI,CAAC,cAAc,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACtD,iBAAA;gBACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACxC,SAAS,EACT,iBAAiB,CACpB,CAAC;gBACF,OAAO;AACV,aAAA;AACJ,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,YAAY,SAAS,EAAE;AACvB,gBAAA,CAAe,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACtD,gBAAA,sBAAsB,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAChD,aAAA;AACD,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,cAAc,EACxB,eAAe,CAAC,QAAQ,EACxB,IAAI,EACJ,CAAe,CAClB,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,UAAU,EACpB,eAAe,CAAC,QAAQ,CAC3B,CAAC;AACF,YAAA,MAAM,CAAC,CAAC;AACX,SAAA;AAED,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CACvB,SAAS,CAAC,UAAU,EACpB,eAAe,CAAC,QAAQ,CAC3B,CAAC;KACL;AAED;;;AAGG;AACO,IAAA,oBAAoB,CAAC,gBAAyB,EAAA;QACpD,MAAM,iBAAiB,GAAG,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnE,OAAO,SAAS,CAAC,cAAc,CAC3B,iBAAiB,EACjBC,aAA0B,EAAE,CAC/B,CAAC;KACL;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"RedirectClient.mjs","sources":["../../src/interaction_client/RedirectClient.ts"],"sourcesContent":[null],"names":["Authorize.getAuthCodeRequestUrl","Authorize.getEARForm","BrowserUtils.replaceHash","BrowserUtils.isInIframe","BrowserUtils.getHomepage","ResponseHandler.validateInteractionType","BrowserUtils.clearHash","BrowserAuthErrorCodes.noStateInHash","Authorize.handleResponseEAR","Authorize.handleResponseCode","BrowserAuthErrorCodes.emptyNavigateUri","BrowserUtils.getCurrentUri"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentAuthCodeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAGN,kBAAkB,
|
|
1
|
+
{"version":3,"file":"SilentAuthCodeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAGN,kBAAkB,EAIrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAAmB,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,qBAAa,oBAAqB,SAAQ,yBAAyB;IAC/D,OAAO,CAAC,KAAK,CAAQ;gBAGjB,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,aAAa,CAAC,EAAE,MAAM;IAgB1B;;;OAGG;IACG,YAAY,CACd,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,oBAAoB,CAAC;IAmFhC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ1B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v4.
|
|
1
|
+
/*! @azure/msal-browser v4.9.1 2025-03-26 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { invokeAsync, PerformanceEvents, AuthError } from '@azure/msal-common/browser';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentAuthCodeClient.mjs","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.authCodeRequired","BrowserAuthErrorCodes.silentLogoutUnsupported"],"mappings":";;;;;;;;;;AAAA;;;AAGG;AA4BG,MAAO,oBAAqB,SAAQ,yBAAyB,CAAA;AAG/D,IAAA,WAAA,CACI,MAA4B,EAC5B,WAAgC,EAChC,aAAsB,EACtB,MAAc,EACd,YAA0B,EAC1B,gBAAmC,EACnC,KAAY,EACZ,iBAAqC,EACrC,oBAA2C,EAC3C,aAAsB,EAAA;AAEtB,QAAA,KAAK,CACD,MAAM,EACN,WAAW,EACX,aAAa,EACb,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,CAChB,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;KACtB;AAED;;;AAGG;IACH,MAAM,YAAY,CACd,OAAiC,EAAA;;AAGjC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACf,YAAA,MAAM,sBAAsB,CACxBA,gBAAsC,CACzC,CAAC;AACL,SAAA;;AAGD,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"SilentAuthCodeClient.mjs","sources":["../../src/interaction_client/SilentAuthCodeClient.ts"],"sourcesContent":[null],"names":["BrowserAuthErrorCodes.authCodeRequired","BrowserAuthErrorCodes.silentLogoutUnsupported"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v4.
|
|
1
|
+
/*! @azure/msal-browser v4.9.1 2025-03-26 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { StandardInteractionClient } from './StandardInteractionClient.mjs';
|
|
4
4
|
import { PerformanceEvents, invokeAsync, SilentFlowClient } from '@azure/msal-common/browser';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ICrypto, Logger, AuthorizationCodeClient, IPerformanceClient } from "@azure/msal-common/browser";
|
|
1
|
+
import { ICrypto, Logger, AuthorizationCodeClient, IPerformanceClient, CommonAuthorizationUrlRequest } from "@azure/msal-common/browser";
|
|
2
2
|
import { StandardInteractionClient } from "./StandardInteractionClient.js";
|
|
3
|
-
import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest.js";
|
|
4
3
|
import { BrowserConfiguration } from "../config/Configuration.js";
|
|
5
4
|
import { BrowserCacheManager } from "../cache/BrowserCacheManager.js";
|
|
6
5
|
import { EventHandler } from "../event/EventHandler.js";
|
|
@@ -18,6 +17,17 @@ export declare class SilentIframeClient extends StandardInteractionClient {
|
|
|
18
17
|
* @param request
|
|
19
18
|
*/
|
|
20
19
|
acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Executes auth code + PKCE flow
|
|
22
|
+
* @param request
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
executeCodeFlow(request: CommonAuthorizationUrlRequest): Promise<AuthenticationResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Executes EAR flow
|
|
28
|
+
* @param request
|
|
29
|
+
*/
|
|
30
|
+
executeEarFlow(request: CommonAuthorizationUrlRequest): Promise<AuthenticationResult>;
|
|
21
31
|
/**
|
|
22
32
|
* Currently Unsupported
|
|
23
33
|
*/
|
|
@@ -28,6 +38,6 @@ export declare class SilentIframeClient extends StandardInteractionClient {
|
|
|
28
38
|
* @param navigateUrl
|
|
29
39
|
* @param userRequestScopes
|
|
30
40
|
*/
|
|
31
|
-
protected silentTokenHelper(authClient: AuthorizationCodeClient, request:
|
|
41
|
+
protected silentTokenHelper(authClient: AuthorizationCodeClient, request: CommonAuthorizationUrlRequest): Promise<AuthenticationResult>;
|
|
32
42
|
}
|
|
33
43
|
//# sourceMappingURL=SilentIframeClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SilentIframeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentIframeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,
|
|
1
|
+
{"version":3,"file":"SilentIframeClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/SilentIframeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,MAAM,EAEN,uBAAuB,EAEvB,kBAAkB,EAKlB,6BAA6B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAKvE,OAAO,EAEH,KAAK,EAER,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAO3E,qBAAa,kBAAmB,SAAQ,yBAAyB;IAC7D,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,aAAa,EAAE,mBAAmB,CAAC;gBAGzC,MAAM,EAAE,oBAAoB,EAC5B,WAAW,EAAE,mBAAmB,EAChC,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,gBAAgB,EAAE,iBAAiB,EACnC,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,kBAAkB,EACrC,iBAAiB,EAAE,mBAAmB,EACtC,oBAAoB,CAAC,EAAE,oBAAoB,EAC3C,aAAa,CAAC,EAAE,MAAM;IAiB1B;;;OAGG;IACG,YAAY,CACd,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,oBAAoB,CAAC;IAwDhC;;;;OAIG;IACG,eAAe,CACjB,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,CAAC;IA4DhC;;;OAGG;IACG,cAAc,CAChB,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,CAAC;IAuFhC;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASvB;;;;;OAKG;cACa,iBAAiB,CAC7B,UAAU,EAAE,uBAAuB,EACnC,OAAO,EAAE,6BAA6B,GACvC,OAAO,CAAC,oBAAoB,CAAC;CA8FnC"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
/*! @azure/msal-browser v4.
|
|
1
|
+
/*! @azure/msal-browser v4.9.1 2025-03-26 */
|
|
2
2
|
'use strict';
|
|
3
|
-
import { PerformanceEvents, PromptValue, invokeAsync, AuthError, invoke
|
|
3
|
+
import { PerformanceEvents, PromptValue, invokeAsync, ProtocolMode, AuthError, invoke } from '@azure/msal-common/browser';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.mjs';
|
|
5
5
|
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
|
6
6
|
import { InteractionType, BrowserConstants } from '../utils/BrowserConstants.mjs';
|
|
7
|
-
import {
|
|
7
|
+
import { initiateEarRequest, monitorIframeForHash, initiateCodeRequest } from '../interaction_handler/SilentHandler.mjs';
|
|
8
8
|
import { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.mjs';
|
|
9
|
-
import { NativeInteractionClient } from './NativeInteractionClient.mjs';
|
|
10
|
-
import { InteractionHandler } from '../interaction_handler/InteractionHandler.mjs';
|
|
11
9
|
import { preconnect } from '../utils/BrowserUtils.mjs';
|
|
12
10
|
import { deserializeResponse } from '../response/ResponseHandler.mjs';
|
|
13
|
-
import { getAuthCodeRequestUrl } from '../protocol/Authorize.mjs';
|
|
11
|
+
import { handleResponseEAR, getAuthCodeRequestUrl, handleResponseCode } from '../protocol/Authorize.mjs';
|
|
14
12
|
import { generatePkceCodes } from '../crypto/PkceGenerator.mjs';
|
|
15
|
-
import {
|
|
13
|
+
import { generateEarKey } from '../crypto/BrowserCrypto.mjs';
|
|
14
|
+
import { silentLogoutUnsupported } from '../error/BrowserAuthErrorCodes.mjs';
|
|
16
15
|
|
|
17
16
|
/*
|
|
18
17
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -50,19 +49,34 @@ class SilentIframeClient extends StandardInteractionClient {
|
|
|
50
49
|
}
|
|
51
50
|
// Create silent request
|
|
52
51
|
const silentRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, request.correlationId)(inputRequest, InteractionType.Silent);
|
|
52
|
+
silentRequest.platformBroker =
|
|
53
|
+
NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme);
|
|
53
54
|
preconnect(silentRequest.authority);
|
|
54
|
-
|
|
55
|
+
if (this.config.auth.protocolMode === ProtocolMode.EAR) {
|
|
56
|
+
return this.executeEarFlow(silentRequest);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return this.executeCodeFlow(silentRequest);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Executes auth code + PKCE flow
|
|
64
|
+
* @param request
|
|
65
|
+
* @returns
|
|
66
|
+
*/
|
|
67
|
+
async executeCodeFlow(request) {
|
|
55
68
|
let authClient;
|
|
69
|
+
const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
|
|
56
70
|
try {
|
|
57
71
|
// Initialize the client
|
|
58
72
|
authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, request.correlationId)({
|
|
59
73
|
serverTelemetryManager,
|
|
60
|
-
requestAuthority:
|
|
61
|
-
requestAzureCloudOptions:
|
|
62
|
-
requestExtraQueryParameters:
|
|
63
|
-
account:
|
|
74
|
+
requestAuthority: request.authority,
|
|
75
|
+
requestAzureCloudOptions: request.azureCloudOptions,
|
|
76
|
+
requestExtraQueryParameters: request.extraQueryParameters,
|
|
77
|
+
account: request.account,
|
|
64
78
|
});
|
|
65
|
-
return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, request.correlationId)(authClient,
|
|
79
|
+
return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, request.correlationId)(authClient, request);
|
|
66
80
|
}
|
|
67
81
|
catch (e) {
|
|
68
82
|
if (e instanceof AuthError) {
|
|
@@ -77,10 +91,33 @@ class SilentIframeClient extends StandardInteractionClient {
|
|
|
77
91
|
this.performanceClient.addFields({
|
|
78
92
|
retryError: e.errorCode,
|
|
79
93
|
}, this.correlationId);
|
|
80
|
-
|
|
81
|
-
return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, this.correlationId)(authClient, retrySilentRequest);
|
|
94
|
+
return await invokeAsync(this.silentTokenHelper.bind(this), PerformanceEvents.SilentIframeClientTokenHelper, this.logger, this.performanceClient, this.correlationId)(authClient, request);
|
|
82
95
|
}
|
|
83
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Executes EAR flow
|
|
99
|
+
* @param request
|
|
100
|
+
*/
|
|
101
|
+
async executeEarFlow(request) {
|
|
102
|
+
const correlationId = request.correlationId;
|
|
103
|
+
const discoveredAuthority = await invokeAsync(this.getDiscoveredAuthority.bind(this), PerformanceEvents.StandardInteractionClientGetDiscoveredAuthority, this.logger, this.performanceClient, correlationId)({
|
|
104
|
+
requestAuthority: request.authority,
|
|
105
|
+
requestAzureCloudOptions: request.azureCloudOptions,
|
|
106
|
+
requestExtraQueryParameters: request.extraQueryParameters,
|
|
107
|
+
account: request.account,
|
|
108
|
+
});
|
|
109
|
+
const earJwk = await invokeAsync(generateEarKey, PerformanceEvents.GenerateEarKey, this.logger, this.performanceClient, correlationId)();
|
|
110
|
+
const silentRequest = {
|
|
111
|
+
...request,
|
|
112
|
+
earJwk: earJwk,
|
|
113
|
+
};
|
|
114
|
+
const msalFrame = await invokeAsync(initiateEarRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(this.config, discoveredAuthority, silentRequest, this.logger, this.performanceClient);
|
|
115
|
+
const responseType = this.config.auth.OIDCOptions.serverResponseType;
|
|
116
|
+
// Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
|
|
117
|
+
const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
|
|
118
|
+
const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, correlationId)(responseString, responseType, this.logger);
|
|
119
|
+
return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, correlationId)(silentRequest, serverParams, this.apiId, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
|
|
120
|
+
}
|
|
84
121
|
/**
|
|
85
122
|
* Currently Unsupported
|
|
86
123
|
*/
|
|
@@ -97,44 +134,20 @@ class SilentIframeClient extends StandardInteractionClient {
|
|
|
97
134
|
async silentTokenHelper(authClient, request) {
|
|
98
135
|
const correlationId = request.correlationId;
|
|
99
136
|
this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientTokenHelper, correlationId);
|
|
100
|
-
const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient,
|
|
137
|
+
const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, correlationId)(this.performanceClient, this.logger, correlationId);
|
|
101
138
|
const silentRequest = {
|
|
102
139
|
...request,
|
|
103
140
|
codeChallenge: pkceCodes.challenge,
|
|
104
141
|
};
|
|
105
142
|
// Create authorize request url
|
|
106
|
-
const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)(this.config, authClient.authority,
|
|
107
|
-
...silentRequest,
|
|
108
|
-
platformBroker: NativeMessageHandler.isPlatformBrokerAvailable(this.config, this.logger, this.nativeMessageHandler, silentRequest.authenticationScheme),
|
|
109
|
-
}, this.logger, this.performanceClient);
|
|
143
|
+
const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)(this.config, authClient.authority, silentRequest, this.logger, this.performanceClient);
|
|
110
144
|
// Get the frame handle for the silent request
|
|
111
|
-
const msalFrame = await invokeAsync(
|
|
145
|
+
const msalFrame = await invokeAsync(initiateCodeRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(navigateUrl, this.performanceClient, this.logger, correlationId, this.config.system.navigateFrameWait);
|
|
112
146
|
const responseType = this.config.auth.OIDCOptions.serverResponseType;
|
|
113
147
|
// Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
|
|
114
148
|
const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
|
|
115
|
-
const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient,
|
|
116
|
-
|
|
117
|
-
this.logger.verbose("Account id found in hash, calling WAM for token");
|
|
118
|
-
if (!this.nativeMessageHandler) {
|
|
119
|
-
throw createBrowserAuthError(nativeConnectionNotEstablished);
|
|
120
|
-
}
|
|
121
|
-
const nativeInteractionClient = new NativeInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, this.apiId, this.performanceClient, this.nativeMessageHandler, serverParams.accountId, this.browserStorage, correlationId);
|
|
122
|
-
const { userRequestState } = ProtocolUtils.parseRequestState(this.browserCrypto, silentRequest.state);
|
|
123
|
-
return invokeAsync(nativeInteractionClient.acquireToken.bind(nativeInteractionClient), PerformanceEvents.NativeInteractionClientAcquireToken, this.logger, this.performanceClient, correlationId)({
|
|
124
|
-
...silentRequest,
|
|
125
|
-
state: userRequestState,
|
|
126
|
-
prompt: silentRequest.prompt || PromptValue.NONE,
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
const authCodeRequest = {
|
|
130
|
-
...silentRequest,
|
|
131
|
-
code: serverParams.code || "",
|
|
132
|
-
codeVerifier: pkceCodes.verifier,
|
|
133
|
-
};
|
|
134
|
-
// Create silent handler
|
|
135
|
-
const interactionHandler = new InteractionHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.performanceClient);
|
|
136
|
-
// Handle response from hash string
|
|
137
|
-
return invokeAsync(interactionHandler.handleCodeResponse.bind(interactionHandler), PerformanceEvents.HandleCodeResponse, this.logger, this.performanceClient, correlationId)(serverParams, silentRequest);
|
|
149
|
+
const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, correlationId)(responseString, responseType, this.logger);
|
|
150
|
+
return invokeAsync(handleResponseCode, PerformanceEvents.HandleResponseCode, this.logger, this.performanceClient, correlationId)(request, serverParams, pkceCodes.verifier, this.apiId, this.config, authClient, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.nativeMessageHandler);
|
|
138
151
|
}
|
|
139
152
|
}
|
|
140
153
|
|