@azure/msal-browser 3.0.0-alpha.1 → 3.0.0-alpha.2
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/LICENSE +21 -21
- package/README.md +213 -213
- package/dist/app/IPublicClientApplication.d.ts +45 -45
- package/dist/app/IPublicClientApplication.js +96 -96
- package/dist/app/PublicClientApplication.d.ts +244 -244
- package/dist/app/PublicClientApplication.js +307 -307
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +63 -63
- package/dist/broker/nativeBroker/NativeMessageHandler.js +255 -255
- package/dist/broker/nativeBroker/NativeRequest.d.ts +43 -43
- package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
- package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
- package/dist/cache/AsyncMemoryStorage.js +132 -132
- package/dist/cache/BrowserCacheManager.d.ts +377 -377
- package/dist/cache/BrowserCacheManager.js +1276 -1276
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.js +35 -35
- package/dist/cache/CryptoKeyStore.d.ts +17 -17
- package/dist/cache/CryptoKeyStore.js +41 -41
- package/dist/cache/DatabaseStorage.d.ts +56 -56
- package/dist/cache/DatabaseStorage.js +190 -190
- package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
- package/dist/cache/ITokenCache.d.ts +10 -10
- package/dist/cache/IWindowStorage.d.ts +27 -27
- package/dist/cache/MemoryStorage.d.ts +11 -11
- package/dist/cache/MemoryStorage.js +31 -31
- package/dist/cache/TokenCache.d.ts +76 -76
- package/dist/cache/TokenCache.js +225 -225
- package/dist/config/Configuration.d.ts +203 -203
- package/dist/config/Configuration.js +101 -101
- package/dist/controllers/ControllerFactory.d.ts +9 -9
- package/dist/controllers/ControllerFactory.js +37 -37
- package/dist/controllers/IController.d.ts +66 -66
- package/dist/controllers/StandardController.d.ts +413 -413
- package/dist/controllers/StandardController.js +1272 -1272
- package/dist/crypto/BrowserCrypto.d.ts +61 -61
- package/dist/crypto/BrowserCrypto.js +131 -131
- package/dist/crypto/CryptoOps.d.ts +73 -73
- package/dist/crypto/CryptoOps.js +150 -150
- package/dist/crypto/GuidGenerator.d.ts +12 -12
- package/dist/crypto/GuidGenerator.js +96 -96
- package/dist/crypto/ISubtleCrypto.d.ts +9 -9
- package/dist/crypto/ModernBrowserCrypto.d.ts +9 -9
- package/dist/crypto/ModernBrowserCrypto.js +24 -24
- package/dist/crypto/MsBrowserCrypto.d.ts +9 -9
- package/dist/crypto/MsBrowserCrypto.js +79 -79
- package/dist/crypto/MsrBrowserCrypto.d.ts +17 -17
- package/dist/crypto/MsrBrowserCrypto.js +28 -28
- package/dist/crypto/PkceGenerator.d.ts +24 -24
- package/dist/crypto/PkceGenerator.js +58 -58
- package/dist/crypto/SignedHttpRequest.d.ts +30 -30
- package/dist/crypto/SignedHttpRequest.js +39 -39
- package/dist/encode/Base64Decode.d.ts +22 -22
- package/dist/encode/Base64Decode.js +73 -73
- package/dist/encode/Base64Encode.d.ts +31 -31
- package/dist/encode/Base64Encode.js +79 -79
- package/dist/error/BrowserAuthError.d.ts +382 -382
- package/dist/error/BrowserAuthError.js +483 -483
- package/dist/error/BrowserConfigurationAuthError.d.ts +70 -70
- package/dist/error/BrowserConfigurationAuthError.js +96 -96
- package/dist/error/NativeAuthError.d.ts +56 -56
- package/dist/error/NativeAuthError.js +88 -88
- package/dist/event/EventHandler.d.ts +41 -41
- package/dist/event/EventHandler.js +119 -119
- package/dist/event/EventMessage.d.ts +25 -25
- package/dist/event/EventMessage.js +67 -67
- package/dist/event/EventType.d.ts +26 -26
- package/dist/event/EventType.js +31 -31
- package/dist/index.d.ts +35 -35
- package/dist/index.js +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +52 -52
- package/dist/interaction_client/BaseInteractionClient.js +138 -138
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +10 -10
- package/dist/interaction_client/NativeInteractionClient.d.ts +148 -148
- package/dist/interaction_client/NativeInteractionClient.js +516 -516
- package/dist/interaction_client/PopupClient.d.ts +111 -111
- package/dist/interaction_client/PopupClient.js +476 -476
- package/dist/interaction_client/RedirectClient.d.ts +48 -48
- package/dist/interaction_client/RedirectClient.js +290 -290
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +22 -22
- package/dist/interaction_client/SilentAuthCodeClient.js +62 -62
- package/dist/interaction_client/SilentCacheClient.d.ts +21 -21
- package/dist/interaction_client/SilentCacheClient.js +67 -67
- package/dist/interaction_client/SilentIframeClient.d.ts +31 -31
- package/dist/interaction_client/SilentIframeClient.js +127 -127
- package/dist/interaction_client/SilentRefreshClient.d.ts +19 -19
- package/dist/interaction_client/SilentRefreshClient.js +62 -62
- package/dist/interaction_client/StandardInteractionClient.d.ts +59 -59
- package/dist/interaction_client/StandardInteractionClient.js +259 -259
- package/dist/interaction_handler/InteractionHandler.d.ts +39 -39
- package/dist/interaction_handler/InteractionHandler.js +127 -127
- package/dist/interaction_handler/RedirectHandler.d.ts +24 -24
- package/dist/interaction_handler/RedirectHandler.js +118 -118
- package/dist/interaction_handler/SilentHandler.d.ts +47 -47
- package/dist/interaction_handler/SilentHandler.js +162 -162
- package/dist/internals.d.ts +23 -23
- package/dist/internals.js +4 -4
- package/dist/navigation/INavigationClient.d.ts +16 -16
- package/dist/navigation/NavigationClient.d.ts +22 -22
- package/dist/navigation/NavigationClient.js +40 -40
- package/dist/navigation/NavigationOptions.d.ts +12 -12
- package/dist/network/FetchClient.d.ts +26 -26
- package/dist/network/FetchClient.js +99 -99
- package/dist/network/XhrClient.d.ts +40 -40
- package/dist/network/XhrClient.js +117 -117
- package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
- package/dist/operatingcontext/BaseOperatingContext.js +44 -44
- package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/StandardOperatingContext.js +43 -43
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/TeamsAppOperatingContext.js +42 -42
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.js +4 -4
- package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
- package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
- package/dist/request/EndSessionPopupRequest.d.ts +18 -18
- package/dist/request/EndSessionRequest.d.ts +15 -15
- package/dist/request/PopupRequest.d.ts +32 -32
- package/dist/request/PopupWindowAttributes.d.ts +15 -15
- package/dist/request/RedirectRequest.d.ts +33 -33
- package/dist/request/SilentRequest.d.ts +30 -30
- package/dist/request/SsoSilentRequest.d.ts +26 -26
- package/dist/telemetry/BrowserPerformanceClient.d.ts +38 -38
- package/dist/telemetry/BrowserPerformanceClient.js +124 -124
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.js +92 -92
- package/dist/utils/BrowserConstants.d.ts +166 -166
- package/dist/utils/BrowserConstants.js +214 -214
- package/dist/utils/BrowserProtocolUtils.d.ts +18 -18
- package/dist/utils/BrowserProtocolUtils.js +34 -34
- package/dist/utils/BrowserStringUtils.d.ts +26 -26
- package/dist/utils/BrowserStringUtils.js +149 -149
- package/dist/utils/BrowserUtils.d.ts +65 -65
- package/dist/utils/BrowserUtils.js +138 -138
- package/dist/utils/MathUtils.d.ts +11 -11
- package/dist/utils/MathUtils.js +21 -21
- package/lib/msal-browser.cjs.js +18383 -0
- package/lib/msal-browser.cjs.js.map +1 -0
- package/lib/msal-browser.js +18389 -0
- package/lib/msal-browser.js.map +1 -0
- package/lib/msal-browser.min.js +74 -0
- package/package.json +97 -95
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { AuthenticationResult, ICrypto, Logger, IPerformanceClient } from "@azure/msal-common";
|
|
2
|
-
import { StandardInteractionClient } from "./StandardInteractionClient";
|
|
3
|
-
import { BrowserConfiguration } from "../config/Configuration";
|
|
4
|
-
import { BrowserCacheManager } from "../cache/BrowserCacheManager";
|
|
5
|
-
import { EventHandler } from "../event/EventHandler";
|
|
6
|
-
import { INavigationClient } from "../navigation/INavigationClient";
|
|
7
|
-
import { ApiId } from "../utils/BrowserConstants";
|
|
8
|
-
import { AuthorizationCodeRequest } from "../request/AuthorizationCodeRequest";
|
|
9
|
-
import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler";
|
|
10
|
-
export declare class SilentAuthCodeClient extends StandardInteractionClient {
|
|
11
|
-
private apiId;
|
|
12
|
-
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
|
|
13
|
-
/**
|
|
14
|
-
* Acquires a token silently by redeeming an authorization code against the /token endpoint
|
|
15
|
-
* @param request
|
|
16
|
-
*/
|
|
17
|
-
acquireToken(request: AuthorizationCodeRequest): Promise<AuthenticationResult>;
|
|
18
|
-
/**
|
|
19
|
-
* Currently Unsupported
|
|
20
|
-
*/
|
|
21
|
-
logout(): Promise<void>;
|
|
22
|
-
}
|
|
1
|
+
import { AuthenticationResult, ICrypto, Logger, IPerformanceClient } from "@azure/msal-common";
|
|
2
|
+
import { StandardInteractionClient } from "./StandardInteractionClient";
|
|
3
|
+
import { BrowserConfiguration } from "../config/Configuration";
|
|
4
|
+
import { BrowserCacheManager } from "../cache/BrowserCacheManager";
|
|
5
|
+
import { EventHandler } from "../event/EventHandler";
|
|
6
|
+
import { INavigationClient } from "../navigation/INavigationClient";
|
|
7
|
+
import { ApiId } from "../utils/BrowserConstants";
|
|
8
|
+
import { AuthorizationCodeRequest } from "../request/AuthorizationCodeRequest";
|
|
9
|
+
import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler";
|
|
10
|
+
export declare class SilentAuthCodeClient extends StandardInteractionClient {
|
|
11
|
+
private apiId;
|
|
12
|
+
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
|
|
13
|
+
/**
|
|
14
|
+
* Acquires a token silently by redeeming an authorization code against the /token endpoint
|
|
15
|
+
* @param request
|
|
16
|
+
*/
|
|
17
|
+
acquireToken(request: AuthorizationCodeRequest): Promise<AuthenticationResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Currently Unsupported
|
|
20
|
+
*/
|
|
21
|
+
logout(): Promise<void>;
|
|
22
|
+
}
|
|
23
23
|
//# sourceMappingURL=SilentAuthCodeClient.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.0.0-alpha.
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-alpha.2 2023-05-17 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { PerformanceEvents, Constants, AuthError } from '@azure/msal-common';
|
|
4
4
|
import { StandardInteractionClient } from './StandardInteractionClient.js';
|
|
@@ -7,67 +7,67 @@ import { InteractionType } from '../utils/BrowserConstants.js';
|
|
|
7
7
|
import { SilentHandler } from '../interaction_handler/SilentHandler.js';
|
|
8
8
|
import { HybridSpaAuthorizationCodeClient } from './HybridSpaAuthorizationCodeClient.js';
|
|
9
9
|
|
|
10
|
-
/*
|
|
11
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
12
|
-
* Licensed under the MIT License.
|
|
13
|
-
*/
|
|
14
|
-
class SilentAuthCodeClient extends StandardInteractionClient {
|
|
15
|
-
constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeMessageHandler, correlationId) {
|
|
16
|
-
super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);
|
|
17
|
-
this.apiId = apiId;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Acquires a token silently by redeeming an authorization code against the /token endpoint
|
|
21
|
-
* @param request
|
|
22
|
-
*/
|
|
23
|
-
async acquireToken(request) {
|
|
24
|
-
this.logger.trace("SilentAuthCodeClient.acquireToken called");
|
|
25
|
-
// Auth code payload is required
|
|
26
|
-
if (!request.code) {
|
|
27
|
-
throw BrowserAuthError.createAuthCodeRequiredError();
|
|
28
|
-
}
|
|
29
|
-
// Create silent request
|
|
30
|
-
this.performanceClient.setPreQueueTime(PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, request.correlationId);
|
|
31
|
-
const silentRequest = await this.initializeAuthorizationRequest(request, InteractionType.Silent);
|
|
32
|
-
this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);
|
|
33
|
-
const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
|
|
34
|
-
try {
|
|
35
|
-
// Create auth code request (PKCE not needed)
|
|
36
|
-
const authCodeRequest = {
|
|
37
|
-
...silentRequest,
|
|
38
|
-
code: request.code,
|
|
39
|
-
};
|
|
40
|
-
// Initialize the client
|
|
41
|
-
this.performanceClient.setPreQueueTime(PerformanceEvents.StandardInteractionClientGetClientConfiguration, request.correlationId);
|
|
42
|
-
const clientConfig = await this.getClientConfiguration(serverTelemetryManager, silentRequest.authority);
|
|
43
|
-
const authClient = new HybridSpaAuthorizationCodeClient(clientConfig);
|
|
44
|
-
this.logger.verbose("Auth code client created");
|
|
45
|
-
// Create silent handler
|
|
46
|
-
const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system, this.performanceClient);
|
|
47
|
-
// Handle auth code parameters from request
|
|
48
|
-
return silentHandler.handleCodeResponseFromServer({
|
|
49
|
-
code: request.code,
|
|
50
|
-
msgraph_host: request.msGraphHost,
|
|
51
|
-
cloud_graph_host_name: request.cloudGraphHostName,
|
|
52
|
-
cloud_instance_host_name: request.cloudInstanceHostName,
|
|
53
|
-
}, silentRequest.state, authClient.authority, this.networkClient, false);
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
if (e instanceof AuthError) {
|
|
57
|
-
e.setCorrelationId(this.correlationId);
|
|
58
|
-
serverTelemetryManager.cacheFailedRequest(e);
|
|
59
|
-
}
|
|
60
|
-
this.browserStorage.cleanRequestByState(silentRequest.state);
|
|
61
|
-
throw e;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Currently Unsupported
|
|
66
|
-
*/
|
|
67
|
-
logout() {
|
|
68
|
-
// Synchronous so we must reject
|
|
69
|
-
return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());
|
|
70
|
-
}
|
|
10
|
+
/*
|
|
11
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
12
|
+
* Licensed under the MIT License.
|
|
13
|
+
*/
|
|
14
|
+
class SilentAuthCodeClient extends StandardInteractionClient {
|
|
15
|
+
constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, apiId, performanceClient, nativeMessageHandler, correlationId) {
|
|
16
|
+
super(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId);
|
|
17
|
+
this.apiId = apiId;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Acquires a token silently by redeeming an authorization code against the /token endpoint
|
|
21
|
+
* @param request
|
|
22
|
+
*/
|
|
23
|
+
async acquireToken(request) {
|
|
24
|
+
this.logger.trace("SilentAuthCodeClient.acquireToken called");
|
|
25
|
+
// Auth code payload is required
|
|
26
|
+
if (!request.code) {
|
|
27
|
+
throw BrowserAuthError.createAuthCodeRequiredError();
|
|
28
|
+
}
|
|
29
|
+
// Create silent request
|
|
30
|
+
this.performanceClient.setPreQueueTime(PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, request.correlationId);
|
|
31
|
+
const silentRequest = await this.initializeAuthorizationRequest(request, InteractionType.Silent);
|
|
32
|
+
this.browserStorage.updateCacheEntries(silentRequest.state, silentRequest.nonce, silentRequest.authority, silentRequest.loginHint || Constants.EMPTY_STRING, silentRequest.account || null);
|
|
33
|
+
const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
|
|
34
|
+
try {
|
|
35
|
+
// Create auth code request (PKCE not needed)
|
|
36
|
+
const authCodeRequest = {
|
|
37
|
+
...silentRequest,
|
|
38
|
+
code: request.code,
|
|
39
|
+
};
|
|
40
|
+
// Initialize the client
|
|
41
|
+
this.performanceClient.setPreQueueTime(PerformanceEvents.StandardInteractionClientGetClientConfiguration, request.correlationId);
|
|
42
|
+
const clientConfig = await this.getClientConfiguration(serverTelemetryManager, silentRequest.authority);
|
|
43
|
+
const authClient = new HybridSpaAuthorizationCodeClient(clientConfig);
|
|
44
|
+
this.logger.verbose("Auth code client created");
|
|
45
|
+
// Create silent handler
|
|
46
|
+
const silentHandler = new SilentHandler(authClient, this.browserStorage, authCodeRequest, this.logger, this.config.system, this.performanceClient);
|
|
47
|
+
// Handle auth code parameters from request
|
|
48
|
+
return silentHandler.handleCodeResponseFromServer({
|
|
49
|
+
code: request.code,
|
|
50
|
+
msgraph_host: request.msGraphHost,
|
|
51
|
+
cloud_graph_host_name: request.cloudGraphHostName,
|
|
52
|
+
cloud_instance_host_name: request.cloudInstanceHostName,
|
|
53
|
+
}, silentRequest.state, authClient.authority, this.networkClient, false);
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
if (e instanceof AuthError) {
|
|
57
|
+
e.setCorrelationId(this.correlationId);
|
|
58
|
+
serverTelemetryManager.cacheFailedRequest(e);
|
|
59
|
+
}
|
|
60
|
+
this.browserStorage.cleanRequestByState(silentRequest.state);
|
|
61
|
+
throw e;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Currently Unsupported
|
|
66
|
+
*/
|
|
67
|
+
logout() {
|
|
68
|
+
// Synchronous so we must reject
|
|
69
|
+
return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());
|
|
70
|
+
}
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export { SilentAuthCodeClient };
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { StandardInteractionClient } from "./StandardInteractionClient";
|
|
2
|
-
import { CommonSilentFlowRequest, AuthenticationResult, SilentFlowClient, ServerTelemetryManager, AccountInfo, AzureCloudOptions } from "@azure/msal-common";
|
|
3
|
-
import { SilentRequest } from "../request/SilentRequest";
|
|
4
|
-
export declare class SilentCacheClient extends StandardInteractionClient {
|
|
5
|
-
/**
|
|
6
|
-
* Returns unexpired tokens from the cache, if available
|
|
7
|
-
* @param silentRequest
|
|
8
|
-
*/
|
|
9
|
-
acquireToken(silentRequest: CommonSilentFlowRequest): Promise<AuthenticationResult>;
|
|
10
|
-
/**
|
|
11
|
-
* Currently Unsupported
|
|
12
|
-
*/
|
|
13
|
-
logout(): Promise<void>;
|
|
14
|
-
/**
|
|
15
|
-
* Creates an Silent Flow Client with the given authority, or the default authority.
|
|
16
|
-
* @param serverTelemetryManager
|
|
17
|
-
* @param authorityUrl
|
|
18
|
-
*/
|
|
19
|
-
protected createSilentFlowClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<SilentFlowClient>;
|
|
20
|
-
initializeSilentRequest(request: SilentRequest, account: AccountInfo): Promise<CommonSilentFlowRequest>;
|
|
21
|
-
}
|
|
1
|
+
import { StandardInteractionClient } from "./StandardInteractionClient";
|
|
2
|
+
import { CommonSilentFlowRequest, AuthenticationResult, SilentFlowClient, ServerTelemetryManager, AccountInfo, AzureCloudOptions } from "@azure/msal-common";
|
|
3
|
+
import { SilentRequest } from "../request/SilentRequest";
|
|
4
|
+
export declare class SilentCacheClient extends StandardInteractionClient {
|
|
5
|
+
/**
|
|
6
|
+
* Returns unexpired tokens from the cache, if available
|
|
7
|
+
* @param silentRequest
|
|
8
|
+
*/
|
|
9
|
+
acquireToken(silentRequest: CommonSilentFlowRequest): Promise<AuthenticationResult>;
|
|
10
|
+
/**
|
|
11
|
+
* Currently Unsupported
|
|
12
|
+
*/
|
|
13
|
+
logout(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates an Silent Flow Client with the given authority, or the default authority.
|
|
16
|
+
* @param serverTelemetryManager
|
|
17
|
+
* @param authorityUrl
|
|
18
|
+
*/
|
|
19
|
+
protected createSilentFlowClient(serverTelemetryManager: ServerTelemetryManager, authorityUrl?: string, azureCloudOptions?: AzureCloudOptions): Promise<SilentFlowClient>;
|
|
20
|
+
initializeSilentRequest(request: SilentRequest, account: AccountInfo): Promise<CommonSilentFlowRequest>;
|
|
21
|
+
}
|
|
22
22
|
//# sourceMappingURL=SilentCacheClient.d.ts.map
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.0.0-alpha.
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-alpha.2 2023-05-17 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { StandardInteractionClient } from './StandardInteractionClient.js';
|
|
4
4
|
import { PerformanceEvents, AuthError, SilentFlowClient } from '@azure/msal-common';
|
|
5
5
|
import { ApiId } from '../utils/BrowserConstants.js';
|
|
6
6
|
import { BrowserAuthError, BrowserAuthErrorMessage } from '../error/BrowserAuthError.js';
|
|
7
7
|
|
|
8
|
-
/*
|
|
9
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
10
|
-
* Licensed under the MIT License.
|
|
11
|
-
*/
|
|
12
|
-
class SilentCacheClient extends StandardInteractionClient {
|
|
13
|
-
/**
|
|
14
|
-
* Returns unexpired tokens from the cache, if available
|
|
15
|
-
* @param silentRequest
|
|
16
|
-
*/
|
|
17
|
-
async acquireToken(silentRequest) {
|
|
18
|
-
const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);
|
|
19
|
-
// Telemetry manager only used to increment cacheHits here
|
|
20
|
-
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);
|
|
21
|
-
const silentAuthClient = await this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);
|
|
22
|
-
this.logger.verbose("Silent auth client created");
|
|
23
|
-
try {
|
|
24
|
-
const cachedToken = await silentAuthClient.acquireCachedToken(silentRequest);
|
|
25
|
-
acquireTokenMeasurement.endMeasurement({
|
|
26
|
-
success: true,
|
|
27
|
-
fromCache: true,
|
|
28
|
-
});
|
|
29
|
-
return cachedToken;
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
if (error instanceof BrowserAuthError &&
|
|
33
|
-
error.errorCode ===
|
|
34
|
-
BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {
|
|
35
|
-
this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.");
|
|
36
|
-
}
|
|
37
|
-
acquireTokenMeasurement.endMeasurement({
|
|
38
|
-
errorCode: (error instanceof AuthError && error.errorCode) ||
|
|
39
|
-
undefined,
|
|
40
|
-
subErrorCode: (error instanceof AuthError && error.subError) || undefined,
|
|
41
|
-
success: false,
|
|
42
|
-
});
|
|
43
|
-
throw error;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Currently Unsupported
|
|
48
|
-
*/
|
|
49
|
-
logout() {
|
|
50
|
-
// Synchronous so we must reject
|
|
51
|
-
return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Creates an Silent Flow Client with the given authority, or the default authority.
|
|
55
|
-
* @param serverTelemetryManager
|
|
56
|
-
* @param authorityUrl
|
|
57
|
-
*/
|
|
58
|
-
async createSilentFlowClient(serverTelemetryManager, authorityUrl, azureCloudOptions) {
|
|
59
|
-
// Create auth module.
|
|
60
|
-
this.performanceClient.setPreQueueTime(PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.correlationId);
|
|
61
|
-
const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);
|
|
62
|
-
return new SilentFlowClient(clientConfig, this.performanceClient);
|
|
63
|
-
}
|
|
64
|
-
async initializeSilentRequest(request, account) {
|
|
65
|
-
this.performanceClient.addQueueMeasurement(PerformanceEvents.InitializeSilentRequest, this.correlationId);
|
|
66
|
-
this.performanceClient.setPreQueueTime(PerformanceEvents.InitializeBaseRequest, this.correlationId);
|
|
67
|
-
return {
|
|
68
|
-
...request,
|
|
69
|
-
...(await this.initializeBaseRequest(request)),
|
|
70
|
-
account: account,
|
|
71
|
-
forceRefresh: request.forceRefresh || false,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
8
|
+
/*
|
|
9
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
10
|
+
* Licensed under the MIT License.
|
|
11
|
+
*/
|
|
12
|
+
class SilentCacheClient extends StandardInteractionClient {
|
|
13
|
+
/**
|
|
14
|
+
* Returns unexpired tokens from the cache, if available
|
|
15
|
+
* @param silentRequest
|
|
16
|
+
*/
|
|
17
|
+
async acquireToken(silentRequest) {
|
|
18
|
+
const acquireTokenMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SilentCacheClientAcquireToken, silentRequest.correlationId);
|
|
19
|
+
// Telemetry manager only used to increment cacheHits here
|
|
20
|
+
const serverTelemetryManager = this.initializeServerTelemetryManager(ApiId.acquireTokenSilent_silentFlow);
|
|
21
|
+
const silentAuthClient = await this.createSilentFlowClient(serverTelemetryManager, silentRequest.authority, silentRequest.azureCloudOptions);
|
|
22
|
+
this.logger.verbose("Silent auth client created");
|
|
23
|
+
try {
|
|
24
|
+
const cachedToken = await silentAuthClient.acquireCachedToken(silentRequest);
|
|
25
|
+
acquireTokenMeasurement.endMeasurement({
|
|
26
|
+
success: true,
|
|
27
|
+
fromCache: true,
|
|
28
|
+
});
|
|
29
|
+
return cachedToken;
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (error instanceof BrowserAuthError &&
|
|
33
|
+
error.errorCode ===
|
|
34
|
+
BrowserAuthErrorMessage.signingKeyNotFoundInStorage.code) {
|
|
35
|
+
this.logger.verbose("Signing keypair for bound access token not found. Refreshing bound access token and generating a new crypto keypair.");
|
|
36
|
+
}
|
|
37
|
+
acquireTokenMeasurement.endMeasurement({
|
|
38
|
+
errorCode: (error instanceof AuthError && error.errorCode) ||
|
|
39
|
+
undefined,
|
|
40
|
+
subErrorCode: (error instanceof AuthError && error.subError) || undefined,
|
|
41
|
+
success: false,
|
|
42
|
+
});
|
|
43
|
+
throw error;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Currently Unsupported
|
|
48
|
+
*/
|
|
49
|
+
logout() {
|
|
50
|
+
// Synchronous so we must reject
|
|
51
|
+
return Promise.reject(BrowserAuthError.createSilentLogoutUnsupportedError());
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Creates an Silent Flow Client with the given authority, or the default authority.
|
|
55
|
+
* @param serverTelemetryManager
|
|
56
|
+
* @param authorityUrl
|
|
57
|
+
*/
|
|
58
|
+
async createSilentFlowClient(serverTelemetryManager, authorityUrl, azureCloudOptions) {
|
|
59
|
+
// Create auth module.
|
|
60
|
+
this.performanceClient.setPreQueueTime(PerformanceEvents.StandardInteractionClientGetClientConfiguration, this.correlationId);
|
|
61
|
+
const clientConfig = await this.getClientConfiguration(serverTelemetryManager, authorityUrl, azureCloudOptions);
|
|
62
|
+
return new SilentFlowClient(clientConfig, this.performanceClient);
|
|
63
|
+
}
|
|
64
|
+
async initializeSilentRequest(request, account) {
|
|
65
|
+
this.performanceClient.addQueueMeasurement(PerformanceEvents.InitializeSilentRequest, this.correlationId);
|
|
66
|
+
this.performanceClient.setPreQueueTime(PerformanceEvents.InitializeBaseRequest, this.correlationId);
|
|
67
|
+
return {
|
|
68
|
+
...request,
|
|
69
|
+
...(await this.initializeBaseRequest(request)),
|
|
70
|
+
account: account,
|
|
71
|
+
forceRefresh: request.forceRefresh || false,
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
export { SilentCacheClient };
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import { AuthenticationResult, ICrypto, Logger, AuthorizationCodeClient, IPerformanceClient } from "@azure/msal-common";
|
|
2
|
-
import { StandardInteractionClient } from "./StandardInteractionClient";
|
|
3
|
-
import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest";
|
|
4
|
-
import { BrowserConfiguration } from "../config/Configuration";
|
|
5
|
-
import { BrowserCacheManager } from "../cache/BrowserCacheManager";
|
|
6
|
-
import { EventHandler } from "../event/EventHandler";
|
|
7
|
-
import { INavigationClient } from "../navigation/INavigationClient";
|
|
8
|
-
import { ApiId } from "../utils/BrowserConstants";
|
|
9
|
-
import { SsoSilentRequest } from "../request/SsoSilentRequest";
|
|
10
|
-
import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler";
|
|
11
|
-
export declare class SilentIframeClient extends StandardInteractionClient {
|
|
12
|
-
protected apiId: ApiId;
|
|
13
|
-
protected nativeStorage: BrowserCacheManager;
|
|
14
|
-
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
|
|
15
|
-
/**
|
|
16
|
-
* Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session
|
|
17
|
-
* @param request
|
|
18
|
-
*/
|
|
19
|
-
acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult>;
|
|
20
|
-
/**
|
|
21
|
-
* Currently Unsupported
|
|
22
|
-
*/
|
|
23
|
-
logout(): Promise<void>;
|
|
24
|
-
/**
|
|
25
|
-
* Helper which acquires an authorization code silently using a hidden iframe from given url
|
|
26
|
-
* using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.
|
|
27
|
-
* @param navigateUrl
|
|
28
|
-
* @param userRequestScopes
|
|
29
|
-
*/
|
|
30
|
-
protected silentTokenHelper(authClient: AuthorizationCodeClient, silentRequest: AuthorizationUrlRequest): Promise<AuthenticationResult>;
|
|
31
|
-
}
|
|
1
|
+
import { AuthenticationResult, ICrypto, Logger, AuthorizationCodeClient, IPerformanceClient } from "@azure/msal-common";
|
|
2
|
+
import { StandardInteractionClient } from "./StandardInteractionClient";
|
|
3
|
+
import { AuthorizationUrlRequest } from "../request/AuthorizationUrlRequest";
|
|
4
|
+
import { BrowserConfiguration } from "../config/Configuration";
|
|
5
|
+
import { BrowserCacheManager } from "../cache/BrowserCacheManager";
|
|
6
|
+
import { EventHandler } from "../event/EventHandler";
|
|
7
|
+
import { INavigationClient } from "../navigation/INavigationClient";
|
|
8
|
+
import { ApiId } from "../utils/BrowserConstants";
|
|
9
|
+
import { SsoSilentRequest } from "../request/SsoSilentRequest";
|
|
10
|
+
import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler";
|
|
11
|
+
export declare class SilentIframeClient extends StandardInteractionClient {
|
|
12
|
+
protected apiId: ApiId;
|
|
13
|
+
protected nativeStorage: BrowserCacheManager;
|
|
14
|
+
constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, apiId: ApiId, performanceClient: IPerformanceClient, nativeStorageImpl: BrowserCacheManager, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
|
|
15
|
+
/**
|
|
16
|
+
* Acquires a token silently by opening a hidden iframe to the /authorize endpoint with prompt=none or prompt=no_session
|
|
17
|
+
* @param request
|
|
18
|
+
*/
|
|
19
|
+
acquireToken(request: SsoSilentRequest): Promise<AuthenticationResult>;
|
|
20
|
+
/**
|
|
21
|
+
* Currently Unsupported
|
|
22
|
+
*/
|
|
23
|
+
logout(): Promise<void>;
|
|
24
|
+
/**
|
|
25
|
+
* Helper which acquires an authorization code silently using a hidden iframe from given url
|
|
26
|
+
* using the scopes requested as part of the id, and exchanges the code for a set of OAuth tokens.
|
|
27
|
+
* @param navigateUrl
|
|
28
|
+
* @param userRequestScopes
|
|
29
|
+
*/
|
|
30
|
+
protected silentTokenHelper(authClient: AuthorizationCodeClient, silentRequest: AuthorizationUrlRequest): Promise<AuthenticationResult>;
|
|
31
|
+
}
|
|
32
32
|
//# sourceMappingURL=SilentIframeClient.d.ts.map
|