@azure/msal-browser 3.5.0 → 3.5.1-beta.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.d.ts +51 -51
- package/dist/app/IPublicClientApplication.mjs +102 -102
- package/dist/app/PublicClientApplication.d.ts +268 -268
- package/dist/app/PublicClientApplication.mjs +333 -333
- package/dist/app/PublicClientNext.d.ts +273 -273
- package/dist/app/PublicClientNext.mjs +351 -351
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
- package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
- package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
- package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
- package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
- package/dist/cache/AsyncMemoryStorage.mjs +132 -132
- package/dist/cache/BrowserCacheManager.d.ts +383 -383
- package/dist/cache/BrowserCacheManager.mjs +1262 -1262
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.mjs +32 -32
- package/dist/cache/CryptoKeyStore.d.ts +18 -18
- package/dist/cache/CryptoKeyStore.mjs +40 -40
- package/dist/cache/DatabaseStorage.d.ts +56 -56
- package/dist/cache/DatabaseStorage.mjs +190 -190
- package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
- package/dist/cache/ITokenCache.d.ts +11 -11
- package/dist/cache/IWindowStorage.d.ts +27 -27
- package/dist/cache/MemoryStorage.d.ts +11 -11
- package/dist/cache/MemoryStorage.mjs +31 -31
- package/dist/cache/TokenCache.d.ts +77 -77
- package/dist/cache/TokenCache.mjs +224 -224
- package/dist/config/Configuration.d.ts +206 -206
- package/dist/config/Configuration.mjs +128 -128
- package/dist/controllers/ControllerFactory.d.ts +4 -4
- package/dist/controllers/ControllerFactory.mjs +29 -29
- package/dist/controllers/IController.d.ts +61 -61
- package/dist/controllers/NestedAppAuthController.d.ts +95 -95
- package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +335 -333
- package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
- package/dist/controllers/StandardController.d.ts +407 -407
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +1293 -1291
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
- package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
- package/dist/crypto/BrowserCrypto.d.ts +44 -44
- package/dist/crypto/BrowserCrypto.mjs +93 -93
- package/dist/crypto/CryptoOps.d.ts +63 -63
- package/dist/crypto/CryptoOps.mjs +145 -145
- package/dist/crypto/PkceGenerator.d.ts +8 -8
- package/dist/crypto/PkceGenerator.mjs +54 -54
- package/dist/crypto/SignedHttpRequest.d.ts +30 -30
- package/dist/crypto/SignedHttpRequest.mjs +39 -39
- package/dist/encode/Base64Decode.d.ts +9 -9
- package/dist/encode/Base64Decode.mjs +36 -36
- package/dist/encode/Base64Encode.d.ts +19 -19
- package/dist/encode/Base64Encode.mjs +43 -43
- package/dist/error/BrowserAuthError.d.ts +250 -250
- package/dist/error/BrowserAuthError.mjs +258 -258
- package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
- package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
- package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
- package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
- package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
- package/dist/error/NativeAuthError.d.ts +29 -29
- package/dist/error/NativeAuthError.mjs +60 -60
- package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
- package/dist/error/NativeAuthErrorCodes.mjs +6 -6
- package/dist/error/NestedAppAuthError.d.ts +14 -14
- package/dist/error/NestedAppAuthError.mjs +23 -23
- package/dist/event/EventHandler.d.ts +41 -41
- package/dist/event/EventHandler.mjs +119 -119
- package/dist/event/EventMessage.d.ts +25 -25
- package/dist/event/EventMessage.mjs +68 -68
- package/dist/event/EventType.d.ts +28 -28
- package/dist/event/EventType.mjs +31 -31
- package/dist/index.d.ts +39 -39
- package/dist/index.mjs +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +54 -54
- package/dist/interaction_client/BaseInteractionClient.mjs +152 -152
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
- package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
- package/dist/interaction_client/NativeInteractionClient.mjs +548 -548
- package/dist/interaction_client/PopupClient.d.ts +105 -105
- package/dist/interaction_client/PopupClient.mjs +432 -432
- package/dist/interaction_client/RedirectClient.d.ts +49 -49
- package/dist/interaction_client/RedirectClient.mjs +311 -311
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
- package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
- package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
- package/dist/interaction_client/SilentCacheClient.mjs +61 -61
- package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
- package/dist/interaction_client/SilentIframeClient.mjs +96 -96
- package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
- package/dist/interaction_client/SilentRefreshClient.mjs +43 -43
- package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
- package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
- package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
- package/dist/interaction_handler/InteractionHandler.mjs +93 -93
- package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
- package/dist/interaction_handler/RedirectHandler.mjs +134 -134
- package/dist/interaction_handler/SilentHandler.d.ts +13 -13
- package/dist/interaction_handler/SilentHandler.mjs +133 -133
- package/dist/naa/AccountInfo.d.ts +11 -12
- package/dist/naa/AccountInfo.d.ts.map +1 -1
- package/dist/naa/AccountRequests.d.ts +9 -9
- package/dist/naa/AuthBridge.d.ts +5 -5
- package/dist/naa/BridgeCapabilities.d.ts +3 -3
- package/dist/naa/BridgeError.d.ts +9 -9
- package/dist/naa/BridgeError.d.ts.map +1 -1
- package/dist/naa/BridgeError.mjs +7 -7
- package/dist/naa/BridgeError.mjs.map +1 -1
- package/dist/naa/BridgeProxy.d.ts +72 -71
- package/dist/naa/BridgeProxy.d.ts.map +1 -1
- package/dist/naa/BridgeProxy.mjs +152 -149
- package/dist/naa/BridgeProxy.mjs.map +1 -1
- package/dist/naa/BridgeRequest.d.ts +6 -6
- package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
- package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
- package/dist/naa/BridgeStatusCode.d.ts +10 -10
- package/dist/naa/BridgeStatusCode.mjs +15 -15
- package/dist/naa/IBridgeProxy.d.ts +12 -10
- package/dist/naa/IBridgeProxy.d.ts.map +1 -1
- package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
- package/dist/naa/InitializeBridgeResponse.d.ts.map +1 -1
- package/dist/naa/TokenRequest.d.ts +19 -21
- package/dist/naa/TokenRequest.d.ts.map +1 -1
- package/dist/naa/TokenResponse.d.ts +15 -16
- package/dist/naa/TokenResponse.d.ts.map +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -25
- package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +142 -170
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
- package/dist/navigation/INavigationClient.d.ts +16 -16
- package/dist/navigation/NavigationClient.d.ts +22 -22
- package/dist/navigation/NavigationClient.mjs +40 -40
- package/dist/navigation/NavigationOptions.d.ts +12 -12
- package/dist/network/FetchClient.d.ts +26 -26
- package/dist/network/FetchClient.mjs +99 -99
- package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
- package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
- package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts.map +1 -1
- package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -82
- package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.mjs +3 -3
- package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
- package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
- package/dist/request/ClearCacheRequest.d.ts +10 -10
- package/dist/request/EndSessionPopupRequest.d.ts +18 -18
- package/dist/request/EndSessionRequest.d.ts +15 -15
- package/dist/request/PopupRequest.d.ts +34 -34
- package/dist/request/PopupWindowAttributes.d.ts +15 -15
- package/dist/request/RedirectRequest.d.ts +35 -35
- package/dist/request/SilentRequest.d.ts +32 -32
- package/dist/request/SsoSilentRequest.d.ts +29 -29
- package/dist/response/AuthenticationResult.d.ts +4 -4
- package/dist/response/ResponseHandler.d.ts +7 -7
- package/dist/response/ResponseHandler.mjs +36 -36
- package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
- package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
- package/dist/utils/BrowserConstants.d.ts +176 -176
- package/dist/utils/BrowserConstants.mjs +204 -204
- package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
- package/dist/utils/BrowserProtocolUtils.mjs +21 -21
- package/dist/utils/BrowserUtils.d.ts +56 -56
- package/dist/utils/BrowserUtils.mjs +125 -125
- package/lib/msal-browser.cjs +17920 -17926
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +17920 -17926
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +59 -59
- package/package.json +102 -102
- package/src/controllers/NestedAppAuthController.ts +8 -3
- package/src/controllers/StandardController.ts +3 -1
- package/src/naa/AccountInfo.ts +3 -4
- package/src/naa/BridgeError.ts +4 -4
- package/src/naa/BridgeProxy.ts +6 -2
- package/src/naa/IBridgeProxy.ts +2 -0
- package/src/naa/InitializeBridgeResponse.ts +1 -1
- package/src/naa/TokenRequest.ts +0 -2
- package/src/naa/TokenResponse.ts +1 -2
- package/src/naa/mapping/NestedAppAuthAdapter.ts +72 -80
- package/src/operatingcontext/TeamsAppOperatingContext.ts +4 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.5.0 2023-11-
|
|
1
|
+
/*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { PerformanceEvents, invoke, invokeAsync } from '@azure/msal-common';
|
|
4
4
|
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
|
@@ -6,59 +6,59 @@ import { urlEncodeArr } from '../encode/Base64Encode.mjs';
|
|
|
6
6
|
import { getRandomValues, sha256Digest } from './BrowserCrypto.mjs';
|
|
7
7
|
import { pkceNotCreated } from '../error/BrowserAuthErrorCodes.mjs';
|
|
8
8
|
|
|
9
|
-
/*
|
|
10
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
11
|
-
* Licensed under the MIT License.
|
|
12
|
-
*/
|
|
13
|
-
// Constant byte array length
|
|
14
|
-
const RANDOM_BYTE_ARR_LENGTH = 32;
|
|
15
|
-
/**
|
|
16
|
-
* This file defines APIs to generate PKCE codes and code verifiers.
|
|
17
|
-
*/
|
|
18
|
-
/**
|
|
19
|
-
* Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636
|
|
20
|
-
*/
|
|
21
|
-
async function generatePkceCodes(performanceClient, logger, correlationId) {
|
|
22
|
-
performanceClient.addQueueMeasurement(PerformanceEvents.GeneratePkceCodes, correlationId);
|
|
23
|
-
const codeVerifier = invoke(generateCodeVerifier, PerformanceEvents.GenerateCodeVerifier, logger, performanceClient, correlationId)(performanceClient, logger, correlationId);
|
|
24
|
-
const codeChallenge = await invokeAsync(generateCodeChallengeFromVerifier, PerformanceEvents.GenerateCodeChallengeFromVerifier, logger, performanceClient, correlationId)(codeVerifier, performanceClient, logger, correlationId);
|
|
25
|
-
return {
|
|
26
|
-
verifier: codeVerifier,
|
|
27
|
-
challenge: codeChallenge,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Generates a random 32 byte buffer and returns the base64
|
|
32
|
-
* encoded string to be used as a PKCE Code Verifier
|
|
33
|
-
*/
|
|
34
|
-
function generateCodeVerifier(performanceClient, logger, correlationId) {
|
|
35
|
-
try {
|
|
36
|
-
// Generate random values as utf-8
|
|
37
|
-
const buffer = new Uint8Array(RANDOM_BYTE_ARR_LENGTH);
|
|
38
|
-
invoke(getRandomValues, PerformanceEvents.GetRandomValues, logger, performanceClient, correlationId)(buffer);
|
|
39
|
-
// encode verifier as base64
|
|
40
|
-
const pkceCodeVerifierB64 = urlEncodeArr(buffer);
|
|
41
|
-
return pkceCodeVerifierB64;
|
|
42
|
-
}
|
|
43
|
-
catch (e) {
|
|
44
|
-
throw createBrowserAuthError(pkceNotCreated);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Creates a base64 encoded PKCE Code Challenge string from the
|
|
49
|
-
* hash created from the PKCE Code Verifier supplied
|
|
50
|
-
*/
|
|
51
|
-
async function generateCodeChallengeFromVerifier(pkceCodeVerifier, performanceClient, logger, correlationId) {
|
|
52
|
-
performanceClient.addQueueMeasurement(PerformanceEvents.GenerateCodeChallengeFromVerifier, correlationId);
|
|
53
|
-
try {
|
|
54
|
-
// hashed verifier
|
|
55
|
-
const pkceHashedCodeVerifier = await invokeAsync(sha256Digest, PerformanceEvents.Sha256Digest, logger, performanceClient, correlationId)(pkceCodeVerifier, performanceClient, correlationId);
|
|
56
|
-
// encode hash as base64
|
|
57
|
-
return urlEncodeArr(new Uint8Array(pkceHashedCodeVerifier));
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
throw createBrowserAuthError(pkceNotCreated);
|
|
61
|
-
}
|
|
9
|
+
/*
|
|
10
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
11
|
+
* Licensed under the MIT License.
|
|
12
|
+
*/
|
|
13
|
+
// Constant byte array length
|
|
14
|
+
const RANDOM_BYTE_ARR_LENGTH = 32;
|
|
15
|
+
/**
|
|
16
|
+
* This file defines APIs to generate PKCE codes and code verifiers.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636
|
|
20
|
+
*/
|
|
21
|
+
async function generatePkceCodes(performanceClient, logger, correlationId) {
|
|
22
|
+
performanceClient.addQueueMeasurement(PerformanceEvents.GeneratePkceCodes, correlationId);
|
|
23
|
+
const codeVerifier = invoke(generateCodeVerifier, PerformanceEvents.GenerateCodeVerifier, logger, performanceClient, correlationId)(performanceClient, logger, correlationId);
|
|
24
|
+
const codeChallenge = await invokeAsync(generateCodeChallengeFromVerifier, PerformanceEvents.GenerateCodeChallengeFromVerifier, logger, performanceClient, correlationId)(codeVerifier, performanceClient, logger, correlationId);
|
|
25
|
+
return {
|
|
26
|
+
verifier: codeVerifier,
|
|
27
|
+
challenge: codeChallenge,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Generates a random 32 byte buffer and returns the base64
|
|
32
|
+
* encoded string to be used as a PKCE Code Verifier
|
|
33
|
+
*/
|
|
34
|
+
function generateCodeVerifier(performanceClient, logger, correlationId) {
|
|
35
|
+
try {
|
|
36
|
+
// Generate random values as utf-8
|
|
37
|
+
const buffer = new Uint8Array(RANDOM_BYTE_ARR_LENGTH);
|
|
38
|
+
invoke(getRandomValues, PerformanceEvents.GetRandomValues, logger, performanceClient, correlationId)(buffer);
|
|
39
|
+
// encode verifier as base64
|
|
40
|
+
const pkceCodeVerifierB64 = urlEncodeArr(buffer);
|
|
41
|
+
return pkceCodeVerifierB64;
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
throw createBrowserAuthError(pkceNotCreated);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Creates a base64 encoded PKCE Code Challenge string from the
|
|
49
|
+
* hash created from the PKCE Code Verifier supplied
|
|
50
|
+
*/
|
|
51
|
+
async function generateCodeChallengeFromVerifier(pkceCodeVerifier, performanceClient, logger, correlationId) {
|
|
52
|
+
performanceClient.addQueueMeasurement(PerformanceEvents.GenerateCodeChallengeFromVerifier, correlationId);
|
|
53
|
+
try {
|
|
54
|
+
// hashed verifier
|
|
55
|
+
const pkceHashedCodeVerifier = await invokeAsync(sha256Digest, PerformanceEvents.Sha256Digest, logger, performanceClient, correlationId)(pkceCodeVerifier, performanceClient, correlationId);
|
|
56
|
+
// encode hash as base64
|
|
57
|
+
return urlEncodeArr(new Uint8Array(pkceHashedCodeVerifier));
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
throw createBrowserAuthError(pkceNotCreated);
|
|
61
|
+
}
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
export { generatePkceCodes };
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { LoggerOptions, SignedHttpRequestParameters } from "@azure/msal-common";
|
|
2
|
-
export type SignedHttpRequestOptions = {
|
|
3
|
-
loggerOptions: LoggerOptions;
|
|
4
|
-
};
|
|
5
|
-
export declare class SignedHttpRequest {
|
|
6
|
-
private popTokenGenerator;
|
|
7
|
-
private cryptoOps;
|
|
8
|
-
private shrParameters;
|
|
9
|
-
private logger;
|
|
10
|
-
constructor(shrParameters: SignedHttpRequestParameters, shrOptions?: SignedHttpRequestOptions);
|
|
11
|
-
/**
|
|
12
|
-
* Generates and caches a keypair for the given request options.
|
|
13
|
-
* @returns Public key digest, which should be sent to the token issuer.
|
|
14
|
-
*/
|
|
15
|
-
generatePublicKeyThumbprint(): Promise<string>;
|
|
16
|
-
/**
|
|
17
|
-
* Generates a signed http request for the given payload with the given key.
|
|
18
|
-
* @param payload Payload to sign (e.g. access token)
|
|
19
|
-
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
20
|
-
* @param claims Additional claims to include/override in the signed JWT
|
|
21
|
-
* @returns Pop token signed with the corresponding private key
|
|
22
|
-
*/
|
|
23
|
-
signRequest(payload: string, publicKeyThumbprint: string, claims?: object): Promise<string>;
|
|
24
|
-
/**
|
|
25
|
-
* Removes cached keys from browser for given public key thumbprint
|
|
26
|
-
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
27
|
-
* @returns If keys are properly deleted
|
|
28
|
-
*/
|
|
29
|
-
removeKeys(publicKeyThumbprint: string): Promise<boolean>;
|
|
30
|
-
}
|
|
1
|
+
import { LoggerOptions, SignedHttpRequestParameters } from "@azure/msal-common";
|
|
2
|
+
export type SignedHttpRequestOptions = {
|
|
3
|
+
loggerOptions: LoggerOptions;
|
|
4
|
+
};
|
|
5
|
+
export declare class SignedHttpRequest {
|
|
6
|
+
private popTokenGenerator;
|
|
7
|
+
private cryptoOps;
|
|
8
|
+
private shrParameters;
|
|
9
|
+
private logger;
|
|
10
|
+
constructor(shrParameters: SignedHttpRequestParameters, shrOptions?: SignedHttpRequestOptions);
|
|
11
|
+
/**
|
|
12
|
+
* Generates and caches a keypair for the given request options.
|
|
13
|
+
* @returns Public key digest, which should be sent to the token issuer.
|
|
14
|
+
*/
|
|
15
|
+
generatePublicKeyThumbprint(): Promise<string>;
|
|
16
|
+
/**
|
|
17
|
+
* Generates a signed http request for the given payload with the given key.
|
|
18
|
+
* @param payload Payload to sign (e.g. access token)
|
|
19
|
+
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
20
|
+
* @param claims Additional claims to include/override in the signed JWT
|
|
21
|
+
* @returns Pop token signed with the corresponding private key
|
|
22
|
+
*/
|
|
23
|
+
signRequest(payload: string, publicKeyThumbprint: string, claims?: object): Promise<string>;
|
|
24
|
+
/**
|
|
25
|
+
* Removes cached keys from browser for given public key thumbprint
|
|
26
|
+
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
27
|
+
* @returns If keys are properly deleted
|
|
28
|
+
*/
|
|
29
|
+
removeKeys(publicKeyThumbprint: string): Promise<boolean>;
|
|
30
|
+
}
|
|
31
31
|
//# sourceMappingURL=SignedHttpRequest.d.ts.map
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.5.0 2023-11-
|
|
1
|
+
/*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { CryptoOps } from './CryptoOps.mjs';
|
|
4
4
|
import { Logger, PopTokenGenerator } from '@azure/msal-common';
|
|
5
5
|
import { name, version } from '../packageMetadata.mjs';
|
|
6
6
|
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
* Licensed under the MIT License.
|
|
10
|
-
*/
|
|
11
|
-
class SignedHttpRequest {
|
|
12
|
-
constructor(shrParameters, shrOptions) {
|
|
13
|
-
const loggerOptions = (shrOptions && shrOptions.loggerOptions) || {};
|
|
14
|
-
this.logger = new Logger(loggerOptions, name, version);
|
|
15
|
-
this.cryptoOps = new CryptoOps(this.logger);
|
|
16
|
-
this.popTokenGenerator = new PopTokenGenerator(this.cryptoOps);
|
|
17
|
-
this.shrParameters = shrParameters;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Generates and caches a keypair for the given request options.
|
|
21
|
-
* @returns Public key digest, which should be sent to the token issuer.
|
|
22
|
-
*/
|
|
23
|
-
async generatePublicKeyThumbprint() {
|
|
24
|
-
const { kid } = await this.popTokenGenerator.generateKid(this.shrParameters);
|
|
25
|
-
return kid;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Generates a signed http request for the given payload with the given key.
|
|
29
|
-
* @param payload Payload to sign (e.g. access token)
|
|
30
|
-
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
31
|
-
* @param claims Additional claims to include/override in the signed JWT
|
|
32
|
-
* @returns Pop token signed with the corresponding private key
|
|
33
|
-
*/
|
|
34
|
-
async signRequest(payload, publicKeyThumbprint, claims) {
|
|
35
|
-
return this.popTokenGenerator.signPayload(payload, publicKeyThumbprint, this.shrParameters, claims);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Removes cached keys from browser for given public key thumbprint
|
|
39
|
-
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
40
|
-
* @returns If keys are properly deleted
|
|
41
|
-
*/
|
|
42
|
-
async removeKeys(publicKeyThumbprint) {
|
|
43
|
-
return await this.cryptoOps.removeTokenBindingKey(publicKeyThumbprint);
|
|
44
|
-
}
|
|
7
|
+
/*
|
|
8
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
+
* Licensed under the MIT License.
|
|
10
|
+
*/
|
|
11
|
+
class SignedHttpRequest {
|
|
12
|
+
constructor(shrParameters, shrOptions) {
|
|
13
|
+
const loggerOptions = (shrOptions && shrOptions.loggerOptions) || {};
|
|
14
|
+
this.logger = new Logger(loggerOptions, name, version);
|
|
15
|
+
this.cryptoOps = new CryptoOps(this.logger);
|
|
16
|
+
this.popTokenGenerator = new PopTokenGenerator(this.cryptoOps);
|
|
17
|
+
this.shrParameters = shrParameters;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Generates and caches a keypair for the given request options.
|
|
21
|
+
* @returns Public key digest, which should be sent to the token issuer.
|
|
22
|
+
*/
|
|
23
|
+
async generatePublicKeyThumbprint() {
|
|
24
|
+
const { kid } = await this.popTokenGenerator.generateKid(this.shrParameters);
|
|
25
|
+
return kid;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Generates a signed http request for the given payload with the given key.
|
|
29
|
+
* @param payload Payload to sign (e.g. access token)
|
|
30
|
+
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
31
|
+
* @param claims Additional claims to include/override in the signed JWT
|
|
32
|
+
* @returns Pop token signed with the corresponding private key
|
|
33
|
+
*/
|
|
34
|
+
async signRequest(payload, publicKeyThumbprint, claims) {
|
|
35
|
+
return this.popTokenGenerator.signPayload(payload, publicKeyThumbprint, this.shrParameters, claims);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Removes cached keys from browser for given public key thumbprint
|
|
39
|
+
* @param publicKeyThumbprint Public key digest (from generatePublicKeyThumbprint API)
|
|
40
|
+
* @returns If keys are properly deleted
|
|
41
|
+
*/
|
|
42
|
+
async removeKeys(publicKeyThumbprint) {
|
|
43
|
+
return await this.cryptoOps.removeTokenBindingKey(publicKeyThumbprint);
|
|
44
|
+
}
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export { SignedHttpRequest };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:
|
|
3
|
-
* https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
7
|
-
* @param input
|
|
8
|
-
*/
|
|
9
|
-
export declare function base64Decode(input: string): string;
|
|
1
|
+
/**
|
|
2
|
+
* Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:
|
|
3
|
+
* https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
7
|
+
* @param input
|
|
8
|
+
*/
|
|
9
|
+
export declare function base64Decode(input: string): string;
|
|
10
10
|
//# sourceMappingURL=Base64Decode.d.ts.map
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.5.0 2023-11-
|
|
1
|
+
/*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
|
|
4
4
|
import { invalidBase64String } from '../error/BrowserAuthErrorCodes.mjs';
|
|
5
5
|
|
|
6
|
-
/*
|
|
7
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
|
-
* Licensed under the MIT License.
|
|
9
|
-
*/
|
|
10
|
-
/**
|
|
11
|
-
* Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:
|
|
12
|
-
* https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
16
|
-
* @param input
|
|
17
|
-
*/
|
|
18
|
-
function base64Decode(input) {
|
|
19
|
-
return new TextDecoder().decode(base64DecToArr(input));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Decodes base64 into Uint8Array
|
|
23
|
-
* @param base64String
|
|
24
|
-
*/
|
|
25
|
-
function base64DecToArr(base64String) {
|
|
26
|
-
let encodedString = base64String.replace(/-/g, "+").replace(/_/g, "/");
|
|
27
|
-
switch (encodedString.length % 4) {
|
|
28
|
-
case 0:
|
|
29
|
-
break;
|
|
30
|
-
case 2:
|
|
31
|
-
encodedString += "==";
|
|
32
|
-
break;
|
|
33
|
-
case 3:
|
|
34
|
-
encodedString += "=";
|
|
35
|
-
break;
|
|
36
|
-
default:
|
|
37
|
-
throw createBrowserAuthError(invalidBase64String);
|
|
38
|
-
}
|
|
39
|
-
const binString = atob(encodedString);
|
|
40
|
-
return Uint8Array.from(binString, (m) => m.codePointAt(0) || 0);
|
|
6
|
+
/*
|
|
7
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
|
+
* Licensed under the MIT License.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Class which exposes APIs to decode base64 strings to plaintext. See here for implementation details:
|
|
12
|
+
* https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
16
|
+
* @param input
|
|
17
|
+
*/
|
|
18
|
+
function base64Decode(input) {
|
|
19
|
+
return new TextDecoder().decode(base64DecToArr(input));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Decodes base64 into Uint8Array
|
|
23
|
+
* @param base64String
|
|
24
|
+
*/
|
|
25
|
+
function base64DecToArr(base64String) {
|
|
26
|
+
let encodedString = base64String.replace(/-/g, "+").replace(/_/g, "/");
|
|
27
|
+
switch (encodedString.length % 4) {
|
|
28
|
+
case 0:
|
|
29
|
+
break;
|
|
30
|
+
case 2:
|
|
31
|
+
encodedString += "==";
|
|
32
|
+
break;
|
|
33
|
+
case 3:
|
|
34
|
+
encodedString += "=";
|
|
35
|
+
break;
|
|
36
|
+
default:
|
|
37
|
+
throw createBrowserAuthError(invalidBase64String);
|
|
38
|
+
}
|
|
39
|
+
const binString = atob(encodedString);
|
|
40
|
+
return Uint8Array.from(binString, (m) => m.codePointAt(0) || 0);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export { base64Decode };
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:
|
|
3
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
7
|
-
* @param input
|
|
8
|
-
*/
|
|
9
|
-
export declare function urlEncode(input: string): string;
|
|
10
|
-
/**
|
|
11
|
-
* Returns URL Safe b64 encoded string from an int8Array.
|
|
12
|
-
* @param inputArr
|
|
13
|
-
*/
|
|
14
|
-
export declare function urlEncodeArr(inputArr: Uint8Array): string;
|
|
15
|
-
/**
|
|
16
|
-
* Returns b64 encoded string from plaintext string.
|
|
17
|
-
* @param input
|
|
18
|
-
*/
|
|
19
|
-
export declare function base64Encode(input: string): string;
|
|
1
|
+
/**
|
|
2
|
+
* Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:
|
|
3
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
7
|
+
* @param input
|
|
8
|
+
*/
|
|
9
|
+
export declare function urlEncode(input: string): string;
|
|
10
|
+
/**
|
|
11
|
+
* Returns URL Safe b64 encoded string from an int8Array.
|
|
12
|
+
* @param inputArr
|
|
13
|
+
*/
|
|
14
|
+
export declare function urlEncodeArr(inputArr: Uint8Array): string;
|
|
15
|
+
/**
|
|
16
|
+
* Returns b64 encoded string from plaintext string.
|
|
17
|
+
* @param input
|
|
18
|
+
*/
|
|
19
|
+
export declare function base64Encode(input: string): string;
|
|
20
20
|
//# sourceMappingURL=Base64Encode.d.ts.map
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.5.0 2023-11-
|
|
1
|
+
/*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
|
|
2
2
|
'use strict';
|
|
3
|
-
/*
|
|
4
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
-
* Licensed under the MIT License.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:
|
|
9
|
-
* https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
13
|
-
* @param input
|
|
14
|
-
*/
|
|
15
|
-
function urlEncode(input) {
|
|
16
|
-
return encodeURIComponent(base64Encode(input)
|
|
17
|
-
.replace(/=/g, "")
|
|
18
|
-
.replace(/\+/g, "-")
|
|
19
|
-
.replace(/\//g, "_"));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Returns URL Safe b64 encoded string from an int8Array.
|
|
23
|
-
* @param inputArr
|
|
24
|
-
*/
|
|
25
|
-
function urlEncodeArr(inputArr) {
|
|
26
|
-
return base64EncArr(inputArr)
|
|
27
|
-
.replace(/=/g, "")
|
|
28
|
-
.replace(/\+/g, "-")
|
|
29
|
-
.replace(/\//g, "_");
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Returns b64 encoded string from plaintext string.
|
|
33
|
-
* @param input
|
|
34
|
-
*/
|
|
35
|
-
function base64Encode(input) {
|
|
36
|
-
return base64EncArr(new TextEncoder().encode(input));
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Base64 encode byte array
|
|
40
|
-
* @param aBytes
|
|
41
|
-
*/
|
|
42
|
-
function base64EncArr(aBytes) {
|
|
43
|
-
const binString = Array.from(aBytes, (x) => String.fromCodePoint(x)).join("");
|
|
44
|
-
return btoa(binString);
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
5
|
+
* Licensed under the MIT License.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:
|
|
9
|
+
* https://developer.mozilla.org/en-US/docs/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
13
|
+
* @param input
|
|
14
|
+
*/
|
|
15
|
+
function urlEncode(input) {
|
|
16
|
+
return encodeURIComponent(base64Encode(input)
|
|
17
|
+
.replace(/=/g, "")
|
|
18
|
+
.replace(/\+/g, "-")
|
|
19
|
+
.replace(/\//g, "_"));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Returns URL Safe b64 encoded string from an int8Array.
|
|
23
|
+
* @param inputArr
|
|
24
|
+
*/
|
|
25
|
+
function urlEncodeArr(inputArr) {
|
|
26
|
+
return base64EncArr(inputArr)
|
|
27
|
+
.replace(/=/g, "")
|
|
28
|
+
.replace(/\+/g, "-")
|
|
29
|
+
.replace(/\//g, "_");
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns b64 encoded string from plaintext string.
|
|
33
|
+
* @param input
|
|
34
|
+
*/
|
|
35
|
+
function base64Encode(input) {
|
|
36
|
+
return base64EncArr(new TextEncoder().encode(input));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Base64 encode byte array
|
|
40
|
+
* @param aBytes
|
|
41
|
+
*/
|
|
42
|
+
function base64EncArr(aBytes) {
|
|
43
|
+
const binString = Array.from(aBytes, (x) => String.fromCodePoint(x)).join("");
|
|
44
|
+
return btoa(binString);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export { base64Encode, urlEncode, urlEncodeArr };
|