@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.
Files changed (178) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +213 -213
  3. package/dist/app/IPublicClientApplication.d.ts +45 -45
  4. package/dist/app/IPublicClientApplication.js +96 -96
  5. package/dist/app/PublicClientApplication.d.ts +244 -244
  6. package/dist/app/PublicClientApplication.js +307 -307
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +63 -63
  8. package/dist/broker/nativeBroker/NativeMessageHandler.js +255 -255
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +43 -43
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  12. package/dist/cache/AsyncMemoryStorage.js +132 -132
  13. package/dist/cache/BrowserCacheManager.d.ts +376 -377
  14. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  15. package/dist/cache/BrowserCacheManager.js +1275 -1276
  16. package/dist/cache/BrowserCacheManager.js.map +1 -1
  17. package/dist/cache/BrowserStorage.d.ts +11 -11
  18. package/dist/cache/BrowserStorage.js +35 -35
  19. package/dist/cache/CryptoKeyStore.d.ts +18 -17
  20. package/dist/cache/CryptoKeyStore.d.ts.map +1 -1
  21. package/dist/cache/CryptoKeyStore.js +40 -41
  22. package/dist/cache/CryptoKeyStore.js.map +1 -1
  23. package/dist/cache/DatabaseStorage.d.ts +56 -56
  24. package/dist/cache/DatabaseStorage.js +190 -190
  25. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  26. package/dist/cache/ITokenCache.d.ts +10 -10
  27. package/dist/cache/IWindowStorage.d.ts +27 -27
  28. package/dist/cache/MemoryStorage.d.ts +11 -11
  29. package/dist/cache/MemoryStorage.js +31 -31
  30. package/dist/cache/TokenCache.d.ts +76 -76
  31. package/dist/cache/TokenCache.js +225 -225
  32. package/dist/config/Configuration.d.ts +187 -203
  33. package/dist/config/Configuration.d.ts.map +1 -1
  34. package/dist/config/Configuration.js +97 -101
  35. package/dist/config/Configuration.js.map +1 -1
  36. package/dist/controllers/ControllerFactory.d.ts +9 -9
  37. package/dist/controllers/ControllerFactory.js +37 -37
  38. package/dist/controllers/IController.d.ts +66 -66
  39. package/dist/controllers/IController.d.ts.map +1 -1
  40. package/dist/controllers/StandardController.d.ts +413 -413
  41. package/dist/controllers/StandardController.d.ts.map +1 -1
  42. package/dist/controllers/StandardController.js +1277 -1272
  43. package/dist/controllers/StandardController.js.map +1 -1
  44. package/dist/crypto/BrowserCrypto.d.ts +49 -61
  45. package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
  46. package/dist/crypto/BrowserCrypto.js +93 -134
  47. package/dist/crypto/BrowserCrypto.js.map +1 -1
  48. package/dist/crypto/CryptoOps.d.ts +72 -73
  49. package/dist/crypto/CryptoOps.d.ts.map +1 -1
  50. package/dist/crypto/CryptoOps.js +150 -150
  51. package/dist/crypto/CryptoOps.js.map +1 -1
  52. package/dist/crypto/GuidGenerator.d.ts +12 -12
  53. package/dist/crypto/GuidGenerator.js +96 -96
  54. package/dist/crypto/ISubtleCrypto.d.ts +9 -9
  55. package/dist/crypto/ModernBrowserCrypto.d.ts +9 -9
  56. package/dist/crypto/ModernBrowserCrypto.js +24 -24
  57. package/dist/crypto/PkceGenerator.d.ts +24 -24
  58. package/dist/crypto/PkceGenerator.js +58 -58
  59. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  60. package/dist/crypto/SignedHttpRequest.js +39 -39
  61. package/dist/encode/Base64Decode.d.ts +22 -22
  62. package/dist/encode/Base64Decode.js +73 -73
  63. package/dist/encode/Base64Encode.d.ts +31 -31
  64. package/dist/encode/Base64Encode.js +79 -79
  65. package/dist/error/BrowserAuthError.d.ts +382 -382
  66. package/dist/error/BrowserAuthError.js +483 -483
  67. package/dist/error/BrowserConfigurationAuthError.d.ts +70 -70
  68. package/dist/error/BrowserConfigurationAuthError.js +96 -96
  69. package/dist/error/NativeAuthError.d.ts +57 -56
  70. package/dist/error/NativeAuthError.d.ts.map +1 -1
  71. package/dist/error/NativeAuthError.js +93 -88
  72. package/dist/error/NativeAuthError.js.map +1 -1
  73. package/dist/event/EventHandler.d.ts +41 -41
  74. package/dist/event/EventHandler.js +119 -119
  75. package/dist/event/EventMessage.d.ts +25 -25
  76. package/dist/event/EventMessage.d.ts.map +1 -1
  77. package/dist/event/EventMessage.js +68 -67
  78. package/dist/event/EventMessage.js.map +1 -1
  79. package/dist/event/EventType.d.ts +28 -26
  80. package/dist/event/EventType.d.ts.map +1 -1
  81. package/dist/event/EventType.js +32 -32
  82. package/dist/event/EventType.js.map +1 -1
  83. package/dist/index.d.ts +35 -35
  84. package/dist/index.js +1 -1
  85. package/dist/interaction_client/BaseInteractionClient.d.ts +53 -52
  86. package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  87. package/dist/interaction_client/BaseInteractionClient.js +151 -138
  88. package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
  89. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  90. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +10 -10
  91. package/dist/interaction_client/NativeInteractionClient.d.ts +148 -148
  92. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  93. package/dist/interaction_client/NativeInteractionClient.js +521 -517
  94. package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
  95. package/dist/interaction_client/PopupClient.d.ts +111 -111
  96. package/dist/interaction_client/PopupClient.js +476 -476
  97. package/dist/interaction_client/RedirectClient.d.ts +48 -48
  98. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  99. package/dist/interaction_client/RedirectClient.js +291 -290
  100. package/dist/interaction_client/RedirectClient.js.map +1 -1
  101. package/dist/interaction_client/SilentAuthCodeClient.d.ts +22 -22
  102. package/dist/interaction_client/SilentAuthCodeClient.js +62 -62
  103. package/dist/interaction_client/SilentCacheClient.d.ts +21 -21
  104. package/dist/interaction_client/SilentCacheClient.js +67 -67
  105. package/dist/interaction_client/SilentCacheClient.js.map +1 -1
  106. package/dist/interaction_client/SilentIframeClient.d.ts +31 -31
  107. package/dist/interaction_client/SilentIframeClient.js +127 -127
  108. package/dist/interaction_client/SilentRefreshClient.d.ts +19 -19
  109. package/dist/interaction_client/SilentRefreshClient.js +62 -62
  110. package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
  111. package/dist/interaction_client/StandardInteractionClient.d.ts +59 -59
  112. package/dist/interaction_client/StandardInteractionClient.js +259 -259
  113. package/dist/interaction_handler/InteractionHandler.d.ts +39 -39
  114. package/dist/interaction_handler/InteractionHandler.js +127 -127
  115. package/dist/interaction_handler/RedirectHandler.d.ts +24 -24
  116. package/dist/interaction_handler/RedirectHandler.js +118 -118
  117. package/dist/interaction_handler/SilentHandler.d.ts +47 -47
  118. package/dist/interaction_handler/SilentHandler.js +162 -162
  119. package/dist/internals.d.ts +23 -23
  120. package/dist/internals.js +4 -4
  121. package/dist/navigation/INavigationClient.d.ts +16 -16
  122. package/dist/navigation/NavigationClient.d.ts +22 -22
  123. package/dist/navigation/NavigationClient.js +40 -40
  124. package/dist/navigation/NavigationOptions.d.ts +12 -12
  125. package/dist/network/FetchClient.d.ts +26 -26
  126. package/dist/network/FetchClient.js +99 -99
  127. package/dist/network/XhrClient.d.ts +40 -40
  128. package/dist/network/XhrClient.js +117 -117
  129. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  130. package/dist/operatingcontext/BaseOperatingContext.js +44 -44
  131. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  132. package/dist/operatingcontext/StandardOperatingContext.js +43 -43
  133. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +25 -25
  134. package/dist/operatingcontext/TeamsAppOperatingContext.js +42 -42
  135. package/dist/packageMetadata.d.ts +2 -2
  136. package/dist/packageMetadata.d.ts.map +1 -1
  137. package/dist/packageMetadata.js +4 -4
  138. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  139. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  140. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  141. package/dist/request/EndSessionRequest.d.ts +15 -15
  142. package/dist/request/PopupRequest.d.ts +32 -32
  143. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  144. package/dist/request/RedirectRequest.d.ts +33 -33
  145. package/dist/request/SilentRequest.d.ts +30 -30
  146. package/dist/request/SsoSilentRequest.d.ts +26 -26
  147. package/dist/telemetry/BrowserPerformanceClient.d.ts +37 -38
  148. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  149. package/dist/telemetry/BrowserPerformanceClient.js +124 -124
  150. package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
  151. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  152. package/dist/telemetry/BrowserPerformanceMeasurement.js +92 -92
  153. package/dist/utils/BrowserConstants.d.ts +176 -166
  154. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  155. package/dist/utils/BrowserConstants.js +205 -215
  156. package/dist/utils/BrowserConstants.js.map +1 -1
  157. package/dist/utils/BrowserProtocolUtils.d.ts +18 -18
  158. package/dist/utils/BrowserProtocolUtils.js +34 -34
  159. package/dist/utils/BrowserStringUtils.d.ts +26 -26
  160. package/dist/utils/BrowserStringUtils.js +149 -149
  161. package/dist/utils/BrowserUtils.d.ts +65 -65
  162. package/dist/utils/BrowserUtils.js +138 -138
  163. package/dist/utils/MathUtils.d.ts +11 -11
  164. package/dist/utils/MathUtils.js +21 -21
  165. package/lib/msal-browser.cjs.js +18227 -0
  166. package/lib/msal-browser.cjs.js.map +1 -0
  167. package/lib/msal-browser.js +18233 -0
  168. package/lib/msal-browser.js.map +1 -0
  169. package/lib/msal-browser.min.js +63 -0
  170. package/package.json +101 -95
  171. package/dist/crypto/MsBrowserCrypto.d.ts +0 -10
  172. package/dist/crypto/MsBrowserCrypto.d.ts.map +0 -1
  173. package/dist/crypto/MsBrowserCrypto.js +0 -88
  174. package/dist/crypto/MsBrowserCrypto.js.map +0 -1
  175. package/dist/crypto/MsrBrowserCrypto.d.ts +0 -18
  176. package/dist/crypto/MsrBrowserCrypto.d.ts.map +0 -1
  177. package/dist/crypto/MsrBrowserCrypto.js +0 -35
  178. package/dist/crypto/MsrBrowserCrypto.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StandardController.js","sources":["../../src/controllers/StandardController.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StandardController.js","sources":["../../src/controllers/StandardController.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,62 +1,50 @@
1
- import { Logger } from "@azure/msal-common";
2
- import { CryptoOptions } from "../config/Configuration";
3
- /**
4
- * This class implements functions used by the browser library to perform cryptography operations such as
5
- * hashing and encoding. It also has helper functions to validate the availability of specific APIs.
6
- */
7
- export declare class BrowserCrypto {
8
- private keygenAlgorithmOptions;
9
- private subtleCrypto;
10
- private logger;
11
- private cryptoOptions?;
12
- constructor(logger: Logger, cryptoOptions?: CryptoOptions);
13
- /**
14
- * Check whether IE crypto or other browser cryptography is available.
15
- */
16
- private hasIECrypto;
17
- /**
18
- * Check whether browser crypto is available.
19
- */
20
- private hasBrowserCrypto;
21
- /**
22
- * Check whether MSR crypto polyfill is available
23
- */
24
- private hasMsrCrypto;
25
- /**
26
- * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
27
- * @param dataString
28
- */
29
- sha256Digest(dataString: string): Promise<ArrayBuffer>;
30
- /**
31
- * Populates buffer with cryptographically random values.
32
- * @param dataBuffer
33
- */
34
- getRandomValues(dataBuffer: Uint8Array): Uint8Array;
35
- /**
36
- * Generates a keypair based on current keygen algorithm config.
37
- * @param extractable
38
- * @param usages
39
- */
40
- generateKeyPair(extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKeyPair>;
41
- /**
42
- * Export key as Json Web Key (JWK)
43
- * @param key
44
- * @param format
45
- */
46
- exportJwk(key: CryptoKey): Promise<JsonWebKey>;
47
- /**
48
- * Imports key as Json Web Key (JWK), can set extractable and usages.
49
- * @param key
50
- * @param format
51
- * @param extractable
52
- * @param usages
53
- */
54
- importJwk(key: JsonWebKey, extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKey>;
55
- /**
56
- * Signs given data with given key
57
- * @param key
58
- * @param data
59
- */
60
- sign(key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
61
- }
1
+ import { Logger } from "@azure/msal-common";
2
+ /**
3
+ * This class implements functions used by the browser library to perform cryptography operations such as
4
+ * hashing and encoding. It also has helper functions to validate the availability of specific APIs.
5
+ */
6
+ export declare class BrowserCrypto {
7
+ private keygenAlgorithmOptions;
8
+ private subtleCrypto;
9
+ private logger;
10
+ constructor(logger: Logger);
11
+ /**
12
+ * Check whether browser crypto is available.
13
+ */
14
+ private hasBrowserCrypto;
15
+ /**
16
+ * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
17
+ * @param dataString
18
+ */
19
+ sha256Digest(dataString: string): Promise<ArrayBuffer>;
20
+ /**
21
+ * Populates buffer with cryptographically random values.
22
+ * @param dataBuffer
23
+ */
24
+ getRandomValues(dataBuffer: Uint8Array): Uint8Array;
25
+ /**
26
+ * Generates a keypair based on current keygen algorithm config.
27
+ * @param extractable
28
+ * @param usages
29
+ */
30
+ generateKeyPair(extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKeyPair>;
31
+ /**
32
+ * Export key as Json Web Key (JWK)
33
+ * @param key
34
+ */
35
+ exportJwk(key: CryptoKey): Promise<JsonWebKey>;
36
+ /**
37
+ * Imports key as Json Web Key (JWK), can set extractable and usages.
38
+ * @param key
39
+ * @param extractable
40
+ * @param usages
41
+ */
42
+ importJwk(key: JsonWebKey, extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKey>;
43
+ /**
44
+ * Signs given data with given key
45
+ * @param key
46
+ * @param data
47
+ */
48
+ sign(key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
49
+ }
62
50
  //# sourceMappingURL=BrowserCrypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/BrowserCrypto.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAaxD;;;GAGG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,sBAAsB,CAAwB;IACtD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAgB;gBAE1B,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,aAAa;IAuDzD;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5D;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;IAInD;;;;OAIG;IACG,eAAe,CACjB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;;OAIG;IACG,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAIpD;;;;;;OAMG;IACG,SAAS,CACX,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC;IASrB;;;;OAIG;IACG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAGtE"}
1
+ {"version":3,"file":"BrowserCrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/BrowserCrypto.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAa5C;;;GAGG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,sBAAsB,CAAwB;IACtD,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAwB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;OAGG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM5D;;;OAGG;IACH,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU;IAInD;;;;OAIG;IACG,eAAe,CACjB,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC;IAQzB;;;OAGG;IACG,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAIpD;;;;;OAKG;IACG,SAAS,CACX,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC;IASrB;;;;OAIG;IACG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;CAGtE"}
@@ -1,142 +1,101 @@
1
- /*! @azure/msal-browser v3.0.0-alpha.1 2023-05-08 */
1
+ /*! @azure/msal-browser v3.0.0-beta.0 2023-06-19 */
2
2
  'use strict';
3
3
  import { BrowserStringUtils } from '../utils/BrowserStringUtils.js';
4
4
  import { BrowserAuthError } from '../error/BrowserAuthError.js';
5
5
  import { ModernBrowserCrypto } from './ModernBrowserCrypto.js';
6
- import { MsrBrowserCrypto } from './MsrBrowserCrypto.js';
7
- import { MsBrowserCrypto } from './MsBrowserCrypto.js';
8
- import { BrowserConfigurationAuthError } from '../error/BrowserConfigurationAuthError.js';
9
6
 
10
- /*
11
- * Copyright (c) Microsoft Corporation. All rights reserved.
12
- * Licensed under the MIT License.
13
- */
14
- /**
15
- * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams
16
- */
17
- // RSA KeyGen Algorithm
18
- const PKCS1_V15_KEYGEN_ALG = "RSASSA-PKCS1-v1_5";
19
- // SHA-256 hashing algorithm
20
- const S256_HASH_ALG = "SHA-256";
21
- // MOD length for PoP tokens
22
- const MODULUS_LENGTH = 2048;
23
- // Public Exponent
24
- const PUBLIC_EXPONENT = new Uint8Array([0x01, 0x00, 0x01]);
25
- /**
26
- * This class implements functions used by the browser library to perform cryptography operations such as
27
- * hashing and encoding. It also has helper functions to validate the availability of specific APIs.
28
- */
29
- class BrowserCrypto {
30
- constructor(logger, cryptoOptions) {
31
- this.logger = logger;
32
- this.cryptoOptions = cryptoOptions;
33
- if (this.hasBrowserCrypto()) {
34
- // Use standard modern web crypto if available
35
- this.logger.verbose("BrowserCrypto: modern crypto interface available");
36
- this.subtleCrypto = new ModernBrowserCrypto();
37
- }
38
- else if (this.hasIECrypto()) {
39
- // For IE11, use msCrypto interface
40
- this.logger.verbose("BrowserCrypto: MS crypto interface available");
41
- this.subtleCrypto = new MsBrowserCrypto();
42
- }
43
- else if (this.hasMsrCrypto() && this.cryptoOptions?.useMsrCrypto) {
44
- // For other browsers, use MSR Crypto if found
45
- this.logger.verbose("BrowserCrypto: MSR crypto interface available");
46
- this.subtleCrypto = new MsrBrowserCrypto();
47
- }
48
- else {
49
- if (this.hasMsrCrypto()) {
50
- this.logger.info("BrowserCrypto: MSR Crypto interface available but system.cryptoOptions.useMsrCrypto not enabled");
51
- }
52
- this.logger.error("BrowserCrypto: No crypto interfaces available.");
53
- throw BrowserAuthError.createCryptoNotAvailableError("Browser crypto, msCrypto, or msrCrypto interfaces not available.");
54
- }
55
- // Mainly needed for MSR Crypto: https://github.com/microsoft/MSR-JavaScript-Crypto#random-number-generator-prng
56
- if (this.subtleCrypto.initPrng) {
57
- this.logger.verbose("BrowserCrypto: Interface requires entropy");
58
- if (!this.cryptoOptions?.entropy) {
59
- this.logger.error("BrowserCrypto: Interface requires entropy but none provided.");
60
- throw BrowserConfigurationAuthError.createEntropyNotProvided();
61
- }
62
- this.logger.verbose("BrowserCrypto: Entropy provided");
63
- this.subtleCrypto.initPrng(this.cryptoOptions.entropy);
64
- }
65
- this.keygenAlgorithmOptions = {
66
- name: PKCS1_V15_KEYGEN_ALG,
67
- hash: S256_HASH_ALG,
68
- modulusLength: MODULUS_LENGTH,
69
- publicExponent: PUBLIC_EXPONENT,
70
- };
71
- }
72
- /**
73
- * Check whether IE crypto or other browser cryptography is available.
74
- */
75
- hasIECrypto() {
76
- return "msCrypto" in window;
77
- }
78
- /**
79
- * Check whether browser crypto is available.
80
- */
81
- hasBrowserCrypto() {
82
- return "crypto" in window;
83
- }
84
- /**
85
- * Check whether MSR crypto polyfill is available
86
- */
87
- hasMsrCrypto() {
88
- return "msrCrypto" in window;
89
- }
90
- /**
91
- * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
92
- * @param dataString
93
- */
94
- async sha256Digest(dataString) {
95
- const data = BrowserStringUtils.stringToUtf8Arr(dataString);
96
- // MSR Crypto wants object with name property, instead of string
97
- return this.subtleCrypto.digest({ name: S256_HASH_ALG }, data);
98
- }
99
- /**
100
- * Populates buffer with cryptographically random values.
101
- * @param dataBuffer
102
- */
103
- getRandomValues(dataBuffer) {
104
- return this.subtleCrypto.getRandomValues(dataBuffer);
105
- }
106
- /**
107
- * Generates a keypair based on current keygen algorithm config.
108
- * @param extractable
109
- * @param usages
110
- */
111
- async generateKeyPair(extractable, usages) {
112
- return this.subtleCrypto.generateKey(this.keygenAlgorithmOptions, extractable, usages);
113
- }
114
- /**
115
- * Export key as Json Web Key (JWK)
116
- * @param key
117
- * @param format
118
- */
119
- async exportJwk(key) {
120
- return this.subtleCrypto.exportKey(key);
121
- }
122
- /**
123
- * Imports key as Json Web Key (JWK), can set extractable and usages.
124
- * @param key
125
- * @param format
126
- * @param extractable
127
- * @param usages
128
- */
129
- async importJwk(key, extractable, usages) {
130
- return this.subtleCrypto.importKey(key, this.keygenAlgorithmOptions, extractable, usages);
131
- }
132
- /**
133
- * Signs given data with given key
134
- * @param key
135
- * @param data
136
- */
137
- async sign(key, data) {
138
- return this.subtleCrypto.sign(this.keygenAlgorithmOptions, key, data);
139
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ /**
12
+ * See here for more info on RsaHashedKeyGenParams: https://developer.mozilla.org/en-US/docs/Web/API/RsaHashedKeyGenParams
13
+ */
14
+ // RSA KeyGen Algorithm
15
+ const PKCS1_V15_KEYGEN_ALG = "RSASSA-PKCS1-v1_5";
16
+ // SHA-256 hashing algorithm
17
+ const S256_HASH_ALG = "SHA-256";
18
+ // MOD length for PoP tokens
19
+ const MODULUS_LENGTH = 2048;
20
+ // Public Exponent
21
+ const PUBLIC_EXPONENT = new Uint8Array([0x01, 0x00, 0x01]);
22
+ /**
23
+ * This class implements functions used by the browser library to perform cryptography operations such as
24
+ * hashing and encoding. It also has helper functions to validate the availability of specific APIs.
25
+ */
26
+ class BrowserCrypto {
27
+ constructor(logger) {
28
+ this.logger = logger;
29
+ if (this.hasBrowserCrypto()) {
30
+ // Use standard modern web crypto if available
31
+ this.logger.verbose("BrowserCrypto: modern crypto interface available");
32
+ this.subtleCrypto = new ModernBrowserCrypto();
33
+ }
34
+ else {
35
+ this.logger.error("BrowserCrypto: crypto interface is unavailable");
36
+ throw BrowserAuthError.createCryptoNotAvailableError("Browser crypto interface is not available.");
37
+ }
38
+ this.keygenAlgorithmOptions = {
39
+ name: PKCS1_V15_KEYGEN_ALG,
40
+ hash: S256_HASH_ALG,
41
+ modulusLength: MODULUS_LENGTH,
42
+ publicExponent: PUBLIC_EXPONENT,
43
+ };
44
+ }
45
+ /**
46
+ * Check whether browser crypto is available.
47
+ */
48
+ hasBrowserCrypto() {
49
+ return "crypto" in window;
50
+ }
51
+ /**
52
+ * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
53
+ * @param dataString
54
+ */
55
+ async sha256Digest(dataString) {
56
+ const data = BrowserStringUtils.stringToUtf8Arr(dataString);
57
+ // MSR Crypto wants object with name property, instead of string
58
+ return this.subtleCrypto.digest({ name: S256_HASH_ALG }, data);
59
+ }
60
+ /**
61
+ * Populates buffer with cryptographically random values.
62
+ * @param dataBuffer
63
+ */
64
+ getRandomValues(dataBuffer) {
65
+ return this.subtleCrypto.getRandomValues(dataBuffer);
66
+ }
67
+ /**
68
+ * Generates a keypair based on current keygen algorithm config.
69
+ * @param extractable
70
+ * @param usages
71
+ */
72
+ async generateKeyPair(extractable, usages) {
73
+ return this.subtleCrypto.generateKey(this.keygenAlgorithmOptions, extractable, usages);
74
+ }
75
+ /**
76
+ * Export key as Json Web Key (JWK)
77
+ * @param key
78
+ */
79
+ async exportJwk(key) {
80
+ return this.subtleCrypto.exportKey(key);
81
+ }
82
+ /**
83
+ * Imports key as Json Web Key (JWK), can set extractable and usages.
84
+ * @param key
85
+ * @param extractable
86
+ * @param usages
87
+ */
88
+ async importJwk(key, extractable, usages) {
89
+ return this.subtleCrypto.importKey(key, this.keygenAlgorithmOptions, extractable, usages);
90
+ }
91
+ /**
92
+ * Signs given data with given key
93
+ * @param key
94
+ * @param data
95
+ */
96
+ async sign(key, data) {
97
+ return this.subtleCrypto.sign(this.keygenAlgorithmOptions, key, data);
98
+ }
140
99
  }
141
100
 
142
101
  export { BrowserCrypto };
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserCrypto.js","sources":["../../src/crypto/BrowserCrypto.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrowserCrypto.js","sources":["../../src/crypto/BrowserCrypto.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAAA;;;AAGG;AAOH;;AAEG;AACH;AACA,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACjD;AACA,MAAM,aAAa,GAAG,SAAS,CAAC;AAChC;AACA,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B;AACA,MAAM,eAAe,GAAe,IAAI,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAEvE;;;AAGG;MACU,aAAa,CAAA;AAKtB,IAAA,WAAA,CAAY,MAAc,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAErB,QAAA,IAAI,IAAI,CAAC,gBAAgB,EAAE,EAAE;;AAEzB,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CACf,kDAAkD,CACrD,CAAC;AACF,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;AACjD,SAAA;AAAM,aAAA;AACH,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;AACpE,YAAA,MAAM,gBAAgB,CAAC,6BAA6B,CAChD,4CAA4C,CAC/C,CAAC;AACL,SAAA;QAED,IAAI,CAAC,sBAAsB,GAAG;AAC1B,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,IAAI,EAAE,aAAa;AACnB,YAAA,aAAa,EAAE,cAAc;AAC7B,YAAA,cAAc,EAAE,eAAe;SAClC,CAAC;KACL;AAED;;AAEG;IACK,gBAAgB,GAAA;QACpB,OAAO,QAAQ,IAAI,MAAM,CAAC;KAC7B;AAED;;;AAGG;IACH,MAAM,YAAY,CAAC,UAAkB,EAAA;QACjC,MAAM,IAAI,GAAG,kBAAkB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;;AAE5D,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,IAAI,CAAC,CAAC;KAClE;AAED;;;AAGG;AACH,IAAA,eAAe,CAAC,UAAsB,EAAA;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACxD;AAED;;;;AAIG;AACH,IAAA,MAAM,eAAe,CACjB,WAAoB,EACpB,MAAuB,EAAA;AAEvB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAChC,IAAI,CAAC,sBAAsB,EAC3B,WAAW,EACX,MAAM,CACT,CAAC;KACL;AAED;;;AAGG;IACH,MAAM,SAAS,CAAC,GAAc,EAAA;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;KAC3C;AAED;;;;;AAKG;AACH,IAAA,MAAM,SAAS,CACX,GAAe,EACf,WAAoB,EACpB,MAAuB,EAAA;AAEvB,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAC9B,GAAG,EACH,IAAI,CAAC,sBAAsB,EAC3B,WAAW,EACX,MAAM,CACT,CAAC;KACL;AAED;;;;AAIG;AACH,IAAA,MAAM,IAAI,CAAC,GAAc,EAAE,IAAiB,EAAA;AACxC,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;KACzE;AACJ;;;;"}