@azure/msal-browser 3.0.0-alpha.1 → 3.0.0-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/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 +376 -377
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.js +1275 -1276
- package/dist/cache/BrowserCacheManager.js.map +1 -1
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.js +35 -35
- package/dist/cache/CryptoKeyStore.d.ts +18 -17
- package/dist/cache/CryptoKeyStore.d.ts.map +1 -1
- package/dist/cache/CryptoKeyStore.js +40 -41
- package/dist/cache/CryptoKeyStore.js.map +1 -1
- 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 +187 -203
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.js +97 -101
- package/dist/config/Configuration.js.map +1 -1
- 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/IController.d.ts.map +1 -1
- package/dist/controllers/StandardController.d.ts +413 -413
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.js +1277 -1272
- package/dist/controllers/StandardController.js.map +1 -1
- package/dist/crypto/BrowserCrypto.d.ts +49 -61
- package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/BrowserCrypto.js +93 -134
- package/dist/crypto/BrowserCrypto.js.map +1 -1
- package/dist/crypto/CryptoOps.d.ts +72 -73
- package/dist/crypto/CryptoOps.d.ts.map +1 -1
- package/dist/crypto/CryptoOps.js +150 -150
- package/dist/crypto/CryptoOps.js.map +1 -1
- 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/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 +57 -56
- package/dist/error/NativeAuthError.d.ts.map +1 -1
- package/dist/error/NativeAuthError.js +93 -88
- package/dist/error/NativeAuthError.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/event/EventMessage.js +68 -67
- package/dist/event/EventMessage.js.map +1 -1
- package/dist/event/EventType.d.ts +28 -26
- package/dist/event/EventType.d.ts.map +1 -1
- package/dist/event/EventType.js +32 -32
- package/dist/event/EventType.js.map +1 -1
- package/dist/index.d.ts +35 -35
- package/dist/index.js +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +53 -52
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.js +151 -138
- package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.js +521 -517
- package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.js +291 -290
- package/dist/interaction_client/RedirectClient.js.map +1 -1
- 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/SilentCacheClient.js.map +1 -1
- 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/SilentRefreshClient.js.map +1 -1
- 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.d.ts.map +1 -1
- 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 +37 -38
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.js +124 -124
- package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.js +92 -92
- package/dist/utils/BrowserConstants.d.ts +176 -166
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.js +205 -215
- package/dist/utils/BrowserConstants.js.map +1 -1
- 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 +18227 -0
- package/lib/msal-browser.cjs.js.map +1 -0
- package/lib/msal-browser.js +18233 -0
- package/lib/msal-browser.js.map +1 -0
- package/lib/msal-browser.min.js +63 -0
- package/package.json +101 -95
- package/dist/crypto/MsBrowserCrypto.d.ts +0 -10
- package/dist/crypto/MsBrowserCrypto.d.ts.map +0 -1
- package/dist/crypto/MsBrowserCrypto.js +0 -88
- package/dist/crypto/MsBrowserCrypto.js.map +0 -1
- package/dist/crypto/MsrBrowserCrypto.d.ts +0 -18
- package/dist/crypto/MsrBrowserCrypto.d.ts.map +0 -1
- package/dist/crypto/MsrBrowserCrypto.js +0 -35
- package/dist/crypto/MsrBrowserCrypto.js.map +0 -1
|
@@ -1,23 +1,23 @@
|
|
|
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/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
4
|
-
*/
|
|
5
|
-
export declare class Base64Decode {
|
|
6
|
-
/**
|
|
7
|
-
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
8
|
-
* @param input
|
|
9
|
-
*/
|
|
10
|
-
decode(input: string): string;
|
|
11
|
-
/**
|
|
12
|
-
* Decodes base64 into Uint8Array
|
|
13
|
-
* @param base64String
|
|
14
|
-
* @param nBlockSize
|
|
15
|
-
*/
|
|
16
|
-
private base64DecToArr;
|
|
17
|
-
/**
|
|
18
|
-
* Base64 string to array decoding helper
|
|
19
|
-
* @param charNum
|
|
20
|
-
*/
|
|
21
|
-
private b64ToUint6;
|
|
22
|
-
}
|
|
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/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
4
|
+
*/
|
|
5
|
+
export declare class Base64Decode {
|
|
6
|
+
/**
|
|
7
|
+
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
8
|
+
* @param input
|
|
9
|
+
*/
|
|
10
|
+
decode(input: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Decodes base64 into Uint8Array
|
|
13
|
+
* @param base64String
|
|
14
|
+
* @param nBlockSize
|
|
15
|
+
*/
|
|
16
|
+
private base64DecToArr;
|
|
17
|
+
/**
|
|
18
|
+
* Base64 string to array decoding helper
|
|
19
|
+
* @param charNum
|
|
20
|
+
*/
|
|
21
|
+
private b64ToUint6;
|
|
22
|
+
}
|
|
23
23
|
//# sourceMappingURL=Base64Decode.d.ts.map
|
|
@@ -1,80 +1,80 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.0.0-
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-beta.0 2023-06-19 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { Constants } from '@azure/msal-common';
|
|
4
4
|
import { BrowserStringUtils } from '../utils/BrowserStringUtils.js';
|
|
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/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
13
|
-
*/
|
|
14
|
-
class Base64Decode {
|
|
15
|
-
/**
|
|
16
|
-
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
17
|
-
* @param input
|
|
18
|
-
*/
|
|
19
|
-
decode(input) {
|
|
20
|
-
let encodedString = input.replace(/-/g, "+").replace(/_/g, "/");
|
|
21
|
-
switch (encodedString.length % 4) {
|
|
22
|
-
case 0:
|
|
23
|
-
break;
|
|
24
|
-
case 2:
|
|
25
|
-
encodedString += "==";
|
|
26
|
-
break;
|
|
27
|
-
case 3:
|
|
28
|
-
encodedString += "=";
|
|
29
|
-
break;
|
|
30
|
-
default:
|
|
31
|
-
throw new Error("Invalid base64 string");
|
|
32
|
-
}
|
|
33
|
-
const inputUtf8Arr = this.base64DecToArr(encodedString);
|
|
34
|
-
return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Decodes base64 into Uint8Array
|
|
38
|
-
* @param base64String
|
|
39
|
-
* @param nBlockSize
|
|
40
|
-
*/
|
|
41
|
-
base64DecToArr(base64String, nBlockSize) {
|
|
42
|
-
const sB64Enc = base64String.replace(/[^A-Za-z0-9\+\/]/g, Constants.EMPTY_STRING);
|
|
43
|
-
const nInLen = sB64Enc.length;
|
|
44
|
-
const nOutLen = nBlockSize
|
|
45
|
-
? Math.ceil(((nInLen * 3 + 1) >>> 2) / nBlockSize) * nBlockSize
|
|
46
|
-
: (nInLen * 3 + 1) >>> 2;
|
|
47
|
-
const aBytes = new Uint8Array(nOutLen);
|
|
48
|
-
for (let nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {
|
|
49
|
-
nMod4 = nInIdx & 3;
|
|
50
|
-
nUint24 |=
|
|
51
|
-
this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << (18 - 6 * nMod4);
|
|
52
|
-
if (nMod4 === 3 || nInLen - nInIdx === 1) {
|
|
53
|
-
for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
|
|
54
|
-
aBytes[nOutIdx] = (nUint24 >>> ((16 >>> nMod3) & 24)) & 255;
|
|
55
|
-
}
|
|
56
|
-
nUint24 = 0;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return aBytes;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Base64 string to array decoding helper
|
|
63
|
-
* @param charNum
|
|
64
|
-
*/
|
|
65
|
-
b64ToUint6(charNum) {
|
|
66
|
-
return charNum > 64 && charNum < 91
|
|
67
|
-
? charNum - 65
|
|
68
|
-
: charNum > 96 && charNum < 123
|
|
69
|
-
? charNum - 71
|
|
70
|
-
: charNum > 47 && charNum < 58
|
|
71
|
-
? charNum + 4
|
|
72
|
-
: charNum === 43
|
|
73
|
-
? 62
|
|
74
|
-
: charNum === 47
|
|
75
|
-
? 63
|
|
76
|
-
: 0;
|
|
77
|
-
}
|
|
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/Web/API/WindowBase64/Base64_encoding_and_decoding#Solution_2_%E2%80%93_JavaScript's_UTF-16_%3E_UTF-8_%3E_base64
|
|
13
|
+
*/
|
|
14
|
+
class Base64Decode {
|
|
15
|
+
/**
|
|
16
|
+
* Returns a URL-safe plaintext decoded string from b64 encoded input.
|
|
17
|
+
* @param input
|
|
18
|
+
*/
|
|
19
|
+
decode(input) {
|
|
20
|
+
let encodedString = input.replace(/-/g, "+").replace(/_/g, "/");
|
|
21
|
+
switch (encodedString.length % 4) {
|
|
22
|
+
case 0:
|
|
23
|
+
break;
|
|
24
|
+
case 2:
|
|
25
|
+
encodedString += "==";
|
|
26
|
+
break;
|
|
27
|
+
case 3:
|
|
28
|
+
encodedString += "=";
|
|
29
|
+
break;
|
|
30
|
+
default:
|
|
31
|
+
throw new Error("Invalid base64 string");
|
|
32
|
+
}
|
|
33
|
+
const inputUtf8Arr = this.base64DecToArr(encodedString);
|
|
34
|
+
return BrowserStringUtils.utf8ArrToString(inputUtf8Arr);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Decodes base64 into Uint8Array
|
|
38
|
+
* @param base64String
|
|
39
|
+
* @param nBlockSize
|
|
40
|
+
*/
|
|
41
|
+
base64DecToArr(base64String, nBlockSize) {
|
|
42
|
+
const sB64Enc = base64String.replace(/[^A-Za-z0-9\+\/]/g, Constants.EMPTY_STRING);
|
|
43
|
+
const nInLen = sB64Enc.length;
|
|
44
|
+
const nOutLen = nBlockSize
|
|
45
|
+
? Math.ceil(((nInLen * 3 + 1) >>> 2) / nBlockSize) * nBlockSize
|
|
46
|
+
: (nInLen * 3 + 1) >>> 2;
|
|
47
|
+
const aBytes = new Uint8Array(nOutLen);
|
|
48
|
+
for (let nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {
|
|
49
|
+
nMod4 = nInIdx & 3;
|
|
50
|
+
nUint24 |=
|
|
51
|
+
this.b64ToUint6(sB64Enc.charCodeAt(nInIdx)) << (18 - 6 * nMod4);
|
|
52
|
+
if (nMod4 === 3 || nInLen - nInIdx === 1) {
|
|
53
|
+
for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
|
|
54
|
+
aBytes[nOutIdx] = (nUint24 >>> ((16 >>> nMod3) & 24)) & 255;
|
|
55
|
+
}
|
|
56
|
+
nUint24 = 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return aBytes;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Base64 string to array decoding helper
|
|
63
|
+
* @param charNum
|
|
64
|
+
*/
|
|
65
|
+
b64ToUint6(charNum) {
|
|
66
|
+
return charNum > 64 && charNum < 91
|
|
67
|
+
? charNum - 65
|
|
68
|
+
: charNum > 96 && charNum < 123
|
|
69
|
+
? charNum - 71
|
|
70
|
+
: charNum > 47 && charNum < 58
|
|
71
|
+
? charNum + 4
|
|
72
|
+
: charNum === 43
|
|
73
|
+
? 62
|
|
74
|
+
: charNum === 47
|
|
75
|
+
? 63
|
|
76
|
+
: 0;
|
|
77
|
+
}
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
export { Base64Decode };
|
|
@@ -1,32 +1,32 @@
|
|
|
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
|
-
export declare class Base64Encode {
|
|
6
|
-
/**
|
|
7
|
-
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
8
|
-
* @param input
|
|
9
|
-
*/
|
|
10
|
-
urlEncode(input: string): string;
|
|
11
|
-
/**
|
|
12
|
-
* Returns URL Safe b64 encoded string from an int8Array.
|
|
13
|
-
* @param inputArr
|
|
14
|
-
*/
|
|
15
|
-
urlEncodeArr(inputArr: Uint8Array): string;
|
|
16
|
-
/**
|
|
17
|
-
* Returns b64 encoded string from plaintext string.
|
|
18
|
-
* @param input
|
|
19
|
-
*/
|
|
20
|
-
encode(input: string): string;
|
|
21
|
-
/**
|
|
22
|
-
* Base64 encode byte array
|
|
23
|
-
* @param aBytes
|
|
24
|
-
*/
|
|
25
|
-
private base64EncArr;
|
|
26
|
-
/**
|
|
27
|
-
* Base64 string to array encoding helper
|
|
28
|
-
* @param nUint6
|
|
29
|
-
*/
|
|
30
|
-
private uint6ToB64;
|
|
31
|
-
}
|
|
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
|
+
export declare class Base64Encode {
|
|
6
|
+
/**
|
|
7
|
+
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
8
|
+
* @param input
|
|
9
|
+
*/
|
|
10
|
+
urlEncode(input: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Returns URL Safe b64 encoded string from an int8Array.
|
|
13
|
+
* @param inputArr
|
|
14
|
+
*/
|
|
15
|
+
urlEncodeArr(inputArr: Uint8Array): string;
|
|
16
|
+
/**
|
|
17
|
+
* Returns b64 encoded string from plaintext string.
|
|
18
|
+
* @param input
|
|
19
|
+
*/
|
|
20
|
+
encode(input: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Base64 encode byte array
|
|
23
|
+
* @param aBytes
|
|
24
|
+
*/
|
|
25
|
+
private base64EncArr;
|
|
26
|
+
/**
|
|
27
|
+
* Base64 string to array encoding helper
|
|
28
|
+
* @param nUint6
|
|
29
|
+
*/
|
|
30
|
+
private uint6ToB64;
|
|
31
|
+
}
|
|
32
32
|
//# sourceMappingURL=Base64Encode.d.ts.map
|
|
@@ -1,86 +1,86 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.0.0-
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-beta.0 2023-06-19 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { Constants } from '@azure/msal-common';
|
|
4
4
|
import { BrowserStringUtils } from '../utils/BrowserStringUtils.js';
|
|
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 encode plaintext to base64 encoded string. See here for implementation details:
|
|
12
|
-
* 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
|
|
13
|
-
*/
|
|
14
|
-
class Base64Encode {
|
|
15
|
-
/**
|
|
16
|
-
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
17
|
-
* @param input
|
|
18
|
-
*/
|
|
19
|
-
urlEncode(input) {
|
|
20
|
-
return encodeURIComponent(this.encode(input)
|
|
21
|
-
.replace(/=/g, Constants.EMPTY_STRING)
|
|
22
|
-
.replace(/\+/g, "-")
|
|
23
|
-
.replace(/\//g, "_"));
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Returns URL Safe b64 encoded string from an int8Array.
|
|
27
|
-
* @param inputArr
|
|
28
|
-
*/
|
|
29
|
-
urlEncodeArr(inputArr) {
|
|
30
|
-
return this.base64EncArr(inputArr)
|
|
31
|
-
.replace(/=/g, Constants.EMPTY_STRING)
|
|
32
|
-
.replace(/\+/g, "-")
|
|
33
|
-
.replace(/\//g, "_");
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Returns b64 encoded string from plaintext string.
|
|
37
|
-
* @param input
|
|
38
|
-
*/
|
|
39
|
-
encode(input) {
|
|
40
|
-
const inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);
|
|
41
|
-
return this.base64EncArr(inputUtf8Arr);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Base64 encode byte array
|
|
45
|
-
* @param aBytes
|
|
46
|
-
*/
|
|
47
|
-
base64EncArr(aBytes) {
|
|
48
|
-
const eqLen = (3 - (aBytes.length % 3)) % 3;
|
|
49
|
-
let sB64Enc = Constants.EMPTY_STRING;
|
|
50
|
-
for (let nMod3, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {
|
|
51
|
-
nMod3 = nIdx % 3;
|
|
52
|
-
/* Uncomment the following line in order to split the output in lines 76-character long: */
|
|
53
|
-
/*
|
|
54
|
-
*if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += "\r\n"; }
|
|
55
|
-
*/
|
|
56
|
-
nUint24 |= aBytes[nIdx] << ((16 >>> nMod3) & 24);
|
|
57
|
-
if (nMod3 === 2 || aBytes.length - nIdx === 1) {
|
|
58
|
-
sB64Enc += String.fromCharCode(this.uint6ToB64((nUint24 >>> 18) & 63), this.uint6ToB64((nUint24 >>> 12) & 63), this.uint6ToB64((nUint24 >>> 6) & 63), this.uint6ToB64(nUint24 & 63));
|
|
59
|
-
nUint24 = 0;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return eqLen === 0
|
|
63
|
-
? sB64Enc
|
|
64
|
-
: sB64Enc.substring(0, sB64Enc.length - eqLen) +
|
|
65
|
-
(eqLen === 1 ? "=" : "==");
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Base64 string to array encoding helper
|
|
69
|
-
* @param nUint6
|
|
70
|
-
*/
|
|
71
|
-
uint6ToB64(nUint6) {
|
|
72
|
-
return nUint6 < 26
|
|
73
|
-
? nUint6 + 65
|
|
74
|
-
: nUint6 < 52
|
|
75
|
-
? nUint6 + 71
|
|
76
|
-
: nUint6 < 62
|
|
77
|
-
? nUint6 - 4
|
|
78
|
-
: nUint6 === 62
|
|
79
|
-
? 43
|
|
80
|
-
: nUint6 === 63
|
|
81
|
-
? 47
|
|
82
|
-
: 65;
|
|
83
|
-
}
|
|
6
|
+
/*
|
|
7
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
|
+
* Licensed under the MIT License.
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Class which exposes APIs to encode plaintext to base64 encoded string. See here for implementation details:
|
|
12
|
+
* 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
|
|
13
|
+
*/
|
|
14
|
+
class Base64Encode {
|
|
15
|
+
/**
|
|
16
|
+
* Returns URL Safe b64 encoded string from a plaintext string.
|
|
17
|
+
* @param input
|
|
18
|
+
*/
|
|
19
|
+
urlEncode(input) {
|
|
20
|
+
return encodeURIComponent(this.encode(input)
|
|
21
|
+
.replace(/=/g, Constants.EMPTY_STRING)
|
|
22
|
+
.replace(/\+/g, "-")
|
|
23
|
+
.replace(/\//g, "_"));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns URL Safe b64 encoded string from an int8Array.
|
|
27
|
+
* @param inputArr
|
|
28
|
+
*/
|
|
29
|
+
urlEncodeArr(inputArr) {
|
|
30
|
+
return this.base64EncArr(inputArr)
|
|
31
|
+
.replace(/=/g, Constants.EMPTY_STRING)
|
|
32
|
+
.replace(/\+/g, "-")
|
|
33
|
+
.replace(/\//g, "_");
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Returns b64 encoded string from plaintext string.
|
|
37
|
+
* @param input
|
|
38
|
+
*/
|
|
39
|
+
encode(input) {
|
|
40
|
+
const inputUtf8Arr = BrowserStringUtils.stringToUtf8Arr(input);
|
|
41
|
+
return this.base64EncArr(inputUtf8Arr);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Base64 encode byte array
|
|
45
|
+
* @param aBytes
|
|
46
|
+
*/
|
|
47
|
+
base64EncArr(aBytes) {
|
|
48
|
+
const eqLen = (3 - (aBytes.length % 3)) % 3;
|
|
49
|
+
let sB64Enc = Constants.EMPTY_STRING;
|
|
50
|
+
for (let nMod3, nLen = aBytes.length, nUint24 = 0, nIdx = 0; nIdx < nLen; nIdx++) {
|
|
51
|
+
nMod3 = nIdx % 3;
|
|
52
|
+
/* Uncomment the following line in order to split the output in lines 76-character long: */
|
|
53
|
+
/*
|
|
54
|
+
*if (nIdx > 0 && (nIdx * 4 / 3) % 76 === 0) { sB64Enc += "\r\n"; }
|
|
55
|
+
*/
|
|
56
|
+
nUint24 |= aBytes[nIdx] << ((16 >>> nMod3) & 24);
|
|
57
|
+
if (nMod3 === 2 || aBytes.length - nIdx === 1) {
|
|
58
|
+
sB64Enc += String.fromCharCode(this.uint6ToB64((nUint24 >>> 18) & 63), this.uint6ToB64((nUint24 >>> 12) & 63), this.uint6ToB64((nUint24 >>> 6) & 63), this.uint6ToB64(nUint24 & 63));
|
|
59
|
+
nUint24 = 0;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return eqLen === 0
|
|
63
|
+
? sB64Enc
|
|
64
|
+
: sB64Enc.substring(0, sB64Enc.length - eqLen) +
|
|
65
|
+
(eqLen === 1 ? "=" : "==");
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Base64 string to array encoding helper
|
|
69
|
+
* @param nUint6
|
|
70
|
+
*/
|
|
71
|
+
uint6ToB64(nUint6) {
|
|
72
|
+
return nUint6 < 26
|
|
73
|
+
? nUint6 + 65
|
|
74
|
+
: nUint6 < 52
|
|
75
|
+
? nUint6 + 71
|
|
76
|
+
: nUint6 < 62
|
|
77
|
+
? nUint6 - 4
|
|
78
|
+
: nUint6 === 62
|
|
79
|
+
? 43
|
|
80
|
+
: nUint6 === 63
|
|
81
|
+
? 47
|
|
82
|
+
: 65;
|
|
83
|
+
}
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
export { Base64Encode };
|