@azure/msal-browser 3.19.1 → 3.21.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 +53 -53
- package/dist/app/IPublicClientApplication.mjs +105 -105
- package/dist/app/PublicClientApplication.d.ts +293 -293
- package/dist/app/PublicClientApplication.mjs +364 -364
- package/dist/app/PublicClientNext.d.ts +276 -276
- package/dist/app/PublicClientNext.mjs +354 -354
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
- package/dist/broker/nativeBroker/NativeRequest.d.ts +45 -45
- 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/AccountManager.d.ts +48 -48
- package/dist/cache/AccountManager.mjs +126 -126
- package/dist/cache/AsyncMemoryStorage.d.ts +50 -50
- package/dist/cache/AsyncMemoryStorage.mjs +131 -131
- package/dist/cache/BrowserCacheManager.d.ts +410 -385
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +1364 -1294
- package/dist/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.mjs +32 -32
- package/dist/cache/DatabaseStorage.d.ts +56 -56
- package/dist/cache/DatabaseStorage.mjs +200 -200
- package/dist/cache/IAsyncStorage.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 +195 -195
- package/dist/config/Configuration.d.ts +213 -208
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.mjs +128 -128
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/ControllerFactory.d.ts +5 -5
- package/dist/controllers/ControllerFactory.mjs +25 -25
- package/dist/controllers/IController.d.ts +60 -60
- package/dist/controllers/NestedAppAuthController.d.ts +202 -202
- package/dist/controllers/NestedAppAuthController.mjs +473 -473
- package/dist/controllers/StandardController.d.ts +405 -405
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +1334 -1316
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.d.ts +86 -86
- package/dist/controllers/UnknownOperatingContextController.mjs +256 -256
- package/dist/crypto/BrowserCrypto.d.ts +52 -52
- package/dist/crypto/BrowserCrypto.mjs +151 -151
- package/dist/crypto/CryptoOps.d.ts +74 -74
- package/dist/crypto/CryptoOps.mjs +176 -176
- 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 +256 -255
- package/dist/error/BrowserAuthError.d.ts.map +1 -1
- package/dist/error/BrowserAuthError.mjs +265 -264
- package/dist/error/BrowserAuthError.mjs.map +1 -1
- package/dist/error/BrowserAuthErrorCodes.d.ts +47 -46
- package/dist/error/BrowserAuthErrorCodes.d.ts.map +1 -1
- package/dist/error/BrowserAuthErrorCodes.mjs +53 -52
- package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
- package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
- package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
- 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 +125 -125
- package/dist/event/EventMessage.d.ts +25 -25
- package/dist/event/EventMessage.mjs +68 -68
- package/dist/event/EventType.d.ts +29 -29
- package/dist/event/EventType.mjs +32 -32
- package/dist/index.d.ts +40 -40
- package/dist/index.mjs +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +50 -50
- package/dist/interaction_client/BaseInteractionClient.mjs +106 -106
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
- package/dist/interaction_client/NativeInteractionClient.d.ts +151 -143
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.mjs +624 -584
- package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/PopupClient.d.ts +118 -105
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +460 -434
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts +50 -50
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.mjs +349 -317
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
- package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
- package/dist/interaction_client/SilentCacheClient.d.ts +16 -16
- package/dist/interaction_client/SilentCacheClient.mjs +42 -42
- package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +111 -101
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
- package/dist/interaction_client/SilentRefreshClient.mjs +47 -47
- package/dist/interaction_client/StandardInteractionClient.d.ts +48 -48
- package/dist/interaction_client/StandardInteractionClient.mjs +199 -199
- 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.d.ts.map +1 -1
- package/dist/interaction_handler/RedirectHandler.mjs +135 -134
- package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +13 -13
- package/dist/interaction_handler/SilentHandler.mjs +134 -134
- package/dist/naa/AccountInfo.d.ts +11 -11
- package/dist/naa/AuthBridge.d.ts +8 -8
- package/dist/naa/AuthResult.d.ts +6 -6
- package/dist/naa/BridgeAccountContext.d.ts +12 -12
- package/dist/naa/BridgeCapabilities.d.ts +3 -3
- package/dist/naa/BridgeError.d.ts +9 -9
- package/dist/naa/BridgeError.mjs +7 -7
- package/dist/naa/BridgeProxy.d.ts +67 -67
- package/dist/naa/BridgeProxy.d.ts.map +1 -1
- package/dist/naa/BridgeProxy.mjs +153 -148
- package/dist/naa/BridgeProxy.mjs.map +1 -1
- package/dist/naa/BridgeRequest.d.ts +7 -7
- package/dist/naa/BridgeRequestEnvelope.d.ts +12 -12
- package/dist/naa/BridgeResponseEnvelope.d.ts +13 -13
- package/dist/naa/BridgeStatusCode.d.ts +11 -11
- package/dist/naa/BridgeStatusCode.mjs +14 -14
- package/dist/naa/IBridgeProxy.d.ts +10 -10
- package/dist/naa/InitContext.d.ts +8 -8
- package/dist/naa/TokenRequest.d.ts +18 -18
- package/dist/naa/TokenResponse.d.ts +13 -13
- package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +35 -35
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +179 -179
- 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 +41 -41
- package/dist/operatingcontext/BaseOperatingContext.mjs +94 -94
- package/dist/operatingcontext/NestedAppOperatingContext.d.ts +34 -34
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +71 -71
- package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
- 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 +4 -4
- 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/InitializeApplicationRequest.d.ts +8 -8
- package/dist/request/PopupRequest.d.ts +34 -34
- package/dist/request/PopupWindowAttributes.d.ts +15 -15
- package/dist/request/RedirectRequest.d.ts +40 -35
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/RequestHelpers.d.ts +13 -13
- package/dist/request/RequestHelpers.mjs +53 -53
- package/dist/request/SilentRequest.d.ts +33 -33
- 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 +38 -34
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +163 -163
- package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
- package/dist/utils/BrowserConstants.d.ts +182 -180
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.mjs +214 -212
- package/dist/utils/BrowserConstants.mjs.map +1 -1
- package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
- package/dist/utils/BrowserProtocolUtils.mjs +21 -21
- package/dist/utils/BrowserUtils.d.ts +75 -75
- package/dist/utils/BrowserUtils.mjs +157 -157
- package/lib/msal-browser.cjs +19028 -18759
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +19028 -18759
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +65 -65
- package/package.json +2 -2
- package/src/cache/BrowserCacheManager.ts +95 -0
- package/src/config/Configuration.ts +9 -1
- package/src/controllers/StandardController.ts +30 -12
- package/src/error/BrowserAuthError.ts +2 -0
- package/src/error/BrowserAuthErrorCodes.ts +1 -0
- package/src/interaction_client/NativeInteractionClient.ts +105 -54
- package/src/interaction_client/PopupClient.ts +202 -117
- package/src/interaction_client/RedirectClient.ts +62 -2
- package/src/interaction_client/SilentIframeClient.ts +41 -3
- package/src/interaction_handler/RedirectHandler.ts +1 -0
- package/src/naa/BridgeProxy.ts +7 -2
- package/src/packageMetadata.ts +1 -1
- package/src/request/RedirectRequest.ts +5 -0
- package/src/telemetry/BrowserPerformanceClient.ts +1 -1
- package/src/utils/BrowserConstants.ts +2 -0
|
@@ -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.
|
|
1
|
+
/*! @azure/msal-browser v3.21.0 2024-08-13 */
|
|
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.
|
|
1
|
+
/*! @azure/msal-browser v3.21.0 2024-08-13 */
|
|
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 };
|