@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,155 +1,155 @@
|
|
|
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
|
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
-
* Licensed under the MIT License.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Utility functions for strings in a browser. See here for implementation details:
|
|
11
|
-
* 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
|
|
12
|
-
*/
|
|
13
|
-
class BrowserStringUtils {
|
|
14
|
-
/**
|
|
15
|
-
* Converts string to Uint8Array
|
|
16
|
-
* @param sDOMStr
|
|
17
|
-
*/
|
|
18
|
-
static stringToUtf8Arr(sDOMStr) {
|
|
19
|
-
let nChr;
|
|
20
|
-
let nArrLen = 0;
|
|
21
|
-
const nStrLen = sDOMStr.length;
|
|
22
|
-
/* mapping... */
|
|
23
|
-
for (let nMapIdx = 0; nMapIdx < nStrLen; nMapIdx++) {
|
|
24
|
-
nChr = sDOMStr.charCodeAt(nMapIdx);
|
|
25
|
-
nArrLen +=
|
|
26
|
-
nChr < 0x80
|
|
27
|
-
? 1
|
|
28
|
-
: nChr < 0x800
|
|
29
|
-
? 2
|
|
30
|
-
: nChr < 0x10000
|
|
31
|
-
? 3
|
|
32
|
-
: nChr < 0x200000
|
|
33
|
-
? 4
|
|
34
|
-
: nChr < 0x4000000
|
|
35
|
-
? 5
|
|
36
|
-
: 6;
|
|
37
|
-
}
|
|
38
|
-
const aBytes = new Uint8Array(nArrLen);
|
|
39
|
-
/* transcription... */
|
|
40
|
-
for (let nIdx = 0, nChrIdx = 0; nIdx < nArrLen; nChrIdx++) {
|
|
41
|
-
nChr = sDOMStr.charCodeAt(nChrIdx);
|
|
42
|
-
if (nChr < 128) {
|
|
43
|
-
/* one byte */
|
|
44
|
-
aBytes[nIdx++] = nChr;
|
|
45
|
-
}
|
|
46
|
-
else if (nChr < 0x800) {
|
|
47
|
-
/* two bytes */
|
|
48
|
-
aBytes[nIdx++] = 192 + (nChr >>> 6);
|
|
49
|
-
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
50
|
-
}
|
|
51
|
-
else if (nChr < 0x10000) {
|
|
52
|
-
/* three bytes */
|
|
53
|
-
aBytes[nIdx++] = 224 + (nChr >>> 12);
|
|
54
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
55
|
-
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
56
|
-
}
|
|
57
|
-
else if (nChr < 0x200000) {
|
|
58
|
-
/* four bytes */
|
|
59
|
-
aBytes[nIdx++] = 240 + (nChr >>> 18);
|
|
60
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);
|
|
61
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
62
|
-
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
63
|
-
}
|
|
64
|
-
else if (nChr < 0x4000000) {
|
|
65
|
-
/* five bytes */
|
|
66
|
-
aBytes[nIdx++] = 248 + (nChr >>> 24);
|
|
67
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 18) & 63);
|
|
68
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);
|
|
69
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
70
|
-
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
71
|
-
} /* if (nChr <= 0x7fffffff) */
|
|
72
|
-
else {
|
|
73
|
-
/* six bytes */
|
|
74
|
-
aBytes[nIdx++] = 252 + (nChr >>> 30);
|
|
75
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 24) & 63);
|
|
76
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 18) & 63);
|
|
77
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);
|
|
78
|
-
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
79
|
-
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return aBytes;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Converst string to ArrayBuffer
|
|
86
|
-
* @param dataString
|
|
87
|
-
*/
|
|
88
|
-
static stringToArrayBuffer(dataString) {
|
|
89
|
-
const data = new ArrayBuffer(dataString.length);
|
|
90
|
-
const dataView = new Uint8Array(data);
|
|
91
|
-
for (let i = 0; i < dataString.length; i++) {
|
|
92
|
-
dataView[i] = dataString.charCodeAt(i);
|
|
93
|
-
}
|
|
94
|
-
return data;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Converts Uint8Array to a string
|
|
98
|
-
* @param aBytes
|
|
99
|
-
*/
|
|
100
|
-
static utf8ArrToString(aBytes) {
|
|
101
|
-
let sView = Constants.EMPTY_STRING;
|
|
102
|
-
for (let nPart, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {
|
|
103
|
-
nPart = aBytes[nIdx];
|
|
104
|
-
sView += String.fromCharCode(nPart > 251 && nPart < 254 && nIdx + 5 < nLen /* six bytes */
|
|
105
|
-
? /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */
|
|
106
|
-
(nPart - 252) * 1073741824 +
|
|
107
|
-
((aBytes[++nIdx] - 128) << 24) +
|
|
108
|
-
((aBytes[++nIdx] - 128) << 18) +
|
|
109
|
-
((aBytes[++nIdx] - 128) << 12) +
|
|
110
|
-
((aBytes[++nIdx] - 128) << 6) +
|
|
111
|
-
aBytes[++nIdx] -
|
|
112
|
-
128
|
|
113
|
-
: nPart > 247 &&
|
|
114
|
-
nPart < 252 &&
|
|
115
|
-
nIdx + 4 < nLen /* five bytes */
|
|
116
|
-
? ((nPart - 248) << 24) +
|
|
117
|
-
((aBytes[++nIdx] - 128) << 18) +
|
|
118
|
-
((aBytes[++nIdx] - 128) << 12) +
|
|
119
|
-
((aBytes[++nIdx] - 128) << 6) +
|
|
120
|
-
aBytes[++nIdx] -
|
|
121
|
-
128
|
|
122
|
-
: nPart > 239 &&
|
|
123
|
-
nPart < 248 &&
|
|
124
|
-
nIdx + 3 < nLen /* four bytes */
|
|
125
|
-
? ((nPart - 240) << 18) +
|
|
126
|
-
((aBytes[++nIdx] - 128) << 12) +
|
|
127
|
-
((aBytes[++nIdx] - 128) << 6) +
|
|
128
|
-
aBytes[++nIdx] -
|
|
129
|
-
128
|
|
130
|
-
: nPart > 223 &&
|
|
131
|
-
nPart < 240 &&
|
|
132
|
-
nIdx + 2 < nLen /* three bytes */
|
|
133
|
-
? ((nPart - 224) << 12) +
|
|
134
|
-
((aBytes[++nIdx] - 128) << 6) +
|
|
135
|
-
aBytes[++nIdx] -
|
|
136
|
-
128
|
|
137
|
-
: nPart > 191 &&
|
|
138
|
-
nPart < 224 &&
|
|
139
|
-
nIdx + 1 < nLen /* two bytes */
|
|
140
|
-
? ((nPart - 192) << 6) + aBytes[++nIdx] - 128
|
|
141
|
-
: /* nPart < 127 ? */ /* one byte */
|
|
142
|
-
nPart);
|
|
143
|
-
}
|
|
144
|
-
return sView;
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Returns stringified jwk.
|
|
148
|
-
* @param jwk
|
|
149
|
-
*/
|
|
150
|
-
static getSortedObjectString(obj) {
|
|
151
|
-
return JSON.stringify(obj, Object.keys(obj).sort());
|
|
152
|
-
}
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
+
* Licensed under the MIT License.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Utility functions for strings in a browser. See here for implementation details:
|
|
11
|
+
* 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
|
|
12
|
+
*/
|
|
13
|
+
class BrowserStringUtils {
|
|
14
|
+
/**
|
|
15
|
+
* Converts string to Uint8Array
|
|
16
|
+
* @param sDOMStr
|
|
17
|
+
*/
|
|
18
|
+
static stringToUtf8Arr(sDOMStr) {
|
|
19
|
+
let nChr;
|
|
20
|
+
let nArrLen = 0;
|
|
21
|
+
const nStrLen = sDOMStr.length;
|
|
22
|
+
/* mapping... */
|
|
23
|
+
for (let nMapIdx = 0; nMapIdx < nStrLen; nMapIdx++) {
|
|
24
|
+
nChr = sDOMStr.charCodeAt(nMapIdx);
|
|
25
|
+
nArrLen +=
|
|
26
|
+
nChr < 0x80
|
|
27
|
+
? 1
|
|
28
|
+
: nChr < 0x800
|
|
29
|
+
? 2
|
|
30
|
+
: nChr < 0x10000
|
|
31
|
+
? 3
|
|
32
|
+
: nChr < 0x200000
|
|
33
|
+
? 4
|
|
34
|
+
: nChr < 0x4000000
|
|
35
|
+
? 5
|
|
36
|
+
: 6;
|
|
37
|
+
}
|
|
38
|
+
const aBytes = new Uint8Array(nArrLen);
|
|
39
|
+
/* transcription... */
|
|
40
|
+
for (let nIdx = 0, nChrIdx = 0; nIdx < nArrLen; nChrIdx++) {
|
|
41
|
+
nChr = sDOMStr.charCodeAt(nChrIdx);
|
|
42
|
+
if (nChr < 128) {
|
|
43
|
+
/* one byte */
|
|
44
|
+
aBytes[nIdx++] = nChr;
|
|
45
|
+
}
|
|
46
|
+
else if (nChr < 0x800) {
|
|
47
|
+
/* two bytes */
|
|
48
|
+
aBytes[nIdx++] = 192 + (nChr >>> 6);
|
|
49
|
+
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
50
|
+
}
|
|
51
|
+
else if (nChr < 0x10000) {
|
|
52
|
+
/* three bytes */
|
|
53
|
+
aBytes[nIdx++] = 224 + (nChr >>> 12);
|
|
54
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
55
|
+
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
56
|
+
}
|
|
57
|
+
else if (nChr < 0x200000) {
|
|
58
|
+
/* four bytes */
|
|
59
|
+
aBytes[nIdx++] = 240 + (nChr >>> 18);
|
|
60
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);
|
|
61
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
62
|
+
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
63
|
+
}
|
|
64
|
+
else if (nChr < 0x4000000) {
|
|
65
|
+
/* five bytes */
|
|
66
|
+
aBytes[nIdx++] = 248 + (nChr >>> 24);
|
|
67
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 18) & 63);
|
|
68
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);
|
|
69
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
70
|
+
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
71
|
+
} /* if (nChr <= 0x7fffffff) */
|
|
72
|
+
else {
|
|
73
|
+
/* six bytes */
|
|
74
|
+
aBytes[nIdx++] = 252 + (nChr >>> 30);
|
|
75
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 24) & 63);
|
|
76
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 18) & 63);
|
|
77
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 12) & 63);
|
|
78
|
+
aBytes[nIdx++] = 128 + ((nChr >>> 6) & 63);
|
|
79
|
+
aBytes[nIdx++] = 128 + (nChr & 63);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return aBytes;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Converst string to ArrayBuffer
|
|
86
|
+
* @param dataString
|
|
87
|
+
*/
|
|
88
|
+
static stringToArrayBuffer(dataString) {
|
|
89
|
+
const data = new ArrayBuffer(dataString.length);
|
|
90
|
+
const dataView = new Uint8Array(data);
|
|
91
|
+
for (let i = 0; i < dataString.length; i++) {
|
|
92
|
+
dataView[i] = dataString.charCodeAt(i);
|
|
93
|
+
}
|
|
94
|
+
return data;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Converts Uint8Array to a string
|
|
98
|
+
* @param aBytes
|
|
99
|
+
*/
|
|
100
|
+
static utf8ArrToString(aBytes) {
|
|
101
|
+
let sView = Constants.EMPTY_STRING;
|
|
102
|
+
for (let nPart, nLen = aBytes.length, nIdx = 0; nIdx < nLen; nIdx++) {
|
|
103
|
+
nPart = aBytes[nIdx];
|
|
104
|
+
sView += String.fromCharCode(nPart > 251 && nPart < 254 && nIdx + 5 < nLen /* six bytes */
|
|
105
|
+
? /* (nPart - 252 << 30) may be not so safe in ECMAScript! So...: */
|
|
106
|
+
(nPart - 252) * 1073741824 +
|
|
107
|
+
((aBytes[++nIdx] - 128) << 24) +
|
|
108
|
+
((aBytes[++nIdx] - 128) << 18) +
|
|
109
|
+
((aBytes[++nIdx] - 128) << 12) +
|
|
110
|
+
((aBytes[++nIdx] - 128) << 6) +
|
|
111
|
+
aBytes[++nIdx] -
|
|
112
|
+
128
|
|
113
|
+
: nPart > 247 &&
|
|
114
|
+
nPart < 252 &&
|
|
115
|
+
nIdx + 4 < nLen /* five bytes */
|
|
116
|
+
? ((nPart - 248) << 24) +
|
|
117
|
+
((aBytes[++nIdx] - 128) << 18) +
|
|
118
|
+
((aBytes[++nIdx] - 128) << 12) +
|
|
119
|
+
((aBytes[++nIdx] - 128) << 6) +
|
|
120
|
+
aBytes[++nIdx] -
|
|
121
|
+
128
|
|
122
|
+
: nPart > 239 &&
|
|
123
|
+
nPart < 248 &&
|
|
124
|
+
nIdx + 3 < nLen /* four bytes */
|
|
125
|
+
? ((nPart - 240) << 18) +
|
|
126
|
+
((aBytes[++nIdx] - 128) << 12) +
|
|
127
|
+
((aBytes[++nIdx] - 128) << 6) +
|
|
128
|
+
aBytes[++nIdx] -
|
|
129
|
+
128
|
|
130
|
+
: nPart > 223 &&
|
|
131
|
+
nPart < 240 &&
|
|
132
|
+
nIdx + 2 < nLen /* three bytes */
|
|
133
|
+
? ((nPart - 224) << 12) +
|
|
134
|
+
((aBytes[++nIdx] - 128) << 6) +
|
|
135
|
+
aBytes[++nIdx] -
|
|
136
|
+
128
|
|
137
|
+
: nPart > 191 &&
|
|
138
|
+
nPart < 224 &&
|
|
139
|
+
nIdx + 1 < nLen /* two bytes */
|
|
140
|
+
? ((nPart - 192) << 6) + aBytes[++nIdx] - 128
|
|
141
|
+
: /* nPart < 127 ? */ /* one byte */
|
|
142
|
+
nPart);
|
|
143
|
+
}
|
|
144
|
+
return sView;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Returns stringified jwk.
|
|
148
|
+
* @param jwk
|
|
149
|
+
*/
|
|
150
|
+
static getSortedObjectString(obj) {
|
|
151
|
+
return JSON.stringify(obj, Object.keys(obj).sort());
|
|
152
|
+
}
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
export { BrowserStringUtils };
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
import { INetworkModule } from "@azure/msal-common";
|
|
2
|
-
import { InteractionType } from "./BrowserConstants";
|
|
3
|
-
/**
|
|
4
|
-
* Utility class for browser specific functions
|
|
5
|
-
*/
|
|
6
|
-
export declare class BrowserUtils {
|
|
7
|
-
/**
|
|
8
|
-
* Clears hash from window url.
|
|
9
|
-
*/
|
|
10
|
-
static clearHash(contentWindow: Window): void;
|
|
11
|
-
/**
|
|
12
|
-
* Replaces current hash with hash from provided url
|
|
13
|
-
*/
|
|
14
|
-
static replaceHash(url: string): void;
|
|
15
|
-
/**
|
|
16
|
-
* Returns boolean of whether the current window is in an iframe or not.
|
|
17
|
-
*/
|
|
18
|
-
static isInIframe(): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Returns boolean of whether or not the current window is a popup opened by msal
|
|
21
|
-
*/
|
|
22
|
-
static isInPopup(): boolean;
|
|
23
|
-
/**
|
|
24
|
-
* Returns current window URL as redirect uri
|
|
25
|
-
*/
|
|
26
|
-
static getCurrentUri(): string;
|
|
27
|
-
/**
|
|
28
|
-
* Gets the homepage url for the current window location.
|
|
29
|
-
*/
|
|
30
|
-
static getHomepage(): string;
|
|
31
|
-
/**
|
|
32
|
-
* Returns best compatible network client object.
|
|
33
|
-
*/
|
|
34
|
-
static getBrowserNetworkClient(): INetworkModule;
|
|
35
|
-
/**
|
|
36
|
-
* Throws error if we have completed an auth and are
|
|
37
|
-
* attempting another auth request inside an iframe.
|
|
38
|
-
*/
|
|
39
|
-
static blockReloadInHiddenIframes(): void;
|
|
40
|
-
/**
|
|
41
|
-
* Block redirect operations in iframes unless explicitly allowed
|
|
42
|
-
* @param interactionType Interaction type for the request
|
|
43
|
-
* @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe
|
|
44
|
-
*/
|
|
45
|
-
static blockRedirectInIframe(interactionType: InteractionType, allowRedirectInIframe: boolean): void;
|
|
46
|
-
/**
|
|
47
|
-
* Block redirectUri loaded in popup from calling AcquireToken APIs
|
|
48
|
-
*/
|
|
49
|
-
static blockAcquireTokenInPopups(): void;
|
|
50
|
-
/**
|
|
51
|
-
* Throws error if token requests are made in non-browser environment
|
|
52
|
-
* @param isBrowserEnvironment Flag indicating if environment is a browser.
|
|
53
|
-
*/
|
|
54
|
-
static blockNonBrowserEnvironment(isBrowserEnvironment: boolean): void;
|
|
55
|
-
/**
|
|
56
|
-
* Throws error if native brokering is enabled but initialize hasn't been called
|
|
57
|
-
* @param allowNativeBroker
|
|
58
|
-
* @param initialized
|
|
59
|
-
*/
|
|
60
|
-
static blockNativeBrokerCalledBeforeInitialized(allowNativeBroker: boolean, initialized: boolean): void;
|
|
61
|
-
/**
|
|
62
|
-
* Returns boolean of whether current browser is an Internet Explorer or Edge browser.
|
|
63
|
-
*/
|
|
64
|
-
static detectIEOrEdge(): boolean;
|
|
65
|
-
}
|
|
1
|
+
import { INetworkModule } from "@azure/msal-common";
|
|
2
|
+
import { InteractionType } from "./BrowserConstants";
|
|
3
|
+
/**
|
|
4
|
+
* Utility class for browser specific functions
|
|
5
|
+
*/
|
|
6
|
+
export declare class BrowserUtils {
|
|
7
|
+
/**
|
|
8
|
+
* Clears hash from window url.
|
|
9
|
+
*/
|
|
10
|
+
static clearHash(contentWindow: Window): void;
|
|
11
|
+
/**
|
|
12
|
+
* Replaces current hash with hash from provided url
|
|
13
|
+
*/
|
|
14
|
+
static replaceHash(url: string): void;
|
|
15
|
+
/**
|
|
16
|
+
* Returns boolean of whether the current window is in an iframe or not.
|
|
17
|
+
*/
|
|
18
|
+
static isInIframe(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Returns boolean of whether or not the current window is a popup opened by msal
|
|
21
|
+
*/
|
|
22
|
+
static isInPopup(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Returns current window URL as redirect uri
|
|
25
|
+
*/
|
|
26
|
+
static getCurrentUri(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the homepage url for the current window location.
|
|
29
|
+
*/
|
|
30
|
+
static getHomepage(): string;
|
|
31
|
+
/**
|
|
32
|
+
* Returns best compatible network client object.
|
|
33
|
+
*/
|
|
34
|
+
static getBrowserNetworkClient(): INetworkModule;
|
|
35
|
+
/**
|
|
36
|
+
* Throws error if we have completed an auth and are
|
|
37
|
+
* attempting another auth request inside an iframe.
|
|
38
|
+
*/
|
|
39
|
+
static blockReloadInHiddenIframes(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Block redirect operations in iframes unless explicitly allowed
|
|
42
|
+
* @param interactionType Interaction type for the request
|
|
43
|
+
* @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe
|
|
44
|
+
*/
|
|
45
|
+
static blockRedirectInIframe(interactionType: InteractionType, allowRedirectInIframe: boolean): void;
|
|
46
|
+
/**
|
|
47
|
+
* Block redirectUri loaded in popup from calling AcquireToken APIs
|
|
48
|
+
*/
|
|
49
|
+
static blockAcquireTokenInPopups(): void;
|
|
50
|
+
/**
|
|
51
|
+
* Throws error if token requests are made in non-browser environment
|
|
52
|
+
* @param isBrowserEnvironment Flag indicating if environment is a browser.
|
|
53
|
+
*/
|
|
54
|
+
static blockNonBrowserEnvironment(isBrowserEnvironment: boolean): void;
|
|
55
|
+
/**
|
|
56
|
+
* Throws error if native brokering is enabled but initialize hasn't been called
|
|
57
|
+
* @param allowNativeBroker
|
|
58
|
+
* @param initialized
|
|
59
|
+
*/
|
|
60
|
+
static blockNativeBrokerCalledBeforeInitialized(allowNativeBroker: boolean, initialized: boolean): void;
|
|
61
|
+
/**
|
|
62
|
+
* Returns boolean of whether current browser is an Internet Explorer or Edge browser.
|
|
63
|
+
*/
|
|
64
|
+
static detectIEOrEdge(): boolean;
|
|
65
|
+
}
|
|
66
66
|
//# sourceMappingURL=BrowserUtils.d.ts.map
|