@azure/msal-browser 4.11.1 → 4.13.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/dist/app/IPublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientApplication.d.ts +1 -0
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.mjs +3 -2
- package/dist/app/PublicClientApplication.mjs.map +1 -1
- package/dist/app/PublicClientNext.mjs +1 -1
- package/dist/broker/nativeBroker/IPlatformAuthHandler.d.ts +12 -0
- package/dist/broker/nativeBroker/IPlatformAuthHandler.d.ts.map +1 -0
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts +30 -0
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -0
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +143 -0
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -0
- package/dist/broker/nativeBroker/{NativeMessageHandler.d.ts → PlatformAuthExtensionHandler.d.ts} +16 -16
- package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.d.ts.map +1 -0
- package/dist/broker/nativeBroker/{NativeMessageHandler.mjs → PlatformAuthExtensionHandler.mjs} +66 -58
- package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs.map +1 -0
- package/dist/broker/nativeBroker/PlatformAuthProvider.d.ts +26 -0
- package/dist/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -0
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +108 -0
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs.map +1 -0
- package/dist/broker/nativeBroker/{NativeRequest.d.ts → PlatformAuthRequest.d.ts} +34 -3
- package/dist/broker/nativeBroker/PlatformAuthRequest.d.ts.map +1 -0
- package/dist/broker/nativeBroker/{NativeResponse.d.ts → PlatformAuthResponse.d.ts} +24 -2
- package/dist/broker/nativeBroker/PlatformAuthResponse.d.ts.map +1 -0
- package/dist/cache/AccountManager.mjs +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/cache/BrowserCacheManager.d.ts +6 -2
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +29 -3
- 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 +1 -1
- 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 +1 -1
- package/dist/controllers/ControllerFactory.mjs +1 -1
- package/dist/controllers/IController.d.ts +1 -1
- package/dist/controllers/IController.d.ts.map +1 -1
- package/dist/controllers/NestedAppAuthController.d.ts +1 -1
- package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +4 -2
- package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
- package/dist/controllers/StandardController.d.ts +4 -3
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +56 -30
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
- package/dist/crypto/BrowserCrypto.mjs +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.mjs +1 -1
- package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
- package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
- 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.d.ts +10 -1
- package/dist/event/EventMessage.d.ts.map +1 -1
- package/dist/event/EventMessage.mjs +1 -1
- package/dist/event/EventMessage.mjs.map +1 -1
- package/dist/event/EventType.d.ts +1 -0
- package/dist/event/EventType.d.ts.map +1 -1
- package/dist/event/EventType.mjs +2 -1
- package/dist/event/EventType.mjs.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +3 -3
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.mjs +3 -3
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/interaction_client/{NativeInteractionClient.d.ts → PlatformAuthInteractionClient.d.ts} +21 -23
- package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -0
- package/dist/interaction_client/{NativeInteractionClient.mjs → PlatformAuthInteractionClient.mjs} +80 -111
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -0
- package/dist/interaction_client/PopupClient.d.ts +2 -2
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +7 -7
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts +2 -2
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.mjs +7 -8
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +2 -2
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs +3 -3
- package/dist/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts +2 -2
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +7 -8
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs +1 -1
- package/dist/interaction_handler/SilentHandler.mjs +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 +1 -1
- 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 +4 -4
- package/dist/protocol/Authorize.d.ts.map +1 -1
- package/dist/protocol/Authorize.mjs +10 -9
- package/dist/protocol/Authorize.mjs.map +1 -1
- package/dist/request/RequestHelpers.mjs +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 +8 -1
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.mjs +11 -4
- package/dist/utils/BrowserConstants.mjs.map +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/utils/BrowserUtils.mjs +1 -1
- package/dist/utils/MsalFrameStatsUtils.d.ts +3 -0
- package/dist/utils/MsalFrameStatsUtils.d.ts.map +1 -0
- package/dist/utils/MsalFrameStatsUtils.mjs +23 -0
- package/dist/utils/MsalFrameStatsUtils.mjs.map +1 -0
- package/lib/msal-browser.cjs +1600 -1323
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +1600 -1323
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +66 -66
- package/lib/types/app/PublicClientApplication.d.ts +1 -0
- package/lib/types/app/PublicClientApplication.d.ts.map +1 -1
- package/lib/types/broker/nativeBroker/IPlatformAuthHandler.d.ts +12 -0
- package/lib/types/broker/nativeBroker/IPlatformAuthHandler.d.ts.map +1 -0
- package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts +30 -0
- package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -0
- package/lib/types/broker/nativeBroker/{NativeMessageHandler.d.ts → PlatformAuthExtensionHandler.d.ts} +16 -16
- package/lib/types/broker/nativeBroker/PlatformAuthExtensionHandler.d.ts.map +1 -0
- package/lib/types/broker/nativeBroker/PlatformAuthProvider.d.ts +26 -0
- package/lib/types/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -0
- package/lib/types/broker/nativeBroker/{NativeRequest.d.ts → PlatformAuthRequest.d.ts} +34 -3
- package/lib/types/broker/nativeBroker/PlatformAuthRequest.d.ts.map +1 -0
- package/lib/types/broker/nativeBroker/{NativeResponse.d.ts → PlatformAuthResponse.d.ts} +24 -2
- package/lib/types/broker/nativeBroker/PlatformAuthResponse.d.ts.map +1 -0
- package/lib/types/cache/BrowserCacheManager.d.ts +6 -2
- package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
- package/lib/types/controllers/IController.d.ts +1 -1
- package/lib/types/controllers/IController.d.ts.map +1 -1
- package/lib/types/controllers/NestedAppAuthController.d.ts +1 -1
- package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
- package/lib/types/controllers/StandardController.d.ts +4 -3
- package/lib/types/controllers/StandardController.d.ts.map +1 -1
- package/lib/types/event/EventMessage.d.ts +10 -1
- package/lib/types/event/EventMessage.d.ts.map +1 -1
- package/lib/types/event/EventType.d.ts +1 -0
- package/lib/types/event/EventType.d.ts.map +1 -1
- package/lib/types/index.d.ts +2 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/interaction_client/BaseInteractionClient.d.ts +3 -3
- package/lib/types/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/lib/types/interaction_client/{NativeInteractionClient.d.ts → PlatformAuthInteractionClient.d.ts} +21 -23
- package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -0
- package/lib/types/interaction_client/PopupClient.d.ts +2 -2
- package/lib/types/interaction_client/PopupClient.d.ts.map +1 -1
- package/lib/types/interaction_client/RedirectClient.d.ts +2 -2
- package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
- package/lib/types/interaction_client/SilentAuthCodeClient.d.ts +2 -2
- package/lib/types/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/lib/types/interaction_client/SilentIframeClient.d.ts +2 -2
- package/lib/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/protocol/Authorize.d.ts +4 -4
- package/lib/types/protocol/Authorize.d.ts.map +1 -1
- package/lib/types/utils/BrowserConstants.d.ts +8 -1
- package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
- package/lib/types/utils/MsalFrameStatsUtils.d.ts +3 -0
- package/lib/types/utils/MsalFrameStatsUtils.d.ts.map +1 -0
- package/package.json +3 -2
- package/src/app/PublicClientApplication.ts +2 -1
- package/src/broker/nativeBroker/IPlatformAuthHandler.ts +17 -0
- package/src/broker/nativeBroker/PlatformAuthDOMHandler.ts +248 -0
- package/src/broker/nativeBroker/{NativeMessageHandler.ts → PlatformAuthExtensionHandler.ts} +90 -79
- package/src/broker/nativeBroker/PlatformAuthProvider.ts +164 -0
- package/src/broker/nativeBroker/{NativeRequest.ts → PlatformAuthRequest.ts} +41 -2
- package/src/broker/nativeBroker/{NativeResponse.ts → PlatformAuthResponse.ts} +25 -1
- package/src/cache/BrowserCacheManager.ts +40 -4
- package/src/controllers/IController.ts +4 -1
- package/src/controllers/NestedAppAuthController.ts +5 -1
- package/src/controllers/StandardController.ts +87 -46
- package/src/event/EventMessage.ts +11 -0
- package/src/event/EventType.ts +1 -0
- package/src/index.ts +3 -0
- package/src/interaction_client/BaseInteractionClient.ts +4 -4
- package/src/interaction_client/{NativeInteractionClient.ts → PlatformAuthInteractionClient.ts} +136 -167
- package/src/interaction_client/PopupClient.ts +8 -7
- package/src/interaction_client/RedirectClient.ts +12 -12
- package/src/interaction_client/SilentAuthCodeClient.ts +3 -3
- package/src/interaction_client/SilentIframeClient.ts +12 -12
- package/src/packageMetadata.ts +1 -1
- package/src/protocol/Authorize.ts +12 -10
- package/src/utils/BrowserConstants.ts +9 -1
- package/src/utils/MsalFrameStatsUtils.ts +32 -0
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts.map +0 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs.map +0 -1
- package/dist/broker/nativeBroker/NativeRequest.d.ts.map +0 -1
- package/dist/broker/nativeBroker/NativeResponse.d.ts.map +0 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +0 -1
- package/dist/interaction_client/NativeInteractionClient.mjs.map +0 -1
- package/lib/types/broker/nativeBroker/NativeMessageHandler.d.ts.map +0 -1
- package/lib/types/broker/nativeBroker/NativeRequest.d.ts.map +0 -1
- package/lib/types/broker/nativeBroker/NativeResponse.d.ts.map +0 -1
- package/lib/types/interaction_client/NativeInteractionClient.d.ts.map +0 -1
package/dist/interaction_client/{NativeInteractionClient.d.ts → PlatformAuthInteractionClient.d.ts}
RENAMED
|
@@ -6,25 +6,25 @@ import { EventHandler } from "../event/EventHandler.js";
|
|
|
6
6
|
import { PopupRequest } from "../request/PopupRequest.js";
|
|
7
7
|
import { SilentRequest } from "../request/SilentRequest.js";
|
|
8
8
|
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
|
|
9
|
-
import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler.js";
|
|
10
9
|
import { ApiId, CacheLookupPolicy } from "../utils/BrowserConstants.js";
|
|
11
|
-
import {
|
|
12
|
-
import { MATS,
|
|
10
|
+
import { PlatformAuthRequest } from "../broker/nativeBroker/PlatformAuthRequest.js";
|
|
11
|
+
import { MATS, PlatformAuthResponse } from "../broker/nativeBroker/PlatformAuthResponse.js";
|
|
13
12
|
import { RedirectRequest } from "../request/RedirectRequest.js";
|
|
14
13
|
import { INavigationClient } from "../navigation/INavigationClient.js";
|
|
15
14
|
import { SilentCacheClient } from "./SilentCacheClient.js";
|
|
16
15
|
import { AuthenticationResult } from "../response/AuthenticationResult.js";
|
|
17
|
-
|
|
16
|
+
import { IPlatformAuthHandler } from "../broker/nativeBroker/IPlatformAuthHandler.js";
|
|
17
|
+
export declare class PlatformAuthInteractionClient extends BaseInteractionClient {
|
|
18
18
|
protected apiId: ApiId;
|
|
19
19
|
protected accountId: string;
|
|
20
|
-
protected
|
|
20
|
+
protected platformAuthProvider: IPlatformAuthHandler;
|
|
21
21
|
protected silentCacheClient: SilentCacheClient;
|
|
22
22
|
protected nativeStorageManager: BrowserCacheManager;
|
|
23
23
|
protected skus: string;
|
|
24
|
-
constructor(config: BrowserConfiguration, browserStorage: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, provider:
|
|
24
|
+
constructor(config: BrowserConfiguration, browserStorage: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, provider: IPlatformAuthHandler, accountId: string, nativeStorageImpl: BrowserCacheManager, correlationId?: string);
|
|
25
25
|
/**
|
|
26
26
|
* Adds SKUs to request extra query parameters
|
|
27
|
-
* @param request {
|
|
27
|
+
* @param request {PlatformAuthRequest}
|
|
28
28
|
* @private
|
|
29
29
|
*/
|
|
30
30
|
private addRequestSKUs;
|
|
@@ -46,7 +46,7 @@ export declare class NativeInteractionClient extends BaseInteractionClient {
|
|
|
46
46
|
* @param request
|
|
47
47
|
* @returns authenticationResult
|
|
48
48
|
*/
|
|
49
|
-
protected acquireTokensFromCache(nativeAccountId: string, request:
|
|
49
|
+
protected acquireTokensFromCache(nativeAccountId: string, request: PlatformAuthRequest): Promise<AuthenticationResult>;
|
|
50
50
|
/**
|
|
51
51
|
* Acquires a token from native platform then redirects to the redirectUri instead of returning the response
|
|
52
52
|
* @param {RedirectRequest} request
|
|
@@ -70,27 +70,27 @@ export declare class NativeInteractionClient extends BaseInteractionClient {
|
|
|
70
70
|
* @param request
|
|
71
71
|
* @param reqTimestamp
|
|
72
72
|
*/
|
|
73
|
-
protected handleNativeResponse(response:
|
|
73
|
+
protected handleNativeResponse(response: PlatformAuthResponse, request: PlatformAuthRequest, reqTimestamp: number): Promise<AuthenticationResult>;
|
|
74
74
|
/**
|
|
75
75
|
* creates an homeAccountIdentifier for the account
|
|
76
76
|
* @param response
|
|
77
77
|
* @param idTokenObj
|
|
78
78
|
* @returns
|
|
79
79
|
*/
|
|
80
|
-
protected createHomeAccountIdentifier(response:
|
|
80
|
+
protected createHomeAccountIdentifier(response: PlatformAuthResponse, idTokenClaims: TokenClaims): string;
|
|
81
81
|
/**
|
|
82
82
|
* Helper to generate scopes
|
|
83
83
|
* @param response
|
|
84
84
|
* @param request
|
|
85
85
|
* @returns
|
|
86
86
|
*/
|
|
87
|
-
generateScopes(
|
|
87
|
+
generateScopes(requestScopes: string, responseScopes?: string): ScopeSet;
|
|
88
88
|
/**
|
|
89
89
|
* If PoP token is requesred, records the PoP token if returned from the WAM, else generates one in the browser
|
|
90
90
|
* @param request
|
|
91
91
|
* @param response
|
|
92
92
|
*/
|
|
93
|
-
generatePopAccessToken(response:
|
|
93
|
+
generatePopAccessToken(response: PlatformAuthResponse, request: PlatformAuthRequest): Promise<string>;
|
|
94
94
|
/**
|
|
95
95
|
* Generates authentication result
|
|
96
96
|
* @param response
|
|
@@ -101,7 +101,7 @@ export declare class NativeInteractionClient extends BaseInteractionClient {
|
|
|
101
101
|
* @param reqTimestamp
|
|
102
102
|
* @returns
|
|
103
103
|
*/
|
|
104
|
-
protected generateAuthenticationResult(response:
|
|
104
|
+
protected generateAuthenticationResult(response: PlatformAuthResponse, request: PlatformAuthRequest, idTokenClaims: TokenClaims, accountEntity: AccountEntity, authority: string, reqTimestamp: number): Promise<AuthenticationResult>;
|
|
105
105
|
/**
|
|
106
106
|
* cache the account entity in browser storage
|
|
107
107
|
* @param accountEntity
|
|
@@ -117,13 +117,9 @@ export declare class NativeInteractionClient extends BaseInteractionClient {
|
|
|
117
117
|
* @param tenantId
|
|
118
118
|
* @param reqTimestamp
|
|
119
119
|
*/
|
|
120
|
-
cacheNativeTokens(response:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
* Validates native platform response before processing
|
|
124
|
-
* @param response
|
|
125
|
-
*/
|
|
126
|
-
private validateNativeResponse;
|
|
120
|
+
cacheNativeTokens(response: PlatformAuthResponse, request: PlatformAuthRequest, homeAccountIdentifier: string, idTokenClaims: TokenClaims, responseAccessToken: string, tenantId: string, reqTimestamp: number): Promise<void>;
|
|
121
|
+
getExpiresInValue(tokenType: string, expiresIn: string | number | undefined): number;
|
|
122
|
+
protected addTelemetryFromNativeResponse(matsResponse?: string): MATS | null;
|
|
127
123
|
/**
|
|
128
124
|
* Gets MATS telemetry from native response
|
|
129
125
|
* @param response
|
|
@@ -140,12 +136,14 @@ export declare class NativeInteractionClient extends BaseInteractionClient {
|
|
|
140
136
|
* Translates developer provided request object into NativeRequest object
|
|
141
137
|
* @param request
|
|
142
138
|
*/
|
|
143
|
-
protected initializeNativeRequest(request: PopupRequest | SsoSilentRequest): Promise<
|
|
139
|
+
protected initializeNativeRequest(request: PopupRequest | SsoSilentRequest): Promise<PlatformAuthRequest>;
|
|
140
|
+
private getCanonicalAuthority;
|
|
141
|
+
private getPrompt;
|
|
144
142
|
/**
|
|
145
143
|
* Handles extra broker request parameters
|
|
146
|
-
* @param request {
|
|
144
|
+
* @param request {PlatformAuthRequest}
|
|
147
145
|
* @private
|
|
148
146
|
*/
|
|
149
147
|
private handleExtraBrokerParams;
|
|
150
148
|
}
|
|
151
|
-
//# sourceMappingURL=
|
|
149
|
+
//# sourceMappingURL=PlatformAuthInteractionClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformAuthInteractionClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/PlatformAuthInteractionClient.ts"],"names":[],"mappings":"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"}
|
package/dist/interaction_client/{NativeInteractionClient.mjs → PlatformAuthInteractionClient.mjs}
RENAMED
|
@@ -1,44 +1,39 @@
|
|
|
1
|
-
/*! @azure/msal-browser v4.
|
|
1
|
+
/*! @azure/msal-browser v4.13.0 2025-05-30 */
|
|
2
2
|
'use strict';
|
|
3
|
-
import { ServerTelemetryManager, AADServerParamKeys, PerformanceEvents, TimeUtils, ScopeSet, createClientAuthError, ClientAuthErrorCodes, AuthToken, buildAccountToCache, AccountEntity, Constants, AuthorityType, AuthenticationScheme, PopTokenGenerator, updateAccountTenantProfileData, CacheHelpers,
|
|
3
|
+
import { ServerTelemetryManager, AADServerParamKeys, PerformanceEvents, TimeUtils, ScopeSet, createClientAuthError, ClientAuthErrorCodes, AuthToken, buildAccountToCache, AccountEntity, Constants, AuthorityType, AuthenticationScheme, PopTokenGenerator, updateAccountTenantProfileData, CacheHelpers, OIDC_DEFAULT_SCOPES, invokeAsync, UrlString, PromptValue } from '@azure/msal-common/browser';
|
|
4
4
|
import { BaseInteractionClient } from './BaseInteractionClient.mjs';
|
|
5
|
-
import {
|
|
5
|
+
import { BrowserConstants, CacheLookupPolicy, TemporaryCacheKeys, PlatformAuthConstants, ApiId } from '../utils/BrowserConstants.mjs';
|
|
6
6
|
import { NativeAuthError, isFatalNativeAuthError, createNativeAuthError } from '../error/NativeAuthError.mjs';
|
|
7
7
|
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
|
8
8
|
import { SilentCacheClient } from './SilentCacheClient.mjs';
|
|
9
9
|
import { base64Decode } from '../encode/Base64Decode.mjs';
|
|
10
10
|
import { version } from '../packageMetadata.mjs';
|
|
11
|
-
import { invalidPopTokenRequest, nativePromptNotSupported } from '../error/BrowserAuthErrorCodes.mjs';
|
|
12
11
|
import { userSwitch } from '../error/NativeAuthErrorCodes.mjs';
|
|
12
|
+
import { invalidPopTokenRequest, nativePromptNotSupported } from '../error/BrowserAuthErrorCodes.mjs';
|
|
13
13
|
|
|
14
14
|
/*
|
|
15
15
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
16
16
|
* Licensed under the MIT License.
|
|
17
17
|
*/
|
|
18
|
-
class
|
|
18
|
+
class PlatformAuthInteractionClient extends BaseInteractionClient {
|
|
19
19
|
constructor(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, provider, accountId, nativeStorageImpl, correlationId) {
|
|
20
20
|
super(config, browserStorage, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);
|
|
21
21
|
this.apiId = apiId;
|
|
22
22
|
this.accountId = accountId;
|
|
23
|
-
this.
|
|
23
|
+
this.platformAuthProvider = provider;
|
|
24
24
|
this.nativeStorageManager = nativeStorageImpl;
|
|
25
25
|
this.silentCacheClient = new SilentCacheClient(config, this.nativeStorageManager, browserCrypto, logger, eventHandler, navigationClient, performanceClient, provider, correlationId);
|
|
26
|
-
const extensionName = this.
|
|
27
|
-
NativeConstants.PREFERRED_EXTENSION_ID
|
|
28
|
-
? "chrome"
|
|
29
|
-
: this.nativeMessageHandler.getExtensionId()?.length
|
|
30
|
-
? "unknown"
|
|
31
|
-
: undefined;
|
|
26
|
+
const extensionName = this.platformAuthProvider.getExtensionName();
|
|
32
27
|
this.skus = ServerTelemetryManager.makeExtraSkuString({
|
|
33
28
|
libraryName: BrowserConstants.MSAL_SKU,
|
|
34
29
|
libraryVersion: version,
|
|
35
30
|
extensionName: extensionName,
|
|
36
|
-
extensionVersion: this.
|
|
31
|
+
extensionVersion: this.platformAuthProvider.getExtensionVersion(),
|
|
37
32
|
});
|
|
38
33
|
}
|
|
39
34
|
/**
|
|
40
35
|
* Adds SKUs to request extra query parameters
|
|
41
|
-
* @param request {
|
|
36
|
+
* @param request {PlatformAuthRequest}
|
|
42
37
|
* @private
|
|
43
38
|
*/
|
|
44
39
|
addRequestSKUs(request) {
|
|
@@ -79,14 +74,7 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
79
74
|
// continue with a native call for any and all errors
|
|
80
75
|
this.logger.info("MSAL internal Cache does not contain tokens, proceed to make a native call");
|
|
81
76
|
}
|
|
82
|
-
const
|
|
83
|
-
// fall back to native calls
|
|
84
|
-
const messageBody = {
|
|
85
|
-
method: NativeExtensionMethod.GetToken,
|
|
86
|
-
request: nativeTokenRequest,
|
|
87
|
-
};
|
|
88
|
-
const response = await this.nativeMessageHandler.sendMessage(messageBody);
|
|
89
|
-
const validatedResponse = this.validateNativeResponse(response);
|
|
77
|
+
const validatedResponse = await this.platformAuthProvider.sendMessage(nativeRequest);
|
|
90
78
|
return await this.handleNativeResponse(validatedResponse, nativeRequest, reqTimestamp)
|
|
91
79
|
.then((result) => {
|
|
92
80
|
nativeATMeasurement.end({
|
|
@@ -175,13 +163,8 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
175
163
|
const { ...remainingParameters } = request;
|
|
176
164
|
delete remainingParameters.onRedirectNavigate;
|
|
177
165
|
const nativeRequest = await this.initializeNativeRequest(remainingParameters);
|
|
178
|
-
const messageBody = {
|
|
179
|
-
method: NativeExtensionMethod.GetToken,
|
|
180
|
-
request: nativeRequest,
|
|
181
|
-
};
|
|
182
166
|
try {
|
|
183
|
-
|
|
184
|
-
this.validateNativeResponse(response);
|
|
167
|
+
await this.platformAuthProvider.sendMessage(nativeRequest);
|
|
185
168
|
}
|
|
186
169
|
catch (e) {
|
|
187
170
|
// Only throw fatal errors here to allow application to fallback to regular redirect. Otherwise proceed and the error will be thrown in handleRedirectPromise
|
|
@@ -230,20 +213,14 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
230
213
|
this.logger.verbose("NativeInteractionClient - handleRedirectPromise called and prompt was included in the original request, removing prompt from cached request to prevent second interaction with native broker window.");
|
|
231
214
|
}
|
|
232
215
|
this.browserStorage.removeItem(this.browserStorage.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));
|
|
233
|
-
const messageBody = {
|
|
234
|
-
method: NativeExtensionMethod.GetToken,
|
|
235
|
-
request: request,
|
|
236
|
-
};
|
|
237
216
|
const reqTimestamp = TimeUtils.nowSeconds();
|
|
238
217
|
try {
|
|
239
218
|
this.logger.verbose("NativeInteractionClient - handleRedirectPromise sending message to native broker.");
|
|
240
|
-
const response = await this.
|
|
241
|
-
this.
|
|
242
|
-
const result = this.handleNativeResponse(response, request, reqTimestamp);
|
|
243
|
-
const res = await result;
|
|
219
|
+
const response = await this.platformAuthProvider.sendMessage(request);
|
|
220
|
+
const authResult = await this.handleNativeResponse(response, request, reqTimestamp);
|
|
244
221
|
const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
|
|
245
222
|
serverTelemetryManager.clearNativeBrokerErrorCode();
|
|
246
|
-
return
|
|
223
|
+
return authResult;
|
|
247
224
|
}
|
|
248
225
|
catch (e) {
|
|
249
226
|
throw e;
|
|
@@ -314,10 +291,10 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
314
291
|
* @param request
|
|
315
292
|
* @returns
|
|
316
293
|
*/
|
|
317
|
-
generateScopes(
|
|
318
|
-
return
|
|
319
|
-
? ScopeSet.fromString(
|
|
320
|
-
: ScopeSet.fromString(
|
|
294
|
+
generateScopes(requestScopes, responseScopes) {
|
|
295
|
+
return responseScopes
|
|
296
|
+
? ScopeSet.fromString(responseScopes)
|
|
297
|
+
: ScopeSet.fromString(requestScopes);
|
|
321
298
|
}
|
|
322
299
|
/**
|
|
323
300
|
* If PoP token is requesred, records the PoP token if returned from the WAM, else generates one in the browser
|
|
@@ -369,11 +346,9 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
369
346
|
*/
|
|
370
347
|
async generateAuthenticationResult(response, request, idTokenClaims, accountEntity, authority, reqTimestamp) {
|
|
371
348
|
// Add Native Broker fields to Telemetry
|
|
372
|
-
const mats = this.addTelemetryFromNativeResponse(response);
|
|
349
|
+
const mats = this.addTelemetryFromNativeResponse(response.properties.MATS);
|
|
373
350
|
// If scopes not returned in server response, use request scopes
|
|
374
|
-
const responseScopes = response.scope
|
|
375
|
-
? ScopeSet.fromString(response.scope)
|
|
376
|
-
: ScopeSet.fromString(request.scope);
|
|
351
|
+
const responseScopes = this.generateScopes(request.scope, response.scope);
|
|
377
352
|
const accountProperties = response.account.properties || {};
|
|
378
353
|
const uid = accountProperties["UID"] ||
|
|
379
354
|
idTokenClaims.oid ||
|
|
@@ -446,7 +421,7 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
446
421
|
? parseInt(response.expires_in, 10)
|
|
447
422
|
: response.expires_in) || 0;
|
|
448
423
|
const tokenExpirationSeconds = reqTimestamp + expiresIn;
|
|
449
|
-
const responseScopes = this.generateScopes(response, request);
|
|
424
|
+
const responseScopes = this.generateScopes(response.scope, request.scope);
|
|
450
425
|
const cachedAccessToken = CacheHelpers.createAccessTokenEntity(homeAccountIdentifier, request.authority, responseAccessToken, request.clientId, idTokenClaims.tid || tenantId, responseScopes.printScopes(), tokenExpirationSeconds, 0, base64Decode, undefined, request.tokenType, undefined, request.keyId);
|
|
451
426
|
const nativeCacheRecord = {
|
|
452
427
|
idToken: cachedIdToken,
|
|
@@ -454,14 +429,21 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
454
429
|
};
|
|
455
430
|
return this.nativeStorageManager.saveCacheRecord(nativeCacheRecord, this.correlationId, request.storeInCache);
|
|
456
431
|
}
|
|
457
|
-
|
|
458
|
-
|
|
432
|
+
getExpiresInValue(tokenType, expiresIn) {
|
|
433
|
+
return tokenType === AuthenticationScheme.POP
|
|
434
|
+
? Constants.SHR_NONCE_VALIDITY
|
|
435
|
+
: (typeof expiresIn === "string"
|
|
436
|
+
? parseInt(expiresIn, 10)
|
|
437
|
+
: expiresIn) || 0;
|
|
438
|
+
}
|
|
439
|
+
addTelemetryFromNativeResponse(matsResponse) {
|
|
440
|
+
const mats = this.getMATSFromResponse(matsResponse);
|
|
459
441
|
if (!mats) {
|
|
460
442
|
return null;
|
|
461
443
|
}
|
|
462
444
|
this.performanceClient.addFields({
|
|
463
|
-
extensionId: this.
|
|
464
|
-
extensionVersion: this.
|
|
445
|
+
extensionId: this.platformAuthProvider.getExtensionId(),
|
|
446
|
+
extensionVersion: this.platformAuthProvider.getExtensionVersion(),
|
|
465
447
|
matsBrokerVersion: mats.broker_version,
|
|
466
448
|
matsAccountJoinOnStart: mats.account_join_on_start,
|
|
467
449
|
matsAccountJoinOnEnd: mats.account_join_on_end,
|
|
@@ -478,32 +460,15 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
478
460
|
}, this.correlationId);
|
|
479
461
|
return mats;
|
|
480
462
|
}
|
|
481
|
-
/**
|
|
482
|
-
* Validates native platform response before processing
|
|
483
|
-
* @param response
|
|
484
|
-
*/
|
|
485
|
-
validateNativeResponse(response) {
|
|
486
|
-
if (response.hasOwnProperty("access_token") &&
|
|
487
|
-
response.hasOwnProperty("id_token") &&
|
|
488
|
-
response.hasOwnProperty("client_info") &&
|
|
489
|
-
response.hasOwnProperty("account") &&
|
|
490
|
-
response.hasOwnProperty("scope") &&
|
|
491
|
-
response.hasOwnProperty("expires_in")) {
|
|
492
|
-
return response;
|
|
493
|
-
}
|
|
494
|
-
else {
|
|
495
|
-
throw createAuthError(AuthErrorCodes.unexpectedError, "Response missing expected properties.");
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
463
|
/**
|
|
499
464
|
* Gets MATS telemetry from native response
|
|
500
465
|
* @param response
|
|
501
466
|
* @returns
|
|
502
467
|
*/
|
|
503
|
-
getMATSFromResponse(
|
|
504
|
-
if (
|
|
468
|
+
getMATSFromResponse(matsResponse) {
|
|
469
|
+
if (matsResponse) {
|
|
505
470
|
try {
|
|
506
|
-
return JSON.parse(
|
|
471
|
+
return JSON.parse(matsResponse);
|
|
507
472
|
}
|
|
508
473
|
catch (e) {
|
|
509
474
|
this.logger.error("NativeInteractionClient - Error parsing MATS telemetry, returning null instead");
|
|
@@ -529,46 +494,11 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
529
494
|
*/
|
|
530
495
|
async initializeNativeRequest(request) {
|
|
531
496
|
this.logger.trace("NativeInteractionClient - initializeNativeRequest called");
|
|
532
|
-
const
|
|
533
|
-
if (request.account) {
|
|
534
|
-
// validate authority
|
|
535
|
-
await this.getDiscoveredAuthority({
|
|
536
|
-
requestAuthority,
|
|
537
|
-
requestAzureCloudOptions: request.azureCloudOptions,
|
|
538
|
-
account: request.account,
|
|
539
|
-
});
|
|
540
|
-
}
|
|
541
|
-
const canonicalAuthority = new UrlString(requestAuthority);
|
|
542
|
-
canonicalAuthority.validateAsUri();
|
|
497
|
+
const canonicalAuthority = await this.getCanonicalAuthority(request);
|
|
543
498
|
// scopes are expected to be received by the native broker as "scope" and will be added to the request below. Other properties that should be dropped from the request to the native broker can be included in the object destructuring here.
|
|
544
499
|
const { scopes, ...remainingProperties } = request;
|
|
545
500
|
const scopeSet = new ScopeSet(scopes || []);
|
|
546
501
|
scopeSet.appendScopes(OIDC_DEFAULT_SCOPES);
|
|
547
|
-
const getPrompt = () => {
|
|
548
|
-
// If request is silent, prompt is always none
|
|
549
|
-
switch (this.apiId) {
|
|
550
|
-
case ApiId.ssoSilent:
|
|
551
|
-
case ApiId.acquireTokenSilent_silentFlow:
|
|
552
|
-
this.logger.trace("initializeNativeRequest: silent request sets prompt to none");
|
|
553
|
-
return PromptValue.NONE;
|
|
554
|
-
}
|
|
555
|
-
// Prompt not provided, request may proceed and native broker decides if it needs to prompt
|
|
556
|
-
if (!request.prompt) {
|
|
557
|
-
this.logger.trace("initializeNativeRequest: prompt was not provided");
|
|
558
|
-
return undefined;
|
|
559
|
-
}
|
|
560
|
-
// If request is interactive, check if prompt provided is allowed to go directly to native broker
|
|
561
|
-
switch (request.prompt) {
|
|
562
|
-
case PromptValue.NONE:
|
|
563
|
-
case PromptValue.CONSENT:
|
|
564
|
-
case PromptValue.LOGIN:
|
|
565
|
-
this.logger.trace("initializeNativeRequest: prompt is compatible with native flow");
|
|
566
|
-
return request.prompt;
|
|
567
|
-
default:
|
|
568
|
-
this.logger.trace(`initializeNativeRequest: prompt = ${request.prompt} is not compatible with native flow`);
|
|
569
|
-
throw createBrowserAuthError(nativePromptNotSupported);
|
|
570
|
-
}
|
|
571
|
-
};
|
|
572
502
|
const validatedRequest = {
|
|
573
503
|
...remainingProperties,
|
|
574
504
|
accountId: this.accountId,
|
|
@@ -576,7 +506,7 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
576
506
|
authority: canonicalAuthority.urlString,
|
|
577
507
|
scope: scopeSet.printScopes(),
|
|
578
508
|
redirectUri: this.getRedirectUri(request.redirectUri),
|
|
579
|
-
prompt: getPrompt(),
|
|
509
|
+
prompt: this.getPrompt(request.prompt),
|
|
580
510
|
correlationId: this.correlationId,
|
|
581
511
|
tokenType: request.authenticationScheme,
|
|
582
512
|
windowTitleSubstring: document.title,
|
|
@@ -595,7 +525,7 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
595
525
|
validatedRequest.extraParameters =
|
|
596
526
|
validatedRequest.extraParameters || {};
|
|
597
527
|
validatedRequest.extraParameters.telemetry =
|
|
598
|
-
|
|
528
|
+
PlatformAuthConstants.MATS_TELEMETRY;
|
|
599
529
|
if (request.authenticationScheme === AuthenticationScheme.POP) {
|
|
600
530
|
// add POP request type
|
|
601
531
|
const shrParameters = {
|
|
@@ -623,9 +553,48 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
623
553
|
this.addRequestSKUs(validatedRequest);
|
|
624
554
|
return validatedRequest;
|
|
625
555
|
}
|
|
556
|
+
async getCanonicalAuthority(request) {
|
|
557
|
+
const requestAuthority = request.authority || this.config.auth.authority;
|
|
558
|
+
if (request.account) {
|
|
559
|
+
// validate authority
|
|
560
|
+
await this.getDiscoveredAuthority({
|
|
561
|
+
requestAuthority,
|
|
562
|
+
requestAzureCloudOptions: request.azureCloudOptions,
|
|
563
|
+
account: request.account,
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
const canonicalAuthority = new UrlString(requestAuthority);
|
|
567
|
+
canonicalAuthority.validateAsUri();
|
|
568
|
+
return canonicalAuthority;
|
|
569
|
+
}
|
|
570
|
+
getPrompt(prompt) {
|
|
571
|
+
// If request is silent, prompt is always none
|
|
572
|
+
switch (this.apiId) {
|
|
573
|
+
case ApiId.ssoSilent:
|
|
574
|
+
case ApiId.acquireTokenSilent_silentFlow:
|
|
575
|
+
this.logger.trace("initializeNativeRequest: silent request sets prompt to none");
|
|
576
|
+
return PromptValue.NONE;
|
|
577
|
+
}
|
|
578
|
+
// Prompt not provided, request may proceed and native broker decides if it needs to prompt
|
|
579
|
+
if (!prompt) {
|
|
580
|
+
this.logger.trace("initializeNativeRequest: prompt was not provided");
|
|
581
|
+
return undefined;
|
|
582
|
+
}
|
|
583
|
+
// If request is interactive, check if prompt provided is allowed to go directly to native broker
|
|
584
|
+
switch (prompt) {
|
|
585
|
+
case PromptValue.NONE:
|
|
586
|
+
case PromptValue.CONSENT:
|
|
587
|
+
case PromptValue.LOGIN:
|
|
588
|
+
this.logger.trace("initializeNativeRequest: prompt is compatible with native flow");
|
|
589
|
+
return prompt;
|
|
590
|
+
default:
|
|
591
|
+
this.logger.trace(`initializeNativeRequest: prompt = ${prompt} is not compatible with native flow`);
|
|
592
|
+
throw createBrowserAuthError(nativePromptNotSupported);
|
|
593
|
+
}
|
|
594
|
+
}
|
|
626
595
|
/**
|
|
627
596
|
* Handles extra broker request parameters
|
|
628
|
-
* @param request {
|
|
597
|
+
* @param request {PlatformAuthRequest}
|
|
629
598
|
* @private
|
|
630
599
|
*/
|
|
631
600
|
handleExtraBrokerParams(request) {
|
|
@@ -659,5 +628,5 @@ class NativeInteractionClient extends BaseInteractionClient {
|
|
|
659
628
|
}
|
|
660
629
|
}
|
|
661
630
|
|
|
662
|
-
export {
|
|
663
|
-
//# sourceMappingURL=
|
|
631
|
+
export { PlatformAuthInteractionClient };
|
|
632
|
+
//# sourceMappingURL=PlatformAuthInteractionClient.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlatformAuthInteractionClient.mjs","sources":["../../src/interaction_client/PlatformAuthInteractionClient.ts"],"sourcesContent":[null],"names":["NativeAuthErrorCodes.userSwitch","BrowserAuthErrorCodes.invalidPopTokenRequest","BrowserAuthErrorCodes.nativePromptNotSupported"],"mappings":"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"}
|
|
@@ -2,13 +2,13 @@ import { CommonEndSessionRequest, IPerformanceClient, Logger, ICrypto, PkceCodes
|
|
|
2
2
|
import { StandardInteractionClient } from "./StandardInteractionClient.js";
|
|
3
3
|
import { EndSessionPopupRequest } from "../request/EndSessionPopupRequest.js";
|
|
4
4
|
import { PopupRequest } from "../request/PopupRequest.js";
|
|
5
|
-
import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler.js";
|
|
6
5
|
import { INavigationClient } from "../navigation/INavigationClient.js";
|
|
7
6
|
import { EventHandler } from "../event/EventHandler.js";
|
|
8
7
|
import { BrowserCacheManager } from "../cache/BrowserCacheManager.js";
|
|
9
8
|
import { BrowserConfiguration } from "../config/Configuration.js";
|
|
10
9
|
import { PopupWindowAttributes } from "../request/PopupWindowAttributes.js";
|
|
11
10
|
import { AuthenticationResult } from "../response/AuthenticationResult.js";
|
|
11
|
+
import { IPlatformAuthHandler } from "../broker/nativeBroker/IPlatformAuthHandler.js";
|
|
12
12
|
export type PopupParams = {
|
|
13
13
|
popup?: Window | null;
|
|
14
14
|
popupName: string;
|
|
@@ -18,7 +18,7 @@ export type PopupParams = {
|
|
|
18
18
|
export declare class PopupClient extends StandardInteractionClient {
|
|
19
19
|
private currentWindow;
|
|
20
20
|
protected nativeStorage: BrowserCacheManager;
|
|
21
|
-
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager,
|
|
21
|
+
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, platformAuthHandler?: IPlatformAuthHandler, correlationId?: string);
|
|
22
22
|
/**
|
|
23
23
|
* Acquires tokens by opening a popup window to the /authorize endpoint of the authority
|
|
24
24
|
* @param request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PopupClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/PopupClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,uBAAuB,EAKvB,kBAAkB,EAClB,MAAM,EACN,OAAO,EAKP,SAAS,EACT,6BAA6B,EAChC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAO3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"PopupClient.d.ts","sourceRoot":"","sources":["../../src/interaction_client/PopupClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
/*! @azure/msal-browser v4.
|
|
1
|
+
/*! @azure/msal-browser v4.13.0 2025-05-30 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { OIDC_DEFAULT_SCOPES, invokeAsync, PerformanceEvents, ProtocolMode, invoke, AuthError, UrlString, ServerResponseType } from '@azure/msal-common/browser';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.mjs';
|
|
5
5
|
import { EventType } from '../event/EventType.mjs';
|
|
6
6
|
import { InteractionType, ApiId, BrowserConstants } from '../utils/BrowserConstants.mjs';
|
|
7
7
|
import { preconnect, getCurrentUri } from '../utils/BrowserUtils.mjs';
|
|
8
|
-
import { NativeMessageHandler } from '../broker/nativeBroker/NativeMessageHandler.mjs';
|
|
9
8
|
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
|
10
9
|
import { deserializeResponse } from '../response/ResponseHandler.mjs';
|
|
11
10
|
import { getAuthCodeRequestUrl, handleResponseCode, getEARForm, handleResponseEAR } from '../protocol/Authorize.mjs';
|
|
12
11
|
import { generatePkceCodes } from '../crypto/PkceGenerator.mjs';
|
|
12
|
+
import { isPlatformAuthAllowed } from '../broker/nativeBroker/PlatformAuthProvider.mjs';
|
|
13
13
|
import { generateEarKey } from '../crypto/BrowserCrypto.mjs';
|
|
14
14
|
import { emptyNavigateUri, userCancelled, emptyWindowError, popupWindowError } from '../error/BrowserAuthErrorCodes.mjs';
|
|
15
15
|
|
|
@@ -18,8 +18,8 @@ import { emptyNavigateUri, userCancelled, emptyWindowError, popupWindowError } f
|
|
|
18
18
|
* Licensed under the MIT License.
|
|
19
19
|
*/
|
|
20
20
|
class PopupClient extends StandardInteractionClient {
|
|
21
|
-
constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeStorageImpl,
|
|
22
|
-
super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient,
|
|
21
|
+
constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeStorageImpl, platformAuthHandler, correlationId) {
|
|
22
|
+
super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, platformAuthHandler, correlationId);
|
|
23
23
|
// Properly sets this reference for the unload event.
|
|
24
24
|
this.unloadWindow = this.unloadWindow.bind(this);
|
|
25
25
|
this.nativeStorage = nativeStorageImpl;
|
|
@@ -107,7 +107,7 @@ class PopupClient extends StandardInteractionClient {
|
|
|
107
107
|
if (popupParams.popup) {
|
|
108
108
|
preconnect(validRequest.authority);
|
|
109
109
|
}
|
|
110
|
-
const isPlatformBroker =
|
|
110
|
+
const isPlatformBroker = isPlatformAuthAllowed(this.config, this.logger, this.platformAuthProvider, request.authenticationScheme);
|
|
111
111
|
validRequest.platformBroker = isPlatformBroker;
|
|
112
112
|
if (this.config.auth.protocolMode === ProtocolMode.EAR) {
|
|
113
113
|
return this.executeEarFlow(validRequest, popupParams);
|
|
@@ -149,7 +149,7 @@ class PopupClient extends StandardInteractionClient {
|
|
|
149
149
|
// Monitor the window for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
|
|
150
150
|
const responseString = await this.monitorPopupForHash(popupWindow, popupParams.popupWindowParent);
|
|
151
151
|
const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, this.correlationId)(responseString, this.config.auth.OIDCOptions.serverResponseType, this.logger);
|
|
152
|
-
return await invokeAsync(handleResponseCode, PerformanceEvents.HandleResponseCode, this.logger, this.performanceClient, correlationId)(request, serverParams, pkce.verifier, ApiId.acquireTokenPopup, this.config, authClient, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.
|
|
152
|
+
return await invokeAsync(handleResponseCode, PerformanceEvents.HandleResponseCode, this.logger, this.performanceClient, correlationId)(request, serverParams, pkce.verifier, ApiId.acquireTokenPopup, this.config, authClient, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.platformAuthProvider);
|
|
153
153
|
}
|
|
154
154
|
catch (e) {
|
|
155
155
|
// Close the synchronous popup if an error is thrown before the window unload event is registered
|
|
@@ -185,7 +185,7 @@ class PopupClient extends StandardInteractionClient {
|
|
|
185
185
|
// Monitor the popup for the hash. Return the string value and close the popup when the hash is received. Default timeout is 60 seconds.
|
|
186
186
|
const responseString = await invokeAsync(this.monitorPopupForHash.bind(this), PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(popupWindow, popupParams.popupWindowParent);
|
|
187
187
|
const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, this.correlationId)(responseString, this.config.auth.OIDCOptions.serverResponseType, this.logger);
|
|
188
|
-
return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, correlationId)(popupRequest, serverParams, ApiId.acquireTokenPopup, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.
|
|
188
|
+
return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, correlationId)(popupRequest, serverParams, ApiId.acquireTokenPopup, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.platformAuthProvider);
|
|
189
189
|
}
|
|
190
190
|
/**
|
|
191
191
|
*
|