@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,95 +1,100 @@
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 { AuthError, InteractionRequiredAuthError } from '@azure/msal-common';
4
4
  import { BrowserAuthError } from './BrowserAuthError.js';
5
5
 
6
- /*
7
- * Copyright (c) Microsoft Corporation. All rights reserved.
8
- * Licensed under the MIT License.
9
- */
10
- var NativeStatusCode;
11
- (function (NativeStatusCode) {
12
- NativeStatusCode["USER_INTERACTION_REQUIRED"] = "USER_INTERACTION_REQUIRED";
13
- NativeStatusCode["USER_CANCEL"] = "USER_CANCEL";
14
- NativeStatusCode["NO_NETWORK"] = "NO_NETWORK";
15
- NativeStatusCode["TRANSIENT_ERROR"] = "TRANSIENT_ERROR";
16
- NativeStatusCode["PERSISTENT_ERROR"] = "PERSISTENT_ERROR";
17
- NativeStatusCode["DISABLED"] = "DISABLED";
18
- NativeStatusCode["ACCOUNT_UNAVAILABLE"] = "ACCOUNT_UNAVAILABLE";
19
- })(NativeStatusCode || (NativeStatusCode = {}));
20
- const NativeAuthErrorMessage = {
21
- extensionError: {
22
- code: "ContentError",
23
- },
24
- userSwitch: {
25
- code: "user_switch",
26
- desc: "User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again.",
27
- },
28
- tokensNotFoundInCache: {
29
- code: "tokens_not_found_in_internal_memory_cache",
30
- desc: "Tokens not cached in MSAL JS internal memory, please make the WAM request",
31
- },
32
- };
33
- class NativeAuthError extends AuthError {
34
- constructor(errorCode, description, ext) {
35
- super(errorCode, description);
36
- Object.setPrototypeOf(this, NativeAuthError.prototype);
37
- this.name = "NativeAuthError";
38
- this.ext = ext;
39
- }
40
- /**
41
- * These errors should result in a fallback to the 'standard' browser based auth flow.
42
- */
43
- isFatal() {
44
- if (this.ext &&
45
- this.ext.status &&
46
- (this.ext.status === NativeStatusCode.PERSISTENT_ERROR ||
47
- this.ext.status === NativeStatusCode.DISABLED)) {
48
- return true;
49
- }
50
- switch (this.errorCode) {
51
- case NativeAuthErrorMessage.extensionError.code:
52
- return true;
53
- default:
54
- return false;
55
- }
56
- }
57
- /**
58
- * Create the appropriate error object based on the WAM status code.
59
- * @param code
60
- * @param description
61
- * @param ext
62
- * @returns
63
- */
64
- static createError(code, description, ext) {
65
- if (ext && ext.status) {
66
- switch (ext.status) {
67
- case NativeStatusCode.ACCOUNT_UNAVAILABLE:
68
- return InteractionRequiredAuthError.createNativeAccountUnavailableError();
69
- case NativeStatusCode.USER_INTERACTION_REQUIRED:
70
- return new InteractionRequiredAuthError(code, description);
71
- case NativeStatusCode.USER_CANCEL:
72
- return BrowserAuthError.createUserCancelledError();
73
- case NativeStatusCode.NO_NETWORK:
74
- return BrowserAuthError.createNoNetworkConnectivityError();
75
- }
76
- }
77
- return new NativeAuthError(code, description, ext);
78
- }
79
- /**
80
- * Creates user switch error when the user chooses a different account in the native broker prompt
81
- * @returns
82
- */
83
- static createUserSwitchError() {
84
- return new NativeAuthError(NativeAuthErrorMessage.userSwitch.code, NativeAuthErrorMessage.userSwitch.desc);
85
- }
86
- /**
87
- * Creates a tokens not found error when the internal cache look up fails
88
- * @returns NativeAuthError: tokensNotFoundInCache
89
- */
90
- static createTokensNotFoundInCacheError() {
91
- return new NativeAuthError(NativeAuthErrorMessage.tokensNotFoundInCache.code, NativeAuthErrorMessage.tokensNotFoundInCache.desc);
92
- }
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ const INVALID_METHOD_ERROR = -2147186943;
11
+ const NativeStatusCode = {
12
+ USER_INTERACTION_REQUIRED: "USER_INTERACTION_REQUIRED",
13
+ USER_CANCEL: "USER_CANCEL",
14
+ NO_NETWORK: "NO_NETWORK",
15
+ TRANSIENT_ERROR: "TRANSIENT_ERROR",
16
+ PERSISTENT_ERROR: "PERSISTENT_ERROR",
17
+ DISABLED: "DISABLED",
18
+ ACCOUNT_UNAVAILABLE: "ACCOUNT_UNAVAILABLE",
19
+ };
20
+ const NativeAuthErrorMessage = {
21
+ extensionError: {
22
+ code: "ContentError",
23
+ },
24
+ userSwitch: {
25
+ code: "user_switch",
26
+ desc: "User attempted to switch accounts in the native broker, which is not allowed. All new accounts must sign-in through the standard web flow first, please try again.",
27
+ },
28
+ tokensNotFoundInCache: {
29
+ code: "tokens_not_found_in_internal_memory_cache",
30
+ desc: "Tokens not cached in MSAL JS internal memory, please make the WAM request",
31
+ },
32
+ };
33
+ class NativeAuthError extends AuthError {
34
+ constructor(errorCode, description, ext) {
35
+ super(errorCode, description);
36
+ Object.setPrototypeOf(this, NativeAuthError.prototype);
37
+ this.name = "NativeAuthError";
38
+ this.ext = ext;
39
+ }
40
+ /**
41
+ * These errors should result in a fallback to the 'standard' browser based auth flow.
42
+ */
43
+ isFatal() {
44
+ if (this.ext &&
45
+ this.ext.status &&
46
+ (this.ext.status === NativeStatusCode.PERSISTENT_ERROR ||
47
+ this.ext.status === NativeStatusCode.DISABLED)) {
48
+ return true;
49
+ }
50
+ if (this.ext &&
51
+ this.ext.error &&
52
+ this.ext.error === INVALID_METHOD_ERROR) {
53
+ return true;
54
+ }
55
+ switch (this.errorCode) {
56
+ case NativeAuthErrorMessage.extensionError.code:
57
+ return true;
58
+ default:
59
+ return false;
60
+ }
61
+ }
62
+ /**
63
+ * Create the appropriate error object based on the WAM status code.
64
+ * @param code
65
+ * @param description
66
+ * @param ext
67
+ * @returns
68
+ */
69
+ static createError(code, description, ext) {
70
+ if (ext && ext.status) {
71
+ switch (ext.status) {
72
+ case NativeStatusCode.ACCOUNT_UNAVAILABLE:
73
+ return InteractionRequiredAuthError.createNativeAccountUnavailableError();
74
+ case NativeStatusCode.USER_INTERACTION_REQUIRED:
75
+ return new InteractionRequiredAuthError(code, description);
76
+ case NativeStatusCode.USER_CANCEL:
77
+ return BrowserAuthError.createUserCancelledError();
78
+ case NativeStatusCode.NO_NETWORK:
79
+ return BrowserAuthError.createNoNetworkConnectivityError();
80
+ }
81
+ }
82
+ return new NativeAuthError(code, description, ext);
83
+ }
84
+ /**
85
+ * Creates user switch error when the user chooses a different account in the native broker prompt
86
+ * @returns
87
+ */
88
+ static createUserSwitchError() {
89
+ return new NativeAuthError(NativeAuthErrorMessage.userSwitch.code, NativeAuthErrorMessage.userSwitch.desc);
90
+ }
91
+ /**
92
+ * Creates a tokens not found error when the internal cache look up fails
93
+ * @returns NativeAuthError: tokensNotFoundInCache
94
+ */
95
+ static createTokensNotFoundInCacheError() {
96
+ return new NativeAuthError(NativeAuthErrorMessage.tokensNotFoundInCache.code, NativeAuthErrorMessage.tokensNotFoundInCache.desc);
97
+ }
93
98
  }
94
99
 
95
100
  export { NativeAuthError, NativeAuthErrorMessage, NativeStatusCode };
@@ -1 +1 @@
1
- {"version":3,"file":"NativeAuthError.js","sources":["../../src/error/NativeAuthError.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeAuthError.js","sources":["../../src/error/NativeAuthError.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;AAaH,MAAM,oBAAoB,GAAG,CAAC,UAAU,CAAC;AAE5B,MAAA,gBAAgB,GAAG;AAC5B,IAAA,yBAAyB,EAAE,2BAA2B;AACtD,IAAA,WAAW,EAAE,aAAa;AAC1B,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,eAAe,EAAE,iBAAiB;AAClC,IAAA,gBAAgB,EAAE,kBAAkB;AACpC,IAAA,QAAQ,EAAE,UAAU;AACpB,IAAA,mBAAmB,EAAE,qBAAqB;EACnC;AAGE,MAAA,sBAAsB,GAAG;AAClC,IAAA,cAAc,EAAE;AACZ,QAAA,IAAI,EAAE,cAAc;AACvB,KAAA;AACD,IAAA,UAAU,EAAE;AACR,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,IAAI,EAAE,oKAAoK;AAC7K,KAAA;AACD,IAAA,qBAAqB,EAAE;AACnB,QAAA,IAAI,EAAE,2CAA2C;AACjD,QAAA,IAAI,EAAE,2EAA2E;AACpF,KAAA;EACH;AAEI,MAAO,eAAgB,SAAQ,SAAS,CAAA;AAG1C,IAAA,WAAA,CAAY,SAAiB,EAAE,WAAmB,EAAE,GAAa,EAAA;AAC7D,QAAA,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAE9B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;AAC9B,QAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;KAClB;AAED;;AAEG;IACH,OAAO,GAAA;QACH,IACI,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,GAAG,CAAC,MAAM;aACd,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,gBAAgB,CAAC,gBAAgB;gBAClD,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,gBAAgB,CAAC,QAAQ,CAAC,EACpD;AACE,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,IACI,IAAI,CAAC,GAAG;YACR,IAAI,CAAC,GAAG,CAAC,KAAK;AACd,YAAA,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,oBAAoB,EACzC;AACE,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QAED,QAAQ,IAAI,CAAC,SAAS;AAClB,YAAA,KAAK,sBAAsB,CAAC,cAAc,CAAC,IAAI;AAC3C,gBAAA,OAAO,IAAI,CAAC;AAChB,YAAA;AACI,gBAAA,OAAO,KAAK,CAAC;AACpB,SAAA;KACJ;AAED;;;;;;AAMG;AACH,IAAA,OAAO,WAAW,CACd,IAAY,EACZ,WAAmB,EACnB,GAAa,EAAA;AAEb,QAAA,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE;YACnB,QAAQ,GAAG,CAAC,MAAM;gBACd,KAAK,gBAAgB,CAAC,mBAAmB;AACrC,oBAAA,OAAO,4BAA4B,CAAC,mCAAmC,EAAE,CAAC;gBAC9E,KAAK,gBAAgB,CAAC,yBAAyB;AAC3C,oBAAA,OAAO,IAAI,4BAA4B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC/D,KAAK,gBAAgB,CAAC,WAAW;AAC7B,oBAAA,OAAO,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;gBACvD,KAAK,gBAAgB,CAAC,UAAU;AAC5B,oBAAA,OAAO,gBAAgB,CAAC,gCAAgC,EAAE,CAAC;AAClE,aAAA;AACJ,SAAA;QAED,OAAO,IAAI,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;KACtD;AAED;;;AAGG;AACH,IAAA,OAAO,qBAAqB,GAAA;AACxB,QAAA,OAAO,IAAI,eAAe,CACtB,sBAAsB,CAAC,UAAU,CAAC,IAAI,EACtC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CACzC,CAAC;KACL;AAED;;;AAGG;AACH,IAAA,OAAO,gCAAgC,GAAA;AACnC,QAAA,OAAO,IAAI,eAAe,CACtB,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,EACjD,sBAAsB,CAAC,qBAAqB,CAAC,IAAI,CACpD,CAAC;KACL;AACJ;;;;"}
@@ -1,42 +1,42 @@
1
- import { ICrypto, Logger } from "@azure/msal-common";
2
- import { InteractionType } from "../utils/BrowserConstants";
3
- import { EventCallbackFunction, EventError, EventPayload } from "./EventMessage";
4
- import { EventType } from "./EventType";
5
- export declare class EventHandler {
6
- private eventCallbacks;
7
- private logger;
8
- private browserCrypto;
9
- private listeningToStorageEvents;
10
- constructor(logger: Logger, browserCrypto: ICrypto);
11
- /**
12
- * Adds event callbacks to array
13
- * @param callback
14
- */
15
- addEventCallback(callback: EventCallbackFunction): string | null;
16
- /**
17
- * Removes callback with provided id from callback array
18
- * @param callbackId
19
- */
20
- removeEventCallback(callbackId: string): void;
21
- /**
22
- * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
23
- */
24
- enableAccountStorageEvents(): void;
25
- /**
26
- * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
27
- */
28
- disableAccountStorageEvents(): void;
29
- /**
30
- * Emits events by calling callback with event message
31
- * @param eventType
32
- * @param interactionType
33
- * @param payload
34
- * @param error
35
- */
36
- emitEvent(eventType: EventType, interactionType?: InteractionType, payload?: EventPayload, error?: EventError): void;
37
- /**
38
- * Emit account added/removed events when cached accounts are changed in a different tab or frame
39
- */
40
- private handleAccountCacheChange;
41
- }
1
+ import { ICrypto, Logger } from "@azure/msal-common";
2
+ import { InteractionType } from "../utils/BrowserConstants";
3
+ import { EventCallbackFunction, EventError, EventPayload } from "./EventMessage";
4
+ import { EventType } from "./EventType";
5
+ export declare class EventHandler {
6
+ private eventCallbacks;
7
+ private logger;
8
+ private browserCrypto;
9
+ private listeningToStorageEvents;
10
+ constructor(logger: Logger, browserCrypto: ICrypto);
11
+ /**
12
+ * Adds event callbacks to array
13
+ * @param callback
14
+ */
15
+ addEventCallback(callback: EventCallbackFunction): string | null;
16
+ /**
17
+ * Removes callback with provided id from callback array
18
+ * @param callbackId
19
+ */
20
+ removeEventCallback(callbackId: string): void;
21
+ /**
22
+ * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
23
+ */
24
+ enableAccountStorageEvents(): void;
25
+ /**
26
+ * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
27
+ */
28
+ disableAccountStorageEvents(): void;
29
+ /**
30
+ * Emits events by calling callback with event message
31
+ * @param eventType
32
+ * @param interactionType
33
+ * @param payload
34
+ * @param error
35
+ */
36
+ emitEvent(eventType: EventType, interactionType?: InteractionType, payload?: EventPayload, error?: EventError): void;
37
+ /**
38
+ * Emit account added/removed events when cached accounts are changed in a different tab or frame
39
+ */
40
+ private handleAccountCacheChange;
41
+ }
42
42
  //# sourceMappingURL=EventHandler.d.ts.map
@@ -1,126 +1,126 @@
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 { AccountEntity, CacheManager } from '@azure/msal-common';
4
4
  import { EventType } from './EventType.js';
5
5
 
6
- /*
7
- * Copyright (c) Microsoft Corporation. All rights reserved.
8
- * Licensed under the MIT License.
9
- */
10
- class EventHandler {
11
- constructor(logger, browserCrypto) {
12
- this.eventCallbacks = new Map();
13
- this.logger = logger;
14
- this.browserCrypto = browserCrypto;
15
- this.listeningToStorageEvents = false;
16
- this.handleAccountCacheChange =
17
- this.handleAccountCacheChange.bind(this);
18
- }
19
- /**
20
- * Adds event callbacks to array
21
- * @param callback
22
- */
23
- addEventCallback(callback) {
24
- if (typeof window !== "undefined") {
25
- const callbackId = this.browserCrypto.createNewGuid();
26
- this.eventCallbacks.set(callbackId, callback);
27
- this.logger.verbose(`Event callback registered with id: ${callbackId}`);
28
- return callbackId;
29
- }
30
- return null;
31
- }
32
- /**
33
- * Removes callback with provided id from callback array
34
- * @param callbackId
35
- */
36
- removeEventCallback(callbackId) {
37
- this.eventCallbacks.delete(callbackId);
38
- this.logger.verbose(`Event callback ${callbackId} removed.`);
39
- }
40
- /**
41
- * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
42
- */
43
- enableAccountStorageEvents() {
44
- if (typeof window === "undefined") {
45
- return;
46
- }
47
- if (!this.listeningToStorageEvents) {
48
- this.logger.verbose("Adding account storage listener.");
49
- this.listeningToStorageEvents = true;
50
- window.addEventListener("storage", this.handleAccountCacheChange);
51
- }
52
- else {
53
- this.logger.verbose("Account storage listener already registered.");
54
- }
55
- }
56
- /**
57
- * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
58
- */
59
- disableAccountStorageEvents() {
60
- if (typeof window === "undefined") {
61
- return;
62
- }
63
- if (this.listeningToStorageEvents) {
64
- this.logger.verbose("Removing account storage listener.");
65
- window.removeEventListener("storage", this.handleAccountCacheChange);
66
- this.listeningToStorageEvents = false;
67
- }
68
- else {
69
- this.logger.verbose("No account storage listener registered.");
70
- }
71
- }
72
- /**
73
- * Emits events by calling callback with event message
74
- * @param eventType
75
- * @param interactionType
76
- * @param payload
77
- * @param error
78
- */
79
- emitEvent(eventType, interactionType, payload, error) {
80
- if (typeof window !== "undefined") {
81
- const message = {
82
- eventType: eventType,
83
- interactionType: interactionType || null,
84
- payload: payload || null,
85
- error: error || null,
86
- timestamp: Date.now(),
87
- };
88
- this.logger.info(`Emitting event: ${eventType}`);
89
- this.eventCallbacks.forEach((callback, callbackId) => {
90
- this.logger.verbose(`Emitting event to callback ${callbackId}: ${eventType}`);
91
- callback.apply(null, [message]);
92
- });
93
- }
94
- }
95
- /**
96
- * Emit account added/removed events when cached accounts are changed in a different tab or frame
97
- */
98
- handleAccountCacheChange(e) {
99
- try {
100
- const cacheValue = e.newValue || e.oldValue;
101
- if (!cacheValue) {
102
- return;
103
- }
104
- const parsedValue = JSON.parse(cacheValue);
105
- if (typeof parsedValue !== "object" ||
106
- !AccountEntity.isAccountEntity(parsedValue)) {
107
- return;
108
- }
109
- const accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);
110
- const accountInfo = accountEntity.getAccountInfo();
111
- if (!e.oldValue && e.newValue) {
112
- this.logger.info("Account was added to cache in a different window");
113
- this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);
114
- }
115
- else if (!e.newValue && e.oldValue) {
116
- this.logger.info("Account was removed from cache in a different window");
117
- this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);
118
- }
119
- }
120
- catch (e) {
121
- return;
122
- }
123
- }
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ class EventHandler {
11
+ constructor(logger, browserCrypto) {
12
+ this.eventCallbacks = new Map();
13
+ this.logger = logger;
14
+ this.browserCrypto = browserCrypto;
15
+ this.listeningToStorageEvents = false;
16
+ this.handleAccountCacheChange =
17
+ this.handleAccountCacheChange.bind(this);
18
+ }
19
+ /**
20
+ * Adds event callbacks to array
21
+ * @param callback
22
+ */
23
+ addEventCallback(callback) {
24
+ if (typeof window !== "undefined") {
25
+ const callbackId = this.browserCrypto.createNewGuid();
26
+ this.eventCallbacks.set(callbackId, callback);
27
+ this.logger.verbose(`Event callback registered with id: ${callbackId}`);
28
+ return callbackId;
29
+ }
30
+ return null;
31
+ }
32
+ /**
33
+ * Removes callback with provided id from callback array
34
+ * @param callbackId
35
+ */
36
+ removeEventCallback(callbackId) {
37
+ this.eventCallbacks.delete(callbackId);
38
+ this.logger.verbose(`Event callback ${callbackId} removed.`);
39
+ }
40
+ /**
41
+ * Adds event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
42
+ */
43
+ enableAccountStorageEvents() {
44
+ if (typeof window === "undefined") {
45
+ return;
46
+ }
47
+ if (!this.listeningToStorageEvents) {
48
+ this.logger.verbose("Adding account storage listener.");
49
+ this.listeningToStorageEvents = true;
50
+ window.addEventListener("storage", this.handleAccountCacheChange);
51
+ }
52
+ else {
53
+ this.logger.verbose("Account storage listener already registered.");
54
+ }
55
+ }
56
+ /**
57
+ * Removes event listener that emits an event when a user account is added or removed from localstorage in a different browser tab or window
58
+ */
59
+ disableAccountStorageEvents() {
60
+ if (typeof window === "undefined") {
61
+ return;
62
+ }
63
+ if (this.listeningToStorageEvents) {
64
+ this.logger.verbose("Removing account storage listener.");
65
+ window.removeEventListener("storage", this.handleAccountCacheChange);
66
+ this.listeningToStorageEvents = false;
67
+ }
68
+ else {
69
+ this.logger.verbose("No account storage listener registered.");
70
+ }
71
+ }
72
+ /**
73
+ * Emits events by calling callback with event message
74
+ * @param eventType
75
+ * @param interactionType
76
+ * @param payload
77
+ * @param error
78
+ */
79
+ emitEvent(eventType, interactionType, payload, error) {
80
+ if (typeof window !== "undefined") {
81
+ const message = {
82
+ eventType: eventType,
83
+ interactionType: interactionType || null,
84
+ payload: payload || null,
85
+ error: error || null,
86
+ timestamp: Date.now(),
87
+ };
88
+ this.logger.info(`Emitting event: ${eventType}`);
89
+ this.eventCallbacks.forEach((callback, callbackId) => {
90
+ this.logger.verbose(`Emitting event to callback ${callbackId}: ${eventType}`);
91
+ callback.apply(null, [message]);
92
+ });
93
+ }
94
+ }
95
+ /**
96
+ * Emit account added/removed events when cached accounts are changed in a different tab or frame
97
+ */
98
+ handleAccountCacheChange(e) {
99
+ try {
100
+ const cacheValue = e.newValue || e.oldValue;
101
+ if (!cacheValue) {
102
+ return;
103
+ }
104
+ const parsedValue = JSON.parse(cacheValue);
105
+ if (typeof parsedValue !== "object" ||
106
+ !AccountEntity.isAccountEntity(parsedValue)) {
107
+ return;
108
+ }
109
+ const accountEntity = CacheManager.toObject(new AccountEntity(), parsedValue);
110
+ const accountInfo = accountEntity.getAccountInfo();
111
+ if (!e.oldValue && e.newValue) {
112
+ this.logger.info("Account was added to cache in a different window");
113
+ this.emitEvent(EventType.ACCOUNT_ADDED, undefined, accountInfo);
114
+ }
115
+ else if (!e.newValue && e.oldValue) {
116
+ this.logger.info("Account was removed from cache in a different window");
117
+ this.emitEvent(EventType.ACCOUNT_REMOVED, undefined, accountInfo);
118
+ }
119
+ }
120
+ catch (e) {
121
+ return;
122
+ }
123
+ }
124
124
  }
125
125
 
126
126
  export { EventHandler };
@@ -1,26 +1,26 @@
1
- import { AuthenticationResult, AuthError, AccountInfo } from "@azure/msal-common";
2
- import { EventType } from "./EventType";
3
- import { InteractionStatus, InteractionType } from "../utils/BrowserConstants";
4
- import { PopupRequest, RedirectRequest, SilentRequest, SsoSilentRequest, EndSessionRequest } from "..";
5
- export type EventMessage = {
6
- eventType: EventType;
7
- interactionType: InteractionType | null;
8
- payload: EventPayload;
9
- error: EventError;
10
- timestamp: number;
11
- };
12
- export type PopupEvent = {
13
- popupWindow: Window;
14
- };
15
- export type EventPayload = AccountInfo | PopupRequest | RedirectRequest | SilentRequest | SsoSilentRequest | EndSessionRequest | AuthenticationResult | PopupEvent | null;
16
- export type EventError = AuthError | Error | null;
17
- export type EventCallbackFunction = (message: EventMessage) => void;
18
- export declare class EventMessageUtils {
19
- /**
20
- * Gets interaction status from event message
21
- * @param message
22
- * @param currentStatus
23
- */
24
- static getInteractionStatusFromEvent(message: EventMessage, currentStatus?: InteractionStatus): InteractionStatus | null;
25
- }
1
+ import { AuthenticationResult, AuthError, AccountInfo } from "@azure/msal-common";
2
+ import { EventType } from "./EventType";
3
+ import { InteractionStatus, InteractionType } from "../utils/BrowserConstants";
4
+ import { PopupRequest, RedirectRequest, SilentRequest, SsoSilentRequest, EndSessionRequest } from "..";
5
+ export type EventMessage = {
6
+ eventType: EventType;
7
+ interactionType: InteractionType | null;
8
+ payload: EventPayload;
9
+ error: EventError;
10
+ timestamp: number;
11
+ };
12
+ export type PopupEvent = {
13
+ popupWindow: Window;
14
+ };
15
+ export type EventPayload = AccountInfo | PopupRequest | RedirectRequest | SilentRequest | SsoSilentRequest | EndSessionRequest | AuthenticationResult | PopupEvent | null;
16
+ export type EventError = AuthError | Error | null;
17
+ export type EventCallbackFunction = (message: EventMessage) => void;
18
+ export declare class EventMessageUtils {
19
+ /**
20
+ * Gets interaction status from event message
21
+ * @param message
22
+ * @param currentStatus
23
+ */
24
+ static getInteractionStatusFromEvent(message: EventMessage, currentStatus?: InteractionStatus): InteractionStatus | null;
25
+ }
26
26
  //# sourceMappingURL=EventMessage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventMessage.d.ts","sourceRoot":"","sources":["../../src/event/EventMessage.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,oBAAoB,EACpB,SAAS,EACT,WAAW,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACH,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,IAAI,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAClB,WAAW,GACX,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,UAAU,GACV,IAAI,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAElD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AAEpE,qBAAa,iBAAiB;IAC1B;;;;OAIG;IACH,MAAM,CAAC,6BAA6B,CAChC,OAAO,EAAE,YAAY,EACrB,aAAa,CAAC,EAAE,iBAAiB,GAClC,iBAAiB,GAAG,IAAI;CAsE9B"}
1
+ {"version":3,"file":"EventMessage.d.ts","sourceRoot":"","sources":["../../src/event/EventMessage.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,oBAAoB,EACpB,SAAS,EACT,WAAW,EACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EACH,YAAY,EACZ,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACpB,MAAM,IAAI,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG;IACvB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAClB,WAAW,GACX,YAAY,GACZ,eAAe,GACf,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,oBAAoB,GACpB,UAAU,GACV,IAAI,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;AAElD,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AAEpE,qBAAa,iBAAiB;IAC1B;;;;OAIG;IACH,MAAM,CAAC,6BAA6B,CAChC,OAAO,EAAE,YAAY,EACrB,aAAa,CAAC,EAAE,iBAAiB,GAClC,iBAAiB,GAAG,IAAI;CAuE9B"}