@azure/msal-browser 3.4.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.
Files changed (231) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +51 -51
  2. package/dist/app/IPublicClientApplication.mjs +102 -102
  3. package/dist/app/PublicClientApplication.d.ts +268 -268
  4. package/dist/app/PublicClientApplication.mjs +333 -333
  5. package/dist/app/PublicClientNext.d.ts +273 -273
  6. package/dist/app/PublicClientNext.mjs +351 -351
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  8. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  12. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  13. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  14. package/dist/cache/AsyncMemoryStorage.mjs +132 -132
  15. package/dist/cache/BrowserCacheManager.d.ts +383 -383
  16. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  17. package/dist/cache/BrowserCacheManager.mjs +1264 -1264
  18. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  19. package/dist/cache/BrowserStorage.d.ts +11 -11
  20. package/dist/cache/BrowserStorage.mjs +32 -32
  21. package/dist/cache/CryptoKeyStore.d.ts +18 -18
  22. package/dist/cache/CryptoKeyStore.mjs +40 -40
  23. package/dist/cache/DatabaseStorage.d.ts +56 -56
  24. package/dist/cache/DatabaseStorage.mjs +190 -190
  25. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  26. package/dist/cache/ITokenCache.d.ts +11 -11
  27. package/dist/cache/IWindowStorage.d.ts +27 -27
  28. package/dist/cache/MemoryStorage.d.ts +11 -11
  29. package/dist/cache/MemoryStorage.mjs +31 -31
  30. package/dist/cache/TokenCache.d.ts +77 -77
  31. package/dist/cache/TokenCache.mjs +224 -224
  32. package/dist/config/Configuration.d.ts +206 -206
  33. package/dist/config/Configuration.mjs +128 -128
  34. package/dist/controllers/ControllerFactory.d.ts +4 -4
  35. package/dist/controllers/ControllerFactory.mjs +29 -29
  36. package/dist/controllers/IController.d.ts +61 -61
  37. package/dist/controllers/NestedAppAuthController.d.ts +95 -95
  38. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  39. package/dist/controllers/NestedAppAuthController.mjs +335 -333
  40. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  41. package/dist/controllers/StandardController.d.ts +407 -407
  42. package/dist/controllers/StandardController.d.ts.map +1 -1
  43. package/dist/controllers/StandardController.mjs +1294 -1291
  44. package/dist/controllers/StandardController.mjs.map +1 -1
  45. package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
  46. package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
  47. package/dist/crypto/BrowserCrypto.d.ts +44 -44
  48. package/dist/crypto/BrowserCrypto.mjs +93 -93
  49. package/dist/crypto/CryptoOps.d.ts +63 -63
  50. package/dist/crypto/CryptoOps.d.ts.map +1 -1
  51. package/dist/crypto/CryptoOps.mjs +145 -144
  52. package/dist/crypto/CryptoOps.mjs.map +1 -1
  53. package/dist/crypto/PkceGenerator.d.ts +8 -8
  54. package/dist/crypto/PkceGenerator.mjs +54 -54
  55. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  56. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  57. package/dist/encode/Base64Decode.d.ts +9 -9
  58. package/dist/encode/Base64Decode.mjs +36 -36
  59. package/dist/encode/Base64Encode.d.ts +19 -19
  60. package/dist/encode/Base64Encode.mjs +43 -43
  61. package/dist/error/BrowserAuthError.d.ts +250 -250
  62. package/dist/error/BrowserAuthError.mjs +258 -258
  63. package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
  64. package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
  65. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  66. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  67. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  68. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  69. package/dist/error/NativeAuthError.d.ts +29 -29
  70. package/dist/error/NativeAuthError.mjs +60 -60
  71. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  72. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  73. package/dist/error/NestedAppAuthError.d.ts +14 -14
  74. package/dist/error/NestedAppAuthError.mjs +23 -23
  75. package/dist/event/EventHandler.d.ts +41 -41
  76. package/dist/event/EventHandler.mjs +119 -119
  77. package/dist/event/EventMessage.d.ts +25 -25
  78. package/dist/event/EventMessage.mjs +68 -68
  79. package/dist/event/EventType.d.ts +28 -28
  80. package/dist/event/EventType.mjs +31 -31
  81. package/dist/index.d.ts +39 -39
  82. package/dist/index.d.ts.map +1 -1
  83. package/dist/index.mjs +2 -2
  84. package/dist/interaction_client/BaseInteractionClient.d.ts +54 -55
  85. package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  86. package/dist/interaction_client/BaseInteractionClient.mjs +152 -153
  87. package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
  88. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  89. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  90. package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
  91. package/dist/interaction_client/NativeInteractionClient.mjs +548 -548
  92. package/dist/interaction_client/PopupClient.d.ts +105 -115
  93. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  94. package/dist/interaction_client/PopupClient.mjs +435 -505
  95. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  96. package/dist/interaction_client/RedirectClient.d.ts +49 -49
  97. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  98. package/dist/interaction_client/RedirectClient.mjs +314 -297
  99. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  100. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  101. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  102. package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
  103. package/dist/interaction_client/SilentCacheClient.mjs +61 -61
  104. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  105. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  106. package/dist/interaction_client/SilentIframeClient.mjs +99 -108
  107. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  108. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  109. package/dist/interaction_client/SilentRefreshClient.mjs +43 -43
  110. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -59
  111. package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  112. package/dist/interaction_client/StandardInteractionClient.mjs +222 -244
  113. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  114. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  115. package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
  116. package/dist/interaction_handler/InteractionHandler.mjs +94 -98
  117. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  118. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  119. package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
  120. package/dist/interaction_handler/RedirectHandler.mjs +135 -139
  121. package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
  122. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  123. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  124. package/dist/interaction_handler/SilentHandler.mjs +134 -128
  125. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  126. package/dist/naa/AccountInfo.d.ts +11 -12
  127. package/dist/naa/AccountInfo.d.ts.map +1 -1
  128. package/dist/naa/AccountRequests.d.ts +9 -9
  129. package/dist/naa/AuthBridge.d.ts +5 -5
  130. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  131. package/dist/naa/BridgeError.d.ts +9 -9
  132. package/dist/naa/BridgeError.d.ts.map +1 -1
  133. package/dist/naa/BridgeError.mjs +7 -7
  134. package/dist/naa/BridgeError.mjs.map +1 -1
  135. package/dist/naa/BridgeProxy.d.ts +72 -71
  136. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  137. package/dist/naa/BridgeProxy.mjs +152 -149
  138. package/dist/naa/BridgeProxy.mjs.map +1 -1
  139. package/dist/naa/BridgeRequest.d.ts +6 -6
  140. package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
  141. package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
  142. package/dist/naa/BridgeStatusCode.d.ts +10 -10
  143. package/dist/naa/BridgeStatusCode.mjs +15 -15
  144. package/dist/naa/IBridgeProxy.d.ts +12 -10
  145. package/dist/naa/IBridgeProxy.d.ts.map +1 -1
  146. package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
  147. package/dist/naa/InitializeBridgeResponse.d.ts.map +1 -1
  148. package/dist/naa/TokenRequest.d.ts +19 -21
  149. package/dist/naa/TokenRequest.d.ts.map +1 -1
  150. package/dist/naa/TokenResponse.d.ts +15 -16
  151. package/dist/naa/TokenResponse.d.ts.map +1 -1
  152. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -25
  153. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  154. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +142 -170
  155. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  156. package/dist/navigation/INavigationClient.d.ts +16 -16
  157. package/dist/navigation/NavigationClient.d.ts +22 -22
  158. package/dist/navigation/NavigationClient.mjs +40 -40
  159. package/dist/navigation/NavigationOptions.d.ts +12 -12
  160. package/dist/network/FetchClient.d.ts +26 -26
  161. package/dist/network/FetchClient.mjs +99 -99
  162. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  163. package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
  164. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  165. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  166. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  167. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts.map +1 -1
  168. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -82
  169. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  170. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  171. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  172. package/dist/packageMetadata.d.ts +2 -2
  173. package/dist/packageMetadata.mjs +4 -4
  174. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  175. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  176. package/dist/request/ClearCacheRequest.d.ts +10 -10
  177. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  178. package/dist/request/EndSessionRequest.d.ts +15 -15
  179. package/dist/request/PopupRequest.d.ts +34 -34
  180. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  181. package/dist/request/RedirectRequest.d.ts +35 -35
  182. package/dist/request/SilentRequest.d.ts +32 -32
  183. package/dist/request/SsoSilentRequest.d.ts +29 -29
  184. package/dist/response/AuthenticationResult.d.ts +4 -4
  185. package/dist/response/ResponseHandler.d.ts +8 -0
  186. package/dist/response/ResponseHandler.d.ts.map +1 -0
  187. package/dist/response/ResponseHandler.mjs +46 -0
  188. package/dist/response/ResponseHandler.mjs.map +1 -0
  189. package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
  190. package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
  191. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  192. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  193. package/dist/utils/BrowserConstants.d.ts +176 -176
  194. package/dist/utils/BrowserConstants.mjs +204 -204
  195. package/dist/utils/BrowserProtocolUtils.d.ts +11 -18
  196. package/dist/utils/BrowserProtocolUtils.d.ts.map +1 -1
  197. package/dist/utils/BrowserProtocolUtils.mjs +23 -36
  198. package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
  199. package/dist/utils/BrowserUtils.d.ts +56 -56
  200. package/dist/utils/BrowserUtils.mjs +125 -125
  201. package/lib/msal-browser.cjs +17926 -18062
  202. package/lib/msal-browser.cjs.map +1 -1
  203. package/lib/msal-browser.js +17926 -18062
  204. package/lib/msal-browser.js.map +1 -1
  205. package/lib/msal-browser.min.js +66 -65
  206. package/package.json +102 -102
  207. package/src/cache/BrowserCacheManager.ts +7 -10
  208. package/src/controllers/NestedAppAuthController.ts +8 -3
  209. package/src/controllers/StandardController.ts +31 -40
  210. package/src/crypto/CryptoOps.ts +5 -3
  211. package/src/index.ts +1 -0
  212. package/src/interaction_client/BaseInteractionClient.ts +1 -2
  213. package/src/interaction_client/PopupClient.ts +34 -137
  214. package/src/interaction_client/RedirectClient.ts +71 -55
  215. package/src/interaction_client/SilentIframeClient.ts +16 -27
  216. package/src/interaction_client/StandardInteractionClient.ts +2 -48
  217. package/src/interaction_handler/InteractionHandler.ts +5 -8
  218. package/src/interaction_handler/RedirectHandler.ts +4 -8
  219. package/src/interaction_handler/SilentHandler.ts +12 -5
  220. package/src/naa/AccountInfo.ts +3 -4
  221. package/src/naa/BridgeError.ts +4 -4
  222. package/src/naa/BridgeProxy.ts +6 -2
  223. package/src/naa/IBridgeProxy.ts +2 -0
  224. package/src/naa/InitializeBridgeResponse.ts +1 -1
  225. package/src/naa/TokenRequest.ts +0 -2
  226. package/src/naa/TokenResponse.ts +1 -2
  227. package/src/naa/mapping/NestedAppAuthAdapter.ts +72 -80
  228. package/src/operatingcontext/TeamsAppOperatingContext.ts +4 -1
  229. package/src/packageMetadata.ts +1 -1
  230. package/src/response/ResponseHandler.ts +73 -0
  231. package/src/utils/BrowserProtocolUtils.ts +17 -36
@@ -1,102 +1,102 @@
1
- /*! @azure/msal-browser v3.4.0 2023-10-30 */
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 { PerformanceEvents } from '@azure/msal-common';
5
5
  import { KEY_FORMAT_JWK } from '../utils/BrowserConstants.mjs';
6
6
  import { cryptoNonExistent } from '../error/BrowserAuthErrorCodes.mjs';
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- /**
13
- * This file defines functions used by the browser library to perform cryptography operations such as
14
- * hashing and encoding. It also has helper functions to validate the availability of specific APIs.
15
- */
16
- /**
17
- * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams
18
- */
19
- // RSA KeyGen Algorithm
20
- const PKCS1_V15_KEYGEN_ALG = "RSASSA-PKCS1-v1_5";
21
- // SHA-256 hashing algorithm
22
- const S256_HASH_ALG = "SHA-256";
23
- // MOD length for PoP tokens
24
- const MODULUS_LENGTH = 2048;
25
- // Public Exponent
26
- const PUBLIC_EXPONENT = new Uint8Array([0x01, 0x00, 0x01]);
27
- const keygenAlgorithmOptions = {
28
- name: PKCS1_V15_KEYGEN_ALG,
29
- hash: S256_HASH_ALG,
30
- modulusLength: MODULUS_LENGTH,
31
- publicExponent: PUBLIC_EXPONENT,
32
- };
33
- /**
34
- * Check whether browser crypto is available.
35
- */
36
- function validateCryptoAvailable(logger) {
37
- if ("crypto" in window) {
38
- logger.verbose("BrowserCrypto: modern crypto interface available");
39
- }
40
- else {
41
- logger.error("BrowserCrypto: crypto interface is unavailable");
42
- throw createBrowserAuthError(cryptoNonExistent);
43
- }
44
- }
45
- /**
46
- * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
47
- * @param dataString
48
- */
49
- async function sha256Digest(dataString, performanceClient, correlationId) {
50
- performanceClient?.addQueueMeasurement(PerformanceEvents.Sha256Digest, correlationId);
51
- const encoder = new TextEncoder();
52
- const data = encoder.encode(dataString);
53
- return window.crypto.subtle.digest(S256_HASH_ALG, data);
54
- }
55
- /**
56
- * Populates buffer with cryptographically random values.
57
- * @param dataBuffer
58
- */
59
- function getRandomValues(dataBuffer) {
60
- return window.crypto.getRandomValues(dataBuffer);
61
- }
62
- /**
63
- * Creates a new random GUID
64
- * @returns
65
- */
66
- function createNewGuid() {
67
- return window.crypto.randomUUID();
68
- }
69
- /**
70
- * Generates a keypair based on current keygen algorithm config.
71
- * @param extractable
72
- * @param usages
73
- */
74
- async function generateKeyPair(extractable, usages) {
75
- return window.crypto.subtle.generateKey(keygenAlgorithmOptions, extractable, usages);
76
- }
77
- /**
78
- * Export key as Json Web Key (JWK)
79
- * @param key
80
- */
81
- async function exportJwk(key) {
82
- return window.crypto.subtle.exportKey(KEY_FORMAT_JWK, key);
83
- }
84
- /**
85
- * Imports key as Json Web Key (JWK), can set extractable and usages.
86
- * @param key
87
- * @param extractable
88
- * @param usages
89
- */
90
- async function importJwk(key, extractable, usages) {
91
- return window.crypto.subtle.importKey(KEY_FORMAT_JWK, key, keygenAlgorithmOptions, extractable, usages);
92
- }
93
- /**
94
- * Signs given data with given key
95
- * @param key
96
- * @param data
97
- */
98
- async function sign(key, data) {
99
- return window.crypto.subtle.sign(keygenAlgorithmOptions, key, data);
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ /**
13
+ * This file defines functions used by the browser library to perform cryptography operations such as
14
+ * hashing and encoding. It also has helper functions to validate the availability of specific APIs.
15
+ */
16
+ /**
17
+ * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams
18
+ */
19
+ // RSA KeyGen Algorithm
20
+ const PKCS1_V15_KEYGEN_ALG = "RSASSA-PKCS1-v1_5";
21
+ // SHA-256 hashing algorithm
22
+ const S256_HASH_ALG = "SHA-256";
23
+ // MOD length for PoP tokens
24
+ const MODULUS_LENGTH = 2048;
25
+ // Public Exponent
26
+ const PUBLIC_EXPONENT = new Uint8Array([0x01, 0x00, 0x01]);
27
+ const keygenAlgorithmOptions = {
28
+ name: PKCS1_V15_KEYGEN_ALG,
29
+ hash: S256_HASH_ALG,
30
+ modulusLength: MODULUS_LENGTH,
31
+ publicExponent: PUBLIC_EXPONENT,
32
+ };
33
+ /**
34
+ * Check whether browser crypto is available.
35
+ */
36
+ function validateCryptoAvailable(logger) {
37
+ if ("crypto" in window) {
38
+ logger.verbose("BrowserCrypto: modern crypto interface available");
39
+ }
40
+ else {
41
+ logger.error("BrowserCrypto: crypto interface is unavailable");
42
+ throw createBrowserAuthError(cryptoNonExistent);
43
+ }
44
+ }
45
+ /**
46
+ * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
47
+ * @param dataString
48
+ */
49
+ async function sha256Digest(dataString, performanceClient, correlationId) {
50
+ performanceClient?.addQueueMeasurement(PerformanceEvents.Sha256Digest, correlationId);
51
+ const encoder = new TextEncoder();
52
+ const data = encoder.encode(dataString);
53
+ return window.crypto.subtle.digest(S256_HASH_ALG, data);
54
+ }
55
+ /**
56
+ * Populates buffer with cryptographically random values.
57
+ * @param dataBuffer
58
+ */
59
+ function getRandomValues(dataBuffer) {
60
+ return window.crypto.getRandomValues(dataBuffer);
61
+ }
62
+ /**
63
+ * Creates a new random GUID
64
+ * @returns
65
+ */
66
+ function createNewGuid() {
67
+ return window.crypto.randomUUID();
68
+ }
69
+ /**
70
+ * Generates a keypair based on current keygen algorithm config.
71
+ * @param extractable
72
+ * @param usages
73
+ */
74
+ async function generateKeyPair(extractable, usages) {
75
+ return window.crypto.subtle.generateKey(keygenAlgorithmOptions, extractable, usages);
76
+ }
77
+ /**
78
+ * Export key as Json Web Key (JWK)
79
+ * @param key
80
+ */
81
+ async function exportJwk(key) {
82
+ return window.crypto.subtle.exportKey(KEY_FORMAT_JWK, key);
83
+ }
84
+ /**
85
+ * Imports key as Json Web Key (JWK), can set extractable and usages.
86
+ * @param key
87
+ * @param extractable
88
+ * @param usages
89
+ */
90
+ async function importJwk(key, extractable, usages) {
91
+ return window.crypto.subtle.importKey(KEY_FORMAT_JWK, key, keygenAlgorithmOptions, extractable, usages);
92
+ }
93
+ /**
94
+ * Signs given data with given key
95
+ * @param key
96
+ * @param data
97
+ */
98
+ async function sign(key, data) {
99
+ return window.crypto.subtle.sign(keygenAlgorithmOptions, key, data);
100
100
  }
101
101
 
102
102
  export { createNewGuid, exportJwk, generateKeyPair, getRandomValues, importJwk, sha256Digest, sign, validateCryptoAvailable };
@@ -1,64 +1,64 @@
1
- import { ICrypto, IPerformanceClient, Logger, SignedHttpRequest, SignedHttpRequestParameters } from "@azure/msal-common";
2
- export type CachedKeyPair = {
3
- publicKey: CryptoKey;
4
- privateKey: CryptoKey;
5
- requestMethod?: string;
6
- requestUri?: string;
7
- };
8
- /**
9
- * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
10
- * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
11
- */
12
- export declare class CryptoOps implements ICrypto {
13
- private logger;
14
- /**
15
- * CryptoOps can be used in contexts outside a PCA instance,
16
- * meaning there won't be a performance manager available.
17
- */
18
- private performanceClient;
19
- private static POP_KEY_USAGES;
20
- private static EXTRACTABLE;
21
- private cache;
22
- constructor(logger: Logger, performanceClient?: IPerformanceClient);
23
- /**
24
- * Creates a new random GUID - used to populate state and nonce.
25
- * @returns string (GUID)
26
- */
27
- createNewGuid(): string;
28
- /**
29
- * Encodes input string to base64.
30
- * @param input
31
- */
32
- base64Encode(input: string): string;
33
- /**
34
- * Decodes input string from base64.
35
- * @param input
36
- */
37
- base64Decode(input: string): string;
38
- /**
39
- * Generates a keypair, stores it and returns a thumbprint
40
- * @param request
41
- */
42
- getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
43
- /**
44
- * Removes cryptographic keypair from key store matching the keyId passed in
45
- * @param kid
46
- */
47
- removeTokenBindingKey(kid: string): Promise<boolean>;
48
- /**
49
- * Removes all cryptographic keys from IndexedDB storage
50
- */
51
- clearKeystore(): Promise<boolean>;
52
- /**
53
- * Signs the given object as a jwt payload with private key retrieved by given kid.
54
- * @param payload
55
- * @param kid
56
- */
57
- signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
58
- /**
59
- * Returns the SHA-256 hash of an input string
60
- * @param plainText
61
- */
62
- hashString(plainText: string): Promise<string>;
63
- }
1
+ import { ICrypto, IPerformanceClient, Logger, ShrOptions, SignedHttpRequest, SignedHttpRequestParameters } from "@azure/msal-common";
2
+ export type CachedKeyPair = {
3
+ publicKey: CryptoKey;
4
+ privateKey: CryptoKey;
5
+ requestMethod?: string;
6
+ requestUri?: string;
7
+ };
8
+ /**
9
+ * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
10
+ * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
11
+ */
12
+ export declare class CryptoOps implements ICrypto {
13
+ private logger;
14
+ /**
15
+ * CryptoOps can be used in contexts outside a PCA instance,
16
+ * meaning there won't be a performance manager available.
17
+ */
18
+ private performanceClient;
19
+ private static POP_KEY_USAGES;
20
+ private static EXTRACTABLE;
21
+ private cache;
22
+ constructor(logger: Logger, performanceClient?: IPerformanceClient);
23
+ /**
24
+ * Creates a new random GUID - used to populate state and nonce.
25
+ * @returns string (GUID)
26
+ */
27
+ createNewGuid(): string;
28
+ /**
29
+ * Encodes input string to base64.
30
+ * @param input
31
+ */
32
+ base64Encode(input: string): string;
33
+ /**
34
+ * Decodes input string from base64.
35
+ * @param input
36
+ */
37
+ base64Decode(input: string): string;
38
+ /**
39
+ * Generates a keypair, stores it and returns a thumbprint
40
+ * @param request
41
+ */
42
+ getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
43
+ /**
44
+ * Removes cryptographic keypair from key store matching the keyId passed in
45
+ * @param kid
46
+ */
47
+ removeTokenBindingKey(kid: string): Promise<boolean>;
48
+ /**
49
+ * Removes all cryptographic keys from IndexedDB storage
50
+ */
51
+ clearKeystore(): Promise<boolean>;
52
+ /**
53
+ * Signs the given object as a jwt payload with private key retrieved by given kid.
54
+ * @param payload
55
+ * @param kid
56
+ */
57
+ signJwt(payload: SignedHttpRequest, kid: string, shrOptions?: ShrOptions, correlationId?: string): Promise<string>;
58
+ /**
59
+ * Returns the SHA-256 hash of an input string
60
+ * @param plainText
61
+ */
62
+ hashString(plainText: string): Promise<string>;
63
+ }
64
64
  //# sourceMappingURL=CryptoOps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoOps.d.ts","sourceRoot":"","sources":["../../src/crypto/CryptoOps.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,kBAAkB,EAElB,MAAM,EAEN,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,oBAAoB,CAAC;AAU5B,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAU,YAAW,OAAO;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAiB;IAC3C,OAAO,CAAC,KAAK,CAAiB;gBAElB,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,kBAAkB;IAQlE;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACG,sBAAsB,CACxB,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC;IAqDlB;;;OAGG;IACG,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;;;OAIG;IACG,OAAO,CACT,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC;IA0DlB;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOvD"}
1
+ {"version":3,"file":"CryptoOps.d.ts","sourceRoot":"","sources":["../../src/crypto/CryptoOps.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,kBAAkB,EAElB,MAAM,EAEN,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,oBAAoB,CAAC;AAU5B,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAU,YAAW,OAAO;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAiB;IAC3C,OAAO,CAAC,KAAK,CAAiB;gBAElB,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,kBAAkB;IAQlE;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACG,sBAAsB,CACxB,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC;IAqDlB;;;OAGG;IACG,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAIvC;;;;OAIG;IACG,OAAO,CACT,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC;IA0DlB;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOvD"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v3.4.0 2023-10-30 */
1
+ /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
2
2
  'use strict';
3
3
  import { PerformanceEvents, JoseHeader } from '@azure/msal-common';
4
4
  import { base64Encode, urlEncode, urlEncodeArr } from '../encode/Base64Encode.mjs';
@@ -8,149 +8,150 @@ import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
8
8
  import { CryptoKeyStore } from '../cache/CryptoKeyStore.mjs';
9
9
  import { cryptoKeyNotFound } from '../error/BrowserAuthErrorCodes.mjs';
10
10
 
11
- /*
12
- * Copyright (c) Microsoft Corporation. All rights reserved.
13
- * Licensed under the MIT License.
14
- */
15
- /**
16
- * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
17
- * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
18
- */
19
- class CryptoOps {
20
- constructor(logger, performanceClient) {
21
- this.logger = logger;
22
- // Browser crypto needs to be validated first before any other classes can be set.
23
- validateCryptoAvailable(logger);
24
- this.cache = new CryptoKeyStore(this.logger);
25
- this.performanceClient = performanceClient;
26
- }
27
- /**
28
- * Creates a new random GUID - used to populate state and nonce.
29
- * @returns string (GUID)
30
- */
31
- createNewGuid() {
32
- return createNewGuid();
33
- }
34
- /**
35
- * Encodes input string to base64.
36
- * @param input
37
- */
38
- base64Encode(input) {
39
- return base64Encode(input);
40
- }
41
- /**
42
- * Decodes input string from base64.
43
- * @param input
44
- */
45
- base64Decode(input) {
46
- return base64Decode(input);
47
- }
48
- /**
49
- * Generates a keypair, stores it and returns a thumbprint
50
- * @param request
51
- */
52
- async getPublicKeyThumbprint(request) {
53
- const publicKeyThumbMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);
54
- // Generate Keypair
55
- const keyPair = await generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES);
56
- // Generate Thumbprint for Public Key
57
- const publicKeyJwk = await exportJwk(keyPair.publicKey);
58
- const pubKeyThumprintObj = {
59
- e: publicKeyJwk.e,
60
- kty: publicKeyJwk.kty,
61
- n: publicKeyJwk.n,
62
- };
63
- const publicJwkString = getSortedObjectString(pubKeyThumprintObj);
64
- const publicJwkHash = await this.hashString(publicJwkString);
65
- // Generate Thumbprint for Private Key
66
- const privateKeyJwk = await exportJwk(keyPair.privateKey);
67
- // Re-import private key to make it unextractable
68
- const unextractablePrivateKey = await importJwk(privateKeyJwk, false, ["sign"]);
69
- // Store Keypair data in keystore
70
- await this.cache.asymmetricKeys.setItem(publicJwkHash, {
71
- privateKey: unextractablePrivateKey,
72
- publicKey: keyPair.publicKey,
73
- requestMethod: request.resourceRequestMethod,
74
- requestUri: request.resourceRequestUri,
75
- });
76
- if (publicKeyThumbMeasurement) {
77
- publicKeyThumbMeasurement.end({
78
- success: true,
79
- });
80
- }
81
- return publicJwkHash;
82
- }
83
- /**
84
- * Removes cryptographic keypair from key store matching the keyId passed in
85
- * @param kid
86
- */
87
- async removeTokenBindingKey(kid) {
88
- await this.cache.asymmetricKeys.removeItem(kid);
89
- const keyFound = await this.cache.asymmetricKeys.containsKey(kid);
90
- return !keyFound;
91
- }
92
- /**
93
- * Removes all cryptographic keys from IndexedDB storage
94
- */
95
- async clearKeystore() {
96
- return await this.cache.clear();
97
- }
98
- /**
99
- * Signs the given object as a jwt payload with private key retrieved by given kid.
100
- * @param payload
101
- * @param kid
102
- */
103
- async signJwt(payload, kid, correlationId) {
104
- const signJwtMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);
105
- const cachedKeyPair = await this.cache.asymmetricKeys.getItem(kid);
106
- if (!cachedKeyPair) {
107
- throw createBrowserAuthError(cryptoKeyNotFound);
108
- }
109
- // Get public key as JWK
110
- const publicKeyJwk = await exportJwk(cachedKeyPair.publicKey);
111
- const publicKeyJwkString = getSortedObjectString(publicKeyJwk);
112
- // Base64URL encode public key thumbprint with keyId only: BASE64URL({ kid: "FULL_PUBLIC_KEY_HASH" })
113
- const encodedKeyIdThumbprint = urlEncode(JSON.stringify({ kid: kid }));
114
- // Generate header
115
- const shrHeader = JoseHeader.getShrHeaderString({
116
- kid: encodedKeyIdThumbprint,
117
- alg: publicKeyJwk.alg,
118
- });
119
- const encodedShrHeader = urlEncode(shrHeader);
120
- // Generate payload
121
- payload.cnf = {
122
- jwk: JSON.parse(publicKeyJwkString),
123
- };
124
- const encodedPayload = urlEncode(JSON.stringify(payload));
125
- // Form token string
126
- const tokenString = `${encodedShrHeader}.${encodedPayload}`;
127
- // Sign token
128
- const encoder = new TextEncoder();
129
- const tokenBuffer = encoder.encode(tokenString);
130
- const signatureBuffer = await sign(cachedKeyPair.privateKey, tokenBuffer);
131
- const encodedSignature = urlEncodeArr(new Uint8Array(signatureBuffer));
132
- const signedJwt = `${tokenString}.${encodedSignature}`;
133
- if (signJwtMeasurement) {
134
- signJwtMeasurement.end({
135
- success: true,
136
- });
137
- }
138
- return signedJwt;
139
- }
140
- /**
141
- * Returns the SHA-256 hash of an input string
142
- * @param plainText
143
- */
144
- async hashString(plainText) {
145
- const hashBuffer = await sha256Digest(plainText);
146
- const hashBytes = new Uint8Array(hashBuffer);
147
- return urlEncodeArr(hashBytes);
148
- }
149
- }
150
- CryptoOps.POP_KEY_USAGES = ["sign", "verify"];
151
- CryptoOps.EXTRACTABLE = true;
152
- function getSortedObjectString(obj) {
153
- return JSON.stringify(obj, Object.keys(obj).sort());
11
+ /*
12
+ * Copyright (c) Microsoft Corporation. All rights reserved.
13
+ * Licensed under the MIT License.
14
+ */
15
+ /**
16
+ * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
17
+ * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
18
+ */
19
+ class CryptoOps {
20
+ constructor(logger, performanceClient) {
21
+ this.logger = logger;
22
+ // Browser crypto needs to be validated first before any other classes can be set.
23
+ validateCryptoAvailable(logger);
24
+ this.cache = new CryptoKeyStore(this.logger);
25
+ this.performanceClient = performanceClient;
26
+ }
27
+ /**
28
+ * Creates a new random GUID - used to populate state and nonce.
29
+ * @returns string (GUID)
30
+ */
31
+ createNewGuid() {
32
+ return createNewGuid();
33
+ }
34
+ /**
35
+ * Encodes input string to base64.
36
+ * @param input
37
+ */
38
+ base64Encode(input) {
39
+ return base64Encode(input);
40
+ }
41
+ /**
42
+ * Decodes input string from base64.
43
+ * @param input
44
+ */
45
+ base64Decode(input) {
46
+ return base64Decode(input);
47
+ }
48
+ /**
49
+ * Generates a keypair, stores it and returns a thumbprint
50
+ * @param request
51
+ */
52
+ async getPublicKeyThumbprint(request) {
53
+ const publicKeyThumbMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);
54
+ // Generate Keypair
55
+ const keyPair = await generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES);
56
+ // Generate Thumbprint for Public Key
57
+ const publicKeyJwk = await exportJwk(keyPair.publicKey);
58
+ const pubKeyThumprintObj = {
59
+ e: publicKeyJwk.e,
60
+ kty: publicKeyJwk.kty,
61
+ n: publicKeyJwk.n,
62
+ };
63
+ const publicJwkString = getSortedObjectString(pubKeyThumprintObj);
64
+ const publicJwkHash = await this.hashString(publicJwkString);
65
+ // Generate Thumbprint for Private Key
66
+ const privateKeyJwk = await exportJwk(keyPair.privateKey);
67
+ // Re-import private key to make it unextractable
68
+ const unextractablePrivateKey = await importJwk(privateKeyJwk, false, ["sign"]);
69
+ // Store Keypair data in keystore
70
+ await this.cache.asymmetricKeys.setItem(publicJwkHash, {
71
+ privateKey: unextractablePrivateKey,
72
+ publicKey: keyPair.publicKey,
73
+ requestMethod: request.resourceRequestMethod,
74
+ requestUri: request.resourceRequestUri,
75
+ });
76
+ if (publicKeyThumbMeasurement) {
77
+ publicKeyThumbMeasurement.end({
78
+ success: true,
79
+ });
80
+ }
81
+ return publicJwkHash;
82
+ }
83
+ /**
84
+ * Removes cryptographic keypair from key store matching the keyId passed in
85
+ * @param kid
86
+ */
87
+ async removeTokenBindingKey(kid) {
88
+ await this.cache.asymmetricKeys.removeItem(kid);
89
+ const keyFound = await this.cache.asymmetricKeys.containsKey(kid);
90
+ return !keyFound;
91
+ }
92
+ /**
93
+ * Removes all cryptographic keys from IndexedDB storage
94
+ */
95
+ async clearKeystore() {
96
+ return await this.cache.clear();
97
+ }
98
+ /**
99
+ * Signs the given object as a jwt payload with private key retrieved by given kid.
100
+ * @param payload
101
+ * @param kid
102
+ */
103
+ async signJwt(payload, kid, shrOptions, correlationId) {
104
+ const signJwtMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);
105
+ const cachedKeyPair = await this.cache.asymmetricKeys.getItem(kid);
106
+ if (!cachedKeyPair) {
107
+ throw createBrowserAuthError(cryptoKeyNotFound);
108
+ }
109
+ // Get public key as JWK
110
+ const publicKeyJwk = await exportJwk(cachedKeyPair.publicKey);
111
+ const publicKeyJwkString = getSortedObjectString(publicKeyJwk);
112
+ // Base64URL encode public key thumbprint with keyId only: BASE64URL({ kid: "FULL_PUBLIC_KEY_HASH" })
113
+ const encodedKeyIdThumbprint = urlEncode(JSON.stringify({ kid: kid }));
114
+ // Generate header
115
+ const shrHeader = JoseHeader.getShrHeaderString({
116
+ ...shrOptions?.header,
117
+ alg: publicKeyJwk.alg,
118
+ kid: encodedKeyIdThumbprint,
119
+ });
120
+ const encodedShrHeader = urlEncode(shrHeader);
121
+ // Generate payload
122
+ payload.cnf = {
123
+ jwk: JSON.parse(publicKeyJwkString),
124
+ };
125
+ const encodedPayload = urlEncode(JSON.stringify(payload));
126
+ // Form token string
127
+ const tokenString = `${encodedShrHeader}.${encodedPayload}`;
128
+ // Sign token
129
+ const encoder = new TextEncoder();
130
+ const tokenBuffer = encoder.encode(tokenString);
131
+ const signatureBuffer = await sign(cachedKeyPair.privateKey, tokenBuffer);
132
+ const encodedSignature = urlEncodeArr(new Uint8Array(signatureBuffer));
133
+ const signedJwt = `${tokenString}.${encodedSignature}`;
134
+ if (signJwtMeasurement) {
135
+ signJwtMeasurement.end({
136
+ success: true,
137
+ });
138
+ }
139
+ return signedJwt;
140
+ }
141
+ /**
142
+ * Returns the SHA-256 hash of an input string
143
+ * @param plainText
144
+ */
145
+ async hashString(plainText) {
146
+ const hashBuffer = await sha256Digest(plainText);
147
+ const hashBytes = new Uint8Array(hashBuffer);
148
+ return urlEncodeArr(hashBytes);
149
+ }
150
+ }
151
+ CryptoOps.POP_KEY_USAGES = ["sign", "verify"];
152
+ CryptoOps.EXTRACTABLE = true;
153
+ function getSortedObjectString(obj) {
154
+ return JSON.stringify(obj, Object.keys(obj).sort());
154
155
  }
155
156
 
156
157
  export { CryptoOps };
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoOps.mjs","sources":["../../src/crypto/CryptoOps.ts"],"sourcesContent":[null],"names":["BrowserCrypto.validateCryptoAvailable","BrowserCrypto.createNewGuid","BrowserCrypto.generateKeyPair","BrowserCrypto.exportJwk"],"mappings":";;;;;;;;;;AAKA;AAkBA;;;AAUG;AACH;;AAGI;;;AAGG,QAAA,IAAA,CAAA,MAAA,GAAA,MAAA,CAAA;;AAGH,QAAAA,uBAAoE,CAAA,MAAA,CAAA,CAAA;AACpE,QAAA,IAAQ,CAAA,KAAM,GAAC,IAAA,cAA4B,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA;QACpC,IAAC,kBAAsB,GAAA,iBAAA,CAAA;AAElB,KAAA;AAQZ;;;AAGG;AACH,IAAA,aAAa;AAIb,QAAA,OAAAC,aAAA,EAAA,CAAA;;;AAGG;AACH;AAIA;;;AAGG,KAAA;AACH;AAIA;;;AAGG,IAAA,YAAA,CAAA,KAAA,EAAA;QACyB,OAAA,YACxB,OAAO,CAAE;AAsDb,KAAA;;;AAGG;;AAOH,IAAA,MAAA,sBAAA,CAAA,OAAA,EAAA;;AAEG;AACG,QAAA,MAAA,OAAiB,GAAA,MAAQC,eAAQ,CAAA,SAAA,CAAA,WAAA,EAAA,SAAA,CAAA,cAAA,CAAA,CAAA;AAIvC;;;;AAIG,YAAA,GAAA,EAAA,YAAA,CAAA,GAAA;AACG,YACF,CAAO,EAAA,YAAmB,CAAA,CAAA;AA6D9B,SAAA,CAAA;;;AAGG;QACa,MAAA,aAAY,GAAA,MAAgBC,SAAQ,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;AAOvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"CryptoOps.mjs","sources":["../../src/crypto/CryptoOps.ts"],"sourcesContent":[null],"names":["BrowserCrypto.validateCryptoAvailable","BrowserCrypto.createNewGuid","BrowserCrypto.generateKeyPair","BrowserCrypto.exportJwk"],"mappings":";;;;;;;;;;AAKA;AAmBA;;;AAUG;AACH;;AAGI;;;AAGG,QAAA,IAAA,CAAA,MAAA,GAAA,MAAA,CAAA;;AAGH,QAAAA,uBAAoE,CAAA,MAAA,CAAA,CAAA;AACpE,QAAA,IAAQ,CAAA,KAAM,GAAC,IAAA,cAA4B,CAAA,IAAA,CAAA,MAAA,CAAA,CAAA;QACpC,IAAC,kBAAsB,GAAA,iBAAA,CAAA;AAElB,KAAA;AAQZ;;;AAGG;AACH,IAAA,aAAa;AAIb,QAAA,OAAAC,aAAA,EAAA,CAAA;;;AAGG;AACH;AAIA;;;AAGG,KAAA;AACH;AAIA;;;AAGG,IAAA,YAAA,CAAA,KAAA,EAAA;QACyB,OAAA,YACxB,OAAO,CAAE;AAsDb,KAAA;;;AAGG;;AAOH,IAAA,MAAA,sBAAA,CAAA,OAAA,EAAA;;AAEG;AACG,QAAA,MAAA,OAAiB,GAAA,MAAQC,eAAQ,CAAA,SAAA,CAAA,WAAA,EAAA,SAAA,CAAA,cAAA,CAAA,CAAA;AAIvC;;;;AAIG,YAAA,GAAA,EAAA,YAAA,CAAA,GAAA;YAEC,eAAS,CAAA,CAAA;AA8Db,SAAA,CAAA;;;AAGG;QACa,MAAA,aAAY,GAAA,MAAgBC,SAAQ,CAAA,OAAA,CAAA,UAAA,CAAA,CAAA;AAOvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,9 +1,9 @@
1
- import { IPerformanceClient, Logger, PkceCodes } from "@azure/msal-common";
2
- /**
3
- * This file defines APIs to generate PKCE codes and code verifiers.
4
- */
5
- /**
6
- * Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636
7
- */
8
- export declare function generatePkceCodes(performanceClient: IPerformanceClient, logger: Logger, correlationId: string): Promise<PkceCodes>;
1
+ import { IPerformanceClient, Logger, PkceCodes } from "@azure/msal-common";
2
+ /**
3
+ * This file defines APIs to generate PKCE codes and code verifiers.
4
+ */
5
+ /**
6
+ * Generates PKCE Codes. See the RFC for more information: https://tools.ietf.org/html/rfc7636
7
+ */
8
+ export declare function generatePkceCodes(performanceClient: IPerformanceClient, logger: Logger, correlationId: string): Promise<PkceCodes>;
9
9
  //# sourceMappingURL=PkceGenerator.d.ts.map