@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,74 +1,73 @@
1
- import { ICrypto, IPerformanceClient, Logger, PkceCodes, SignedHttpRequest, SignedHttpRequestParameters } from "@azure/msal-common";
2
- import { CryptoOptions } from "../config/Configuration";
3
- export type CachedKeyPair = {
4
- publicKey: CryptoKey;
5
- privateKey: CryptoKey;
6
- requestMethod?: string;
7
- requestUri?: string;
8
- };
9
- /**
10
- * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
11
- * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
12
- */
13
- export declare class CryptoOps implements ICrypto {
14
- private browserCrypto;
15
- private guidGenerator;
16
- private b64Encode;
17
- private b64Decode;
18
- private pkceGenerator;
19
- private logger;
20
- /**
21
- * CryptoOps can be used in contexts outside a PCA instance,
22
- * meaning there won't be a performance manager available.
23
- */
24
- private performanceClient;
25
- private static POP_KEY_USAGES;
26
- private static EXTRACTABLE;
27
- private cache;
28
- constructor(logger: Logger, performanceClient?: IPerformanceClient, cryptoConfig?: CryptoOptions);
29
- /**
30
- * Creates a new random GUID - used to populate state and nonce.
31
- * @returns string (GUID)
32
- */
33
- createNewGuid(): string;
34
- /**
35
- * Encodes input string to base64.
36
- * @param input
37
- */
38
- base64Encode(input: string): string;
39
- /**
40
- * Decodes input string from base64.
41
- * @param input
42
- */
43
- base64Decode(input: string): string;
44
- /**
45
- * Generates PKCE codes used in Authorization Code Flow.
46
- */
47
- generatePkceCodes(): Promise<PkceCodes>;
48
- /**
49
- * Generates a keypair, stores it and returns a thumbprint
50
- * @param request
51
- */
52
- getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
53
- /**
54
- * Removes cryptographic keypair from key store matching the keyId passed in
55
- * @param kid
56
- */
57
- removeTokenBindingKey(kid: string): Promise<boolean>;
58
- /**
59
- * Removes all cryptographic keys from IndexedDB storage
60
- */
61
- clearKeystore(): Promise<boolean>;
62
- /**
63
- * Signs the given object as a jwt payload with private key retrieved by given kid.
64
- * @param payload
65
- * @param kid
66
- */
67
- signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
68
- /**
69
- * Returns the SHA-256 hash of an input string
70
- * @param plainText
71
- */
72
- hashString(plainText: string): Promise<string>;
73
- }
1
+ import { ICrypto, IPerformanceClient, Logger, PkceCodes, 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 browserCrypto;
14
+ private guidGenerator;
15
+ private b64Encode;
16
+ private b64Decode;
17
+ private pkceGenerator;
18
+ private logger;
19
+ /**
20
+ * CryptoOps can be used in contexts outside a PCA instance,
21
+ * meaning there won't be a performance manager available.
22
+ */
23
+ private performanceClient;
24
+ private static POP_KEY_USAGES;
25
+ private static EXTRACTABLE;
26
+ private cache;
27
+ constructor(logger: Logger, performanceClient?: IPerformanceClient);
28
+ /**
29
+ * Creates a new random GUID - used to populate state and nonce.
30
+ * @returns string (GUID)
31
+ */
32
+ createNewGuid(): string;
33
+ /**
34
+ * Encodes input string to base64.
35
+ * @param input
36
+ */
37
+ base64Encode(input: string): string;
38
+ /**
39
+ * Decodes input string from base64.
40
+ * @param input
41
+ */
42
+ base64Decode(input: string): string;
43
+ /**
44
+ * Generates PKCE codes used in Authorization Code Flow.
45
+ */
46
+ generatePkceCodes(): Promise<PkceCodes>;
47
+ /**
48
+ * Generates a keypair, stores it and returns a thumbprint
49
+ * @param request
50
+ */
51
+ getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
52
+ /**
53
+ * Removes cryptographic keypair from key store matching the keyId passed in
54
+ * @param kid
55
+ */
56
+ removeTokenBindingKey(kid: string): Promise<boolean>;
57
+ /**
58
+ * Removes all cryptographic keys from IndexedDB storage
59
+ */
60
+ clearKeystore(): Promise<boolean>;
61
+ /**
62
+ * Signs the given object as a jwt payload with private key retrieved by given kid.
63
+ * @param payload
64
+ * @param kid
65
+ */
66
+ signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
67
+ /**
68
+ * Returns the SHA-256 hash of an input string
69
+ * @param plainText
70
+ */
71
+ hashString(plainText: string): Promise<string>;
72
+ }
74
73
  //# 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,SAAS,EACT,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAExD,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,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,aAAa,CAAgB;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;gBAG1B,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,YAAY,CAAC,EAAE,aAAa;IAahC;;;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;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC;IAI7C;;;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;IA8DlB;;;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,SAAS,EACT,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,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,aAAa,CAAgB;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;gBAG1B,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,kBAAkB;IAa1C;;;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;;OAEG;IACG,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC;IAI7C;;;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;IA8DlB;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOvD"}
@@ -1,4 +1,4 @@
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 { PerformanceEvents, JoseHeader } from '@azure/msal-common';
4
4
  import { GuidGenerator } from './GuidGenerator.js';
@@ -10,155 +10,155 @@ import { BrowserStringUtils } from '../utils/BrowserStringUtils.js';
10
10
  import { BrowserAuthError } from '../error/BrowserAuthError.js';
11
11
  import { CryptoKeyStore } from '../cache/CryptoKeyStore.js';
12
12
 
13
- /*
14
- * Copyright (c) Microsoft Corporation. All rights reserved.
15
- * Licensed under the MIT License.
16
- */
17
- /**
18
- * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
19
- * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
20
- */
21
- class CryptoOps {
22
- constructor(logger, performanceClient, cryptoConfig) {
23
- this.logger = logger;
24
- // Browser crypto needs to be validated first before any other classes can be set.
25
- this.browserCrypto = new BrowserCrypto(this.logger, cryptoConfig);
26
- this.b64Encode = new Base64Encode();
27
- this.b64Decode = new Base64Decode();
28
- this.guidGenerator = new GuidGenerator(this.browserCrypto);
29
- this.pkceGenerator = new PkceGenerator(this.browserCrypto);
30
- this.cache = new CryptoKeyStore(this.logger);
31
- this.performanceClient = performanceClient;
32
- }
33
- /**
34
- * Creates a new random GUID - used to populate state and nonce.
35
- * @returns string (GUID)
36
- */
37
- createNewGuid() {
38
- return this.guidGenerator.generateGuid();
39
- }
40
- /**
41
- * Encodes input string to base64.
42
- * @param input
43
- */
44
- base64Encode(input) {
45
- return this.b64Encode.encode(input);
46
- }
47
- /**
48
- * Decodes input string from base64.
49
- * @param input
50
- */
51
- base64Decode(input) {
52
- return this.b64Decode.decode(input);
53
- }
54
- /**
55
- * Generates PKCE codes used in Authorization Code Flow.
56
- */
57
- async generatePkceCodes() {
58
- return this.pkceGenerator.generateCodes();
59
- }
60
- /**
61
- * Generates a keypair, stores it and returns a thumbprint
62
- * @param request
63
- */
64
- async getPublicKeyThumbprint(request) {
65
- const publicKeyThumbMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);
66
- // Generate Keypair
67
- const keyPair = await this.browserCrypto.generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES);
68
- // Generate Thumbprint for Public Key
69
- const publicKeyJwk = await this.browserCrypto.exportJwk(keyPair.publicKey);
70
- const pubKeyThumprintObj = {
71
- e: publicKeyJwk.e,
72
- kty: publicKeyJwk.kty,
73
- n: publicKeyJwk.n,
74
- };
75
- const publicJwkString = BrowserStringUtils.getSortedObjectString(pubKeyThumprintObj);
76
- const publicJwkHash = await this.hashString(publicJwkString);
77
- // Generate Thumbprint for Private Key
78
- const privateKeyJwk = await this.browserCrypto.exportJwk(keyPair.privateKey);
79
- // Re-import private key to make it unextractable
80
- const unextractablePrivateKey = await this.browserCrypto.importJwk(privateKeyJwk, false, ["sign"]);
81
- // Store Keypair data in keystore
82
- await this.cache.asymmetricKeys.setItem(publicJwkHash, {
83
- privateKey: unextractablePrivateKey,
84
- publicKey: keyPair.publicKey,
85
- requestMethod: request.resourceRequestMethod,
86
- requestUri: request.resourceRequestUri,
87
- });
88
- if (publicKeyThumbMeasurement) {
89
- publicKeyThumbMeasurement.endMeasurement({
90
- success: true,
91
- });
92
- }
93
- return publicJwkHash;
94
- }
95
- /**
96
- * Removes cryptographic keypair from key store matching the keyId passed in
97
- * @param kid
98
- */
99
- async removeTokenBindingKey(kid) {
100
- await this.cache.asymmetricKeys.removeItem(kid);
101
- const keyFound = await this.cache.asymmetricKeys.containsKey(kid);
102
- return !keyFound;
103
- }
104
- /**
105
- * Removes all cryptographic keys from IndexedDB storage
106
- */
107
- async clearKeystore() {
108
- return await this.cache.clear();
109
- }
110
- /**
111
- * Signs the given object as a jwt payload with private key retrieved by given kid.
112
- * @param payload
113
- * @param kid
114
- */
115
- async signJwt(payload, kid, correlationId) {
116
- const signJwtMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);
117
- const cachedKeyPair = await this.cache.asymmetricKeys.getItem(kid);
118
- if (!cachedKeyPair) {
119
- throw BrowserAuthError.createSigningKeyNotFoundInStorageError(kid);
120
- }
121
- // Get public key as JWK
122
- const publicKeyJwk = await this.browserCrypto.exportJwk(cachedKeyPair.publicKey);
123
- const publicKeyJwkString = BrowserStringUtils.getSortedObjectString(publicKeyJwk);
124
- // Base64URL encode public key thumbprint with keyId only: BASE64URL({ kid: "FULL_PUBLIC_KEY_HASH" })
125
- const encodedKeyIdThumbprint = this.b64Encode.urlEncode(JSON.stringify({ kid: kid }));
126
- // Generate header
127
- const shrHeader = JoseHeader.getShrHeaderString({
128
- kid: encodedKeyIdThumbprint,
129
- alg: publicKeyJwk.alg,
130
- });
131
- const encodedShrHeader = this.b64Encode.urlEncode(shrHeader);
132
- // Generate payload
133
- payload.cnf = {
134
- jwk: JSON.parse(publicKeyJwkString),
135
- };
136
- const encodedPayload = this.b64Encode.urlEncode(JSON.stringify(payload));
137
- // Form token string
138
- const tokenString = `${encodedShrHeader}.${encodedPayload}`;
139
- // Sign token
140
- const tokenBuffer = BrowserStringUtils.stringToArrayBuffer(tokenString);
141
- const signatureBuffer = await this.browserCrypto.sign(cachedKeyPair.privateKey, tokenBuffer);
142
- const encodedSignature = this.b64Encode.urlEncodeArr(new Uint8Array(signatureBuffer));
143
- const signedJwt = `${tokenString}.${encodedSignature}`;
144
- if (signJwtMeasurement) {
145
- signJwtMeasurement.endMeasurement({
146
- success: true,
147
- });
148
- }
149
- return signedJwt;
150
- }
151
- /**
152
- * Returns the SHA-256 hash of an input string
153
- * @param plainText
154
- */
155
- async hashString(plainText) {
156
- const hashBuffer = await this.browserCrypto.sha256Digest(plainText);
157
- const hashBytes = new Uint8Array(hashBuffer);
158
- return this.b64Encode.urlEncodeArr(hashBytes);
159
- }
160
- }
161
- CryptoOps.POP_KEY_USAGES = ["sign", "verify"];
13
+ /*
14
+ * Copyright (c) Microsoft Corporation. All rights reserved.
15
+ * Licensed under the MIT License.
16
+ */
17
+ /**
18
+ * This class implements MSAL's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
19
+ * implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
20
+ */
21
+ class CryptoOps {
22
+ constructor(logger, performanceClient) {
23
+ this.logger = logger;
24
+ // Browser crypto needs to be validated first before any other classes can be set.
25
+ this.browserCrypto = new BrowserCrypto(this.logger);
26
+ this.b64Encode = new Base64Encode();
27
+ this.b64Decode = new Base64Decode();
28
+ this.guidGenerator = new GuidGenerator(this.browserCrypto);
29
+ this.pkceGenerator = new PkceGenerator(this.browserCrypto);
30
+ this.cache = new CryptoKeyStore(this.logger);
31
+ this.performanceClient = performanceClient;
32
+ }
33
+ /**
34
+ * Creates a new random GUID - used to populate state and nonce.
35
+ * @returns string (GUID)
36
+ */
37
+ createNewGuid() {
38
+ return this.guidGenerator.generateGuid();
39
+ }
40
+ /**
41
+ * Encodes input string to base64.
42
+ * @param input
43
+ */
44
+ base64Encode(input) {
45
+ return this.b64Encode.encode(input);
46
+ }
47
+ /**
48
+ * Decodes input string from base64.
49
+ * @param input
50
+ */
51
+ base64Decode(input) {
52
+ return this.b64Decode.decode(input);
53
+ }
54
+ /**
55
+ * Generates PKCE codes used in Authorization Code Flow.
56
+ */
57
+ async generatePkceCodes() {
58
+ return this.pkceGenerator.generateCodes();
59
+ }
60
+ /**
61
+ * Generates a keypair, stores it and returns a thumbprint
62
+ * @param request
63
+ */
64
+ async getPublicKeyThumbprint(request) {
65
+ const publicKeyThumbMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsGetPublicKeyThumbprint, request.correlationId);
66
+ // Generate Keypair
67
+ const keyPair = await this.browserCrypto.generateKeyPair(CryptoOps.EXTRACTABLE, CryptoOps.POP_KEY_USAGES);
68
+ // Generate Thumbprint for Public Key
69
+ const publicKeyJwk = await this.browserCrypto.exportJwk(keyPair.publicKey);
70
+ const pubKeyThumprintObj = {
71
+ e: publicKeyJwk.e,
72
+ kty: publicKeyJwk.kty,
73
+ n: publicKeyJwk.n,
74
+ };
75
+ const publicJwkString = BrowserStringUtils.getSortedObjectString(pubKeyThumprintObj);
76
+ const publicJwkHash = await this.hashString(publicJwkString);
77
+ // Generate Thumbprint for Private Key
78
+ const privateKeyJwk = await this.browserCrypto.exportJwk(keyPair.privateKey);
79
+ // Re-import private key to make it unextractable
80
+ const unextractablePrivateKey = await this.browserCrypto.importJwk(privateKeyJwk, false, ["sign"]);
81
+ // Store Keypair data in keystore
82
+ await this.cache.asymmetricKeys.setItem(publicJwkHash, {
83
+ privateKey: unextractablePrivateKey,
84
+ publicKey: keyPair.publicKey,
85
+ requestMethod: request.resourceRequestMethod,
86
+ requestUri: request.resourceRequestUri,
87
+ });
88
+ if (publicKeyThumbMeasurement) {
89
+ publicKeyThumbMeasurement.endMeasurement({
90
+ success: true,
91
+ });
92
+ }
93
+ return publicJwkHash;
94
+ }
95
+ /**
96
+ * Removes cryptographic keypair from key store matching the keyId passed in
97
+ * @param kid
98
+ */
99
+ async removeTokenBindingKey(kid) {
100
+ await this.cache.asymmetricKeys.removeItem(kid);
101
+ const keyFound = await this.cache.asymmetricKeys.containsKey(kid);
102
+ return !keyFound;
103
+ }
104
+ /**
105
+ * Removes all cryptographic keys from IndexedDB storage
106
+ */
107
+ async clearKeystore() {
108
+ return await this.cache.clear();
109
+ }
110
+ /**
111
+ * Signs the given object as a jwt payload with private key retrieved by given kid.
112
+ * @param payload
113
+ * @param kid
114
+ */
115
+ async signJwt(payload, kid, correlationId) {
116
+ const signJwtMeasurement = this.performanceClient?.startMeasurement(PerformanceEvents.CryptoOptsSignJwt, correlationId);
117
+ const cachedKeyPair = await this.cache.asymmetricKeys.getItem(kid);
118
+ if (!cachedKeyPair) {
119
+ throw BrowserAuthError.createSigningKeyNotFoundInStorageError(kid);
120
+ }
121
+ // Get public key as JWK
122
+ const publicKeyJwk = await this.browserCrypto.exportJwk(cachedKeyPair.publicKey);
123
+ const publicKeyJwkString = BrowserStringUtils.getSortedObjectString(publicKeyJwk);
124
+ // Base64URL encode public key thumbprint with keyId only: BASE64URL({ kid: "FULL_PUBLIC_KEY_HASH" })
125
+ const encodedKeyIdThumbprint = this.b64Encode.urlEncode(JSON.stringify({ kid: kid }));
126
+ // Generate header
127
+ const shrHeader = JoseHeader.getShrHeaderString({
128
+ kid: encodedKeyIdThumbprint,
129
+ alg: publicKeyJwk.alg,
130
+ });
131
+ const encodedShrHeader = this.b64Encode.urlEncode(shrHeader);
132
+ // Generate payload
133
+ payload.cnf = {
134
+ jwk: JSON.parse(publicKeyJwkString),
135
+ };
136
+ const encodedPayload = this.b64Encode.urlEncode(JSON.stringify(payload));
137
+ // Form token string
138
+ const tokenString = `${encodedShrHeader}.${encodedPayload}`;
139
+ // Sign token
140
+ const tokenBuffer = BrowserStringUtils.stringToArrayBuffer(tokenString);
141
+ const signatureBuffer = await this.browserCrypto.sign(cachedKeyPair.privateKey, tokenBuffer);
142
+ const encodedSignature = this.b64Encode.urlEncodeArr(new Uint8Array(signatureBuffer));
143
+ const signedJwt = `${tokenString}.${encodedSignature}`;
144
+ if (signJwtMeasurement) {
145
+ signJwtMeasurement.endMeasurement({
146
+ success: true,
147
+ });
148
+ }
149
+ return signedJwt;
150
+ }
151
+ /**
152
+ * Returns the SHA-256 hash of an input string
153
+ * @param plainText
154
+ */
155
+ async hashString(plainText) {
156
+ const hashBuffer = await this.browserCrypto.sha256Digest(plainText);
157
+ const hashBytes = new Uint8Array(hashBuffer);
158
+ return this.b64Encode.urlEncodeArr(hashBytes);
159
+ }
160
+ }
161
+ CryptoOps.POP_KEY_USAGES = ["sign", "verify"];
162
162
  CryptoOps.EXTRACTABLE = true;
163
163
 
164
164
  export { CryptoOps };
@@ -1 +1 @@
1
- {"version":3,"file":"CryptoOps.js","sources":["../../src/crypto/CryptoOps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CryptoOps.js","sources":["../../src/crypto/CryptoOps.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import { IGuidGenerator } from "@azure/msal-common";
2
- import { BrowserCrypto } from "./BrowserCrypto";
3
- export declare class GuidGenerator implements IGuidGenerator {
4
- private cryptoObj;
5
- constructor(cryptoObj: BrowserCrypto);
6
- generateGuid(): string;
7
- /**
8
- * verifies if a string is GUID
9
- * @param guid
10
- */
11
- isGuid(guid: string): boolean;
12
- }
1
+ import { IGuidGenerator } from "@azure/msal-common";
2
+ import { BrowserCrypto } from "./BrowserCrypto";
3
+ export declare class GuidGenerator implements IGuidGenerator {
4
+ private cryptoObj;
5
+ constructor(cryptoObj: BrowserCrypto);
6
+ generateGuid(): string;
7
+ /**
8
+ * verifies if a string is GUID
9
+ * @param guid
10
+ */
11
+ isGuid(guid: string): boolean;
12
+ }
13
13
  //# sourceMappingURL=GuidGenerator.d.ts.map