@azure/msal-browser 3.5.0 → 3.5.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +51 -51
  2. package/dist/app/IPublicClientApplication.mjs +102 -102
  3. package/dist/app/PublicClientApplication.d.ts +268 -268
  4. package/dist/app/PublicClientApplication.mjs +333 -333
  5. package/dist/app/PublicClientNext.d.ts +273 -273
  6. package/dist/app/PublicClientNext.mjs +351 -351
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  8. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  12. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  13. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  14. package/dist/cache/AsyncMemoryStorage.mjs +132 -132
  15. package/dist/cache/BrowserCacheManager.d.ts +383 -383
  16. package/dist/cache/BrowserCacheManager.mjs +1262 -1262
  17. package/dist/cache/BrowserStorage.d.ts +11 -11
  18. package/dist/cache/BrowserStorage.mjs +32 -32
  19. package/dist/cache/CryptoKeyStore.d.ts +18 -18
  20. package/dist/cache/CryptoKeyStore.mjs +40 -40
  21. package/dist/cache/DatabaseStorage.d.ts +56 -56
  22. package/dist/cache/DatabaseStorage.mjs +190 -190
  23. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  24. package/dist/cache/ITokenCache.d.ts +11 -11
  25. package/dist/cache/IWindowStorage.d.ts +27 -27
  26. package/dist/cache/MemoryStorage.d.ts +11 -11
  27. package/dist/cache/MemoryStorage.mjs +31 -31
  28. package/dist/cache/TokenCache.d.ts +77 -77
  29. package/dist/cache/TokenCache.mjs +224 -224
  30. package/dist/config/Configuration.d.ts +206 -206
  31. package/dist/config/Configuration.mjs +128 -128
  32. package/dist/controllers/ControllerFactory.d.ts +4 -4
  33. package/dist/controllers/ControllerFactory.mjs +29 -29
  34. package/dist/controllers/IController.d.ts +61 -61
  35. package/dist/controllers/NestedAppAuthController.d.ts +95 -95
  36. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  37. package/dist/controllers/NestedAppAuthController.mjs +335 -333
  38. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  39. package/dist/controllers/StandardController.d.ts +407 -407
  40. package/dist/controllers/StandardController.d.ts.map +1 -1
  41. package/dist/controllers/StandardController.mjs +1293 -1291
  42. package/dist/controllers/StandardController.mjs.map +1 -1
  43. package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
  44. package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
  45. package/dist/crypto/BrowserCrypto.d.ts +44 -44
  46. package/dist/crypto/BrowserCrypto.mjs +93 -93
  47. package/dist/crypto/CryptoOps.d.ts +63 -63
  48. package/dist/crypto/CryptoOps.mjs +145 -145
  49. package/dist/crypto/PkceGenerator.d.ts +8 -8
  50. package/dist/crypto/PkceGenerator.mjs +54 -54
  51. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  52. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  53. package/dist/encode/Base64Decode.d.ts +9 -9
  54. package/dist/encode/Base64Decode.mjs +36 -36
  55. package/dist/encode/Base64Encode.d.ts +19 -19
  56. package/dist/encode/Base64Encode.mjs +43 -43
  57. package/dist/error/BrowserAuthError.d.ts +250 -250
  58. package/dist/error/BrowserAuthError.mjs +258 -258
  59. package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
  60. package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
  61. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  62. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  63. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  64. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  65. package/dist/error/NativeAuthError.d.ts +29 -29
  66. package/dist/error/NativeAuthError.mjs +60 -60
  67. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  68. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  69. package/dist/error/NestedAppAuthError.d.ts +14 -14
  70. package/dist/error/NestedAppAuthError.mjs +23 -23
  71. package/dist/event/EventHandler.d.ts +41 -41
  72. package/dist/event/EventHandler.mjs +119 -119
  73. package/dist/event/EventMessage.d.ts +25 -25
  74. package/dist/event/EventMessage.mjs +68 -68
  75. package/dist/event/EventType.d.ts +28 -28
  76. package/dist/event/EventType.mjs +31 -31
  77. package/dist/index.d.ts +39 -39
  78. package/dist/index.mjs +1 -1
  79. package/dist/interaction_client/BaseInteractionClient.d.ts +54 -54
  80. package/dist/interaction_client/BaseInteractionClient.mjs +152 -152
  81. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  82. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  83. package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
  84. package/dist/interaction_client/NativeInteractionClient.mjs +548 -548
  85. package/dist/interaction_client/PopupClient.d.ts +105 -105
  86. package/dist/interaction_client/PopupClient.mjs +432 -432
  87. package/dist/interaction_client/RedirectClient.d.ts +49 -49
  88. package/dist/interaction_client/RedirectClient.mjs +311 -311
  89. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  90. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  91. package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
  92. package/dist/interaction_client/SilentCacheClient.mjs +61 -61
  93. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  94. package/dist/interaction_client/SilentIframeClient.mjs +96 -96
  95. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  96. package/dist/interaction_client/SilentRefreshClient.mjs +43 -43
  97. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
  98. package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
  99. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  100. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  101. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  102. package/dist/interaction_handler/RedirectHandler.mjs +134 -134
  103. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  104. package/dist/interaction_handler/SilentHandler.mjs +133 -133
  105. package/dist/naa/AccountInfo.d.ts +11 -12
  106. package/dist/naa/AccountInfo.d.ts.map +1 -1
  107. package/dist/naa/AccountRequests.d.ts +9 -9
  108. package/dist/naa/AuthBridge.d.ts +5 -5
  109. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  110. package/dist/naa/BridgeError.d.ts +9 -9
  111. package/dist/naa/BridgeError.d.ts.map +1 -1
  112. package/dist/naa/BridgeError.mjs +7 -7
  113. package/dist/naa/BridgeError.mjs.map +1 -1
  114. package/dist/naa/BridgeProxy.d.ts +72 -71
  115. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  116. package/dist/naa/BridgeProxy.mjs +152 -149
  117. package/dist/naa/BridgeProxy.mjs.map +1 -1
  118. package/dist/naa/BridgeRequest.d.ts +6 -6
  119. package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
  120. package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
  121. package/dist/naa/BridgeStatusCode.d.ts +10 -10
  122. package/dist/naa/BridgeStatusCode.mjs +15 -15
  123. package/dist/naa/IBridgeProxy.d.ts +12 -10
  124. package/dist/naa/IBridgeProxy.d.ts.map +1 -1
  125. package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
  126. package/dist/naa/InitializeBridgeResponse.d.ts.map +1 -1
  127. package/dist/naa/TokenRequest.d.ts +19 -21
  128. package/dist/naa/TokenRequest.d.ts.map +1 -1
  129. package/dist/naa/TokenResponse.d.ts +15 -16
  130. package/dist/naa/TokenResponse.d.ts.map +1 -1
  131. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -25
  132. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  133. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +142 -170
  134. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  135. package/dist/navigation/INavigationClient.d.ts +16 -16
  136. package/dist/navigation/NavigationClient.d.ts +22 -22
  137. package/dist/navigation/NavigationClient.mjs +40 -40
  138. package/dist/navigation/NavigationOptions.d.ts +12 -12
  139. package/dist/network/FetchClient.d.ts +26 -26
  140. package/dist/network/FetchClient.mjs +99 -99
  141. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  142. package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
  143. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  144. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  145. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  146. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts.map +1 -1
  147. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -82
  148. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  149. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  150. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  151. package/dist/packageMetadata.d.ts +2 -2
  152. package/dist/packageMetadata.mjs +3 -3
  153. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  154. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  155. package/dist/request/ClearCacheRequest.d.ts +10 -10
  156. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  157. package/dist/request/EndSessionRequest.d.ts +15 -15
  158. package/dist/request/PopupRequest.d.ts +34 -34
  159. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  160. package/dist/request/RedirectRequest.d.ts +35 -35
  161. package/dist/request/SilentRequest.d.ts +32 -32
  162. package/dist/request/SsoSilentRequest.d.ts +29 -29
  163. package/dist/response/AuthenticationResult.d.ts +4 -4
  164. package/dist/response/ResponseHandler.d.ts +7 -7
  165. package/dist/response/ResponseHandler.mjs +36 -36
  166. package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
  167. package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
  168. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  169. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  170. package/dist/utils/BrowserConstants.d.ts +176 -176
  171. package/dist/utils/BrowserConstants.mjs +204 -204
  172. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  173. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  174. package/dist/utils/BrowserUtils.d.ts +56 -56
  175. package/dist/utils/BrowserUtils.mjs +125 -125
  176. package/lib/msal-browser.cjs +17920 -17926
  177. package/lib/msal-browser.cjs.map +1 -1
  178. package/lib/msal-browser.js +17920 -17926
  179. package/lib/msal-browser.js.map +1 -1
  180. package/lib/msal-browser.min.js +59 -59
  181. package/package.json +102 -102
  182. package/src/controllers/NestedAppAuthController.ts +8 -3
  183. package/src/controllers/StandardController.ts +3 -1
  184. package/src/naa/AccountInfo.ts +3 -4
  185. package/src/naa/BridgeError.ts +4 -4
  186. package/src/naa/BridgeProxy.ts +6 -2
  187. package/src/naa/IBridgeProxy.ts +2 -0
  188. package/src/naa/InitializeBridgeResponse.ts +1 -1
  189. package/src/naa/TokenRequest.ts +0 -2
  190. package/src/naa/TokenResponse.ts +1 -2
  191. package/src/naa/mapping/NestedAppAuthAdapter.ts +72 -80
  192. package/src/operatingcontext/TeamsAppOperatingContext.ts +4 -1
@@ -1,45 +1,45 @@
1
- import { NativeExtensionMethod } from "../../utils/BrowserConstants";
2
- import { StoreInCache, StringDict } from "@azure/msal-common";
3
- /**
4
- * Token request which native broker will use to acquire tokens
5
- */
6
- export type NativeTokenRequest = {
7
- accountId: string;
8
- clientId: string;
9
- authority: string;
10
- redirectUri: string;
11
- scope: string;
12
- correlationId: string;
13
- windowTitleSubstring: string;
14
- prompt?: string;
15
- nonce?: string;
16
- claims?: string;
17
- state?: string;
18
- reqCnf?: string;
19
- keyId?: string;
20
- tokenType?: string;
21
- shrClaims?: string;
22
- shrNonce?: string;
23
- resourceRequestMethod?: string;
24
- resourceRequestUri?: string;
25
- extendedExpiryToken?: boolean;
26
- extraParameters?: StringDict;
27
- storeInCache?: StoreInCache;
28
- };
29
- /**
30
- * Request which will be forwarded to native broker by the browser extension
31
- */
32
- export type NativeExtensionRequestBody = {
33
- method: NativeExtensionMethod;
34
- request?: NativeTokenRequest;
35
- };
36
- /**
37
- * Browser extension request
38
- */
39
- export type NativeExtensionRequest = {
40
- channel: string;
41
- responseId: string;
42
- extensionId?: string;
43
- body: NativeExtensionRequestBody;
44
- };
1
+ import { NativeExtensionMethod } from "../../utils/BrowserConstants";
2
+ import { StoreInCache, StringDict } from "@azure/msal-common";
3
+ /**
4
+ * Token request which native broker will use to acquire tokens
5
+ */
6
+ export type NativeTokenRequest = {
7
+ accountId: string;
8
+ clientId: string;
9
+ authority: string;
10
+ redirectUri: string;
11
+ scope: string;
12
+ correlationId: string;
13
+ windowTitleSubstring: string;
14
+ prompt?: string;
15
+ nonce?: string;
16
+ claims?: string;
17
+ state?: string;
18
+ reqCnf?: string;
19
+ keyId?: string;
20
+ tokenType?: string;
21
+ shrClaims?: string;
22
+ shrNonce?: string;
23
+ resourceRequestMethod?: string;
24
+ resourceRequestUri?: string;
25
+ extendedExpiryToken?: boolean;
26
+ extraParameters?: StringDict;
27
+ storeInCache?: StoreInCache;
28
+ };
29
+ /**
30
+ * Request which will be forwarded to native broker by the browser extension
31
+ */
32
+ export type NativeExtensionRequestBody = {
33
+ method: NativeExtensionMethod;
34
+ request?: NativeTokenRequest;
35
+ };
36
+ /**
37
+ * Browser extension request
38
+ */
39
+ export type NativeExtensionRequest = {
40
+ channel: string;
41
+ responseId: string;
42
+ extensionId?: string;
43
+ body: NativeExtensionRequestBody;
44
+ };
45
45
  //# sourceMappingURL=NativeRequest.d.ts.map
@@ -1,49 +1,49 @@
1
- /**
2
- * Account properties returned by Native Platform e.g. WAM
3
- */
4
- export type NativeAccountInfo = {
5
- id: string;
6
- properties: object;
7
- userName: string;
8
- };
9
- /**
10
- * Token response returned by Native Platform e.g. WAM
11
- */
12
- export type NativeResponse = {
13
- access_token: string;
14
- account: NativeAccountInfo;
15
- client_info: string;
16
- expires_in: number;
17
- id_token: string;
18
- properties: NativeResponseProperties;
19
- scope: string;
20
- state: string;
21
- shr?: string;
22
- extendedLifetimeToken?: boolean;
23
- };
24
- /**
25
- * Properties returned under "properties" of the NativeResponse
26
- */
27
- export type NativeResponseProperties = {
28
- MATS?: string;
29
- };
30
- /**
31
- * The native token broker can optionally include additional information about operations it performs. If that data is returned, MSAL.js will include the following properties in the telemetry it collects.
32
- */
33
- export type MATS = {
34
- is_cached?: number;
35
- broker_version?: string;
36
- account_join_on_start?: string;
37
- account_join_on_end?: string;
38
- device_join?: string;
39
- prompt_behavior?: string;
40
- api_error_code?: number;
41
- ui_visible?: boolean;
42
- silent_code?: number;
43
- silent_bi_sub_code?: number;
44
- silent_message?: string;
45
- silent_status?: number;
46
- http_status?: number;
47
- http_event_count?: number;
48
- };
1
+ /**
2
+ * Account properties returned by Native Platform e.g. WAM
3
+ */
4
+ export type NativeAccountInfo = {
5
+ id: string;
6
+ properties: object;
7
+ userName: string;
8
+ };
9
+ /**
10
+ * Token response returned by Native Platform e.g. WAM
11
+ */
12
+ export type NativeResponse = {
13
+ access_token: string;
14
+ account: NativeAccountInfo;
15
+ client_info: string;
16
+ expires_in: number;
17
+ id_token: string;
18
+ properties: NativeResponseProperties;
19
+ scope: string;
20
+ state: string;
21
+ shr?: string;
22
+ extendedLifetimeToken?: boolean;
23
+ };
24
+ /**
25
+ * Properties returned under "properties" of the NativeResponse
26
+ */
27
+ export type NativeResponseProperties = {
28
+ MATS?: string;
29
+ };
30
+ /**
31
+ * The native token broker can optionally include additional information about operations it performs. If that data is returned, MSAL.js will include the following properties in the telemetry it collects.
32
+ */
33
+ export type MATS = {
34
+ is_cached?: number;
35
+ broker_version?: string;
36
+ account_join_on_start?: string;
37
+ account_join_on_end?: string;
38
+ device_join?: string;
39
+ prompt_behavior?: string;
40
+ api_error_code?: number;
41
+ ui_visible?: boolean;
42
+ silent_code?: number;
43
+ silent_bi_sub_code?: number;
44
+ silent_message?: string;
45
+ silent_status?: number;
46
+ http_status?: number;
47
+ http_event_count?: number;
48
+ };
49
49
  //# sourceMappingURL=NativeResponse.d.ts.map
@@ -1,8 +1,8 @@
1
- export declare const USER_INTERACTION_REQUIRED = "USER_INTERACTION_REQUIRED";
2
- export declare const USER_CANCEL = "USER_CANCEL";
3
- export declare const NO_NETWORK = "NO_NETWORK";
4
- export declare const TRANSIENT_ERROR = "TRANSIENT_ERROR";
5
- export declare const PERSISTENT_ERROR = "PERSISTENT_ERROR";
6
- export declare const DISABLED = "DISABLED";
7
- export declare const ACCOUNT_UNAVAILABLE = "ACCOUNT_UNAVAILABLE";
1
+ export declare const USER_INTERACTION_REQUIRED = "USER_INTERACTION_REQUIRED";
2
+ export declare const USER_CANCEL = "USER_CANCEL";
3
+ export declare const NO_NETWORK = "NO_NETWORK";
4
+ export declare const TRANSIENT_ERROR = "TRANSIENT_ERROR";
5
+ export declare const PERSISTENT_ERROR = "PERSISTENT_ERROR";
6
+ export declare const DISABLED = "DISABLED";
7
+ export declare const ACCOUNT_UNAVAILABLE = "ACCOUNT_UNAVAILABLE";
8
8
  //# sourceMappingURL=NativeStatusCodes.d.ts.map
@@ -1,15 +1,15 @@
1
- /*! @azure/msal-browser v3.5.0 2023-11-07 */
1
+ /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
2
2
  'use strict';
3
- /*
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License.
6
- */
7
- // Status Codes that can be thrown by WAM
8
- const USER_INTERACTION_REQUIRED = "USER_INTERACTION_REQUIRED";
9
- const USER_CANCEL = "USER_CANCEL";
10
- const NO_NETWORK = "NO_NETWORK";
11
- const PERSISTENT_ERROR = "PERSISTENT_ERROR";
12
- const DISABLED = "DISABLED";
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ // Status Codes that can be thrown by WAM
8
+ const USER_INTERACTION_REQUIRED = "USER_INTERACTION_REQUIRED";
9
+ const USER_CANCEL = "USER_CANCEL";
10
+ const NO_NETWORK = "NO_NETWORK";
11
+ const PERSISTENT_ERROR = "PERSISTENT_ERROR";
12
+ const DISABLED = "DISABLED";
13
13
  const ACCOUNT_UNAVAILABLE = "ACCOUNT_UNAVAILABLE";
14
14
 
15
15
  export { ACCOUNT_UNAVAILABLE, DISABLED, NO_NETWORK, PERSISTENT_ERROR, USER_CANCEL, USER_INTERACTION_REQUIRED };
@@ -1,52 +1,52 @@
1
- import { Logger } from "@azure/msal-common";
2
- import { IAsyncStorage } from "./IAsyncMemoryStorage";
3
- /**
4
- * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,
5
- * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.
6
- */
7
- export declare class AsyncMemoryStorage<T> implements IAsyncStorage<T> {
8
- private inMemoryCache;
9
- private indexedDBCache;
10
- private logger;
11
- private storeName;
12
- constructor(logger: Logger, storeName: string);
13
- private handleDatabaseAccessError;
14
- /**
15
- * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous
16
- * storage object if item isn't found in-memory.
17
- * @param key
18
- */
19
- getItem(key: string): Promise<T | null>;
20
- /**
21
- * Sets the item in the in-memory cache and then tries to set it in the asynchronous
22
- * storage object with the given key.
23
- * @param key
24
- * @param value
25
- */
26
- setItem(key: string, value: T): Promise<void>;
27
- /**
28
- * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.
29
- * @param key
30
- */
31
- removeItem(key: string): Promise<void>;
32
- /**
33
- * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the
34
- * asynchronous storage object.
35
- */
36
- getKeys(): Promise<string[]>;
37
- /**
38
- * Returns true or false if the given key is present in the cache.
39
- * @param key
40
- */
41
- containsKey(key: string): Promise<boolean>;
42
- /**
43
- * Clears in-memory Map
44
- */
45
- clearInMemory(): void;
46
- /**
47
- * Tries to delete the IndexedDB database
48
- * @returns
49
- */
50
- clearPersistent(): Promise<boolean>;
51
- }
1
+ import { Logger } from "@azure/msal-common";
2
+ import { IAsyncStorage } from "./IAsyncMemoryStorage";
3
+ /**
4
+ * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,
5
+ * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.
6
+ */
7
+ export declare class AsyncMemoryStorage<T> implements IAsyncStorage<T> {
8
+ private inMemoryCache;
9
+ private indexedDBCache;
10
+ private logger;
11
+ private storeName;
12
+ constructor(logger: Logger, storeName: string);
13
+ private handleDatabaseAccessError;
14
+ /**
15
+ * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous
16
+ * storage object if item isn't found in-memory.
17
+ * @param key
18
+ */
19
+ getItem(key: string): Promise<T | null>;
20
+ /**
21
+ * Sets the item in the in-memory cache and then tries to set it in the asynchronous
22
+ * storage object with the given key.
23
+ * @param key
24
+ * @param value
25
+ */
26
+ setItem(key: string, value: T): Promise<void>;
27
+ /**
28
+ * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.
29
+ * @param key
30
+ */
31
+ removeItem(key: string): Promise<void>;
32
+ /**
33
+ * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the
34
+ * asynchronous storage object.
35
+ */
36
+ getKeys(): Promise<string[]>;
37
+ /**
38
+ * Returns true or false if the given key is present in the cache.
39
+ * @param key
40
+ */
41
+ containsKey(key: string): Promise<boolean>;
42
+ /**
43
+ * Clears in-memory Map
44
+ */
45
+ clearInMemory(): void;
46
+ /**
47
+ * Tries to delete the IndexedDB database
48
+ * @returns
49
+ */
50
+ clearPersistent(): Promise<boolean>;
51
+ }
52
52
  //# sourceMappingURL=AsyncMemoryStorage.d.ts.map
@@ -1,141 +1,141 @@
1
- /*! @azure/msal-browser v3.5.0 2023-11-07 */
1
+ /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
2
2
  'use strict';
3
3
  import { BrowserAuthError } from '../error/BrowserAuthError.mjs';
4
4
  import { DatabaseStorage } from './DatabaseStorage.mjs';
5
5
  import { MemoryStorage } from './MemoryStorage.mjs';
6
6
  import { databaseUnavailable } from '../error/BrowserAuthErrorCodes.mjs';
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- /**
13
- * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,
14
- * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.
15
- */
16
- class AsyncMemoryStorage {
17
- constructor(logger, storeName) {
18
- this.inMemoryCache = new MemoryStorage();
19
- this.indexedDBCache = new DatabaseStorage();
20
- this.logger = logger;
21
- this.storeName = storeName;
22
- }
23
- handleDatabaseAccessError(error) {
24
- if (error instanceof BrowserAuthError &&
25
- error.errorCode === databaseUnavailable) {
26
- this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.");
27
- }
28
- else {
29
- throw error;
30
- }
31
- }
32
- /**
33
- * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous
34
- * storage object if item isn't found in-memory.
35
- * @param key
36
- */
37
- async getItem(key) {
38
- const item = this.inMemoryCache.getItem(key);
39
- if (!item) {
40
- try {
41
- this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage.");
42
- return await this.indexedDBCache.getItem(key);
43
- }
44
- catch (e) {
45
- this.handleDatabaseAccessError(e);
46
- }
47
- }
48
- return item;
49
- }
50
- /**
51
- * Sets the item in the in-memory cache and then tries to set it in the asynchronous
52
- * storage object with the given key.
53
- * @param key
54
- * @param value
55
- */
56
- async setItem(key, value) {
57
- this.inMemoryCache.setItem(key, value);
58
- try {
59
- await this.indexedDBCache.setItem(key, value);
60
- }
61
- catch (e) {
62
- this.handleDatabaseAccessError(e);
63
- }
64
- }
65
- /**
66
- * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.
67
- * @param key
68
- */
69
- async removeItem(key) {
70
- this.inMemoryCache.removeItem(key);
71
- try {
72
- await this.indexedDBCache.removeItem(key);
73
- }
74
- catch (e) {
75
- this.handleDatabaseAccessError(e);
76
- }
77
- }
78
- /**
79
- * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the
80
- * asynchronous storage object.
81
- */
82
- async getKeys() {
83
- const cacheKeys = this.inMemoryCache.getKeys();
84
- if (cacheKeys.length === 0) {
85
- try {
86
- this.logger.verbose("In-memory cache is empty, now querying persistent storage.");
87
- return await this.indexedDBCache.getKeys();
88
- }
89
- catch (e) {
90
- this.handleDatabaseAccessError(e);
91
- }
92
- }
93
- return cacheKeys;
94
- }
95
- /**
96
- * Returns true or false if the given key is present in the cache.
97
- * @param key
98
- */
99
- async containsKey(key) {
100
- const containsKey = this.inMemoryCache.containsKey(key);
101
- if (!containsKey) {
102
- try {
103
- this.logger.verbose("Key not found in in-memory cache, now querying persistent storage.");
104
- return await this.indexedDBCache.containsKey(key);
105
- }
106
- catch (e) {
107
- this.handleDatabaseAccessError(e);
108
- }
109
- }
110
- return containsKey;
111
- }
112
- /**
113
- * Clears in-memory Map
114
- */
115
- clearInMemory() {
116
- // InMemory cache is a Map instance, clear is straightforward
117
- this.logger.verbose(`Deleting in-memory keystore ${this.storeName}`);
118
- this.inMemoryCache.clear();
119
- this.logger.verbose(`In-memory keystore ${this.storeName} deleted`);
120
- }
121
- /**
122
- * Tries to delete the IndexedDB database
123
- * @returns
124
- */
125
- async clearPersistent() {
126
- try {
127
- this.logger.verbose("Deleting persistent keystore");
128
- const dbDeleted = await this.indexedDBCache.deleteDatabase();
129
- if (dbDeleted) {
130
- this.logger.verbose("Persistent keystore deleted");
131
- }
132
- return dbDeleted;
133
- }
134
- catch (e) {
135
- this.handleDatabaseAccessError(e);
136
- return false;
137
- }
138
- }
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ /**
13
+ * This class allows MSAL to store artifacts asynchronously using the DatabaseStorage IndexedDB wrapper,
14
+ * backed up with the more volatile MemoryStorage object for cases in which IndexedDB may be unavailable.
15
+ */
16
+ class AsyncMemoryStorage {
17
+ constructor(logger, storeName) {
18
+ this.inMemoryCache = new MemoryStorage();
19
+ this.indexedDBCache = new DatabaseStorage();
20
+ this.logger = logger;
21
+ this.storeName = storeName;
22
+ }
23
+ handleDatabaseAccessError(error) {
24
+ if (error instanceof BrowserAuthError &&
25
+ error.errorCode === databaseUnavailable) {
26
+ this.logger.error("Could not access persistent storage. This may be caused by browser privacy features which block persistent storage in third-party contexts.");
27
+ }
28
+ else {
29
+ throw error;
30
+ }
31
+ }
32
+ /**
33
+ * Get the item matching the given key. Tries in-memory cache first, then in the asynchronous
34
+ * storage object if item isn't found in-memory.
35
+ * @param key
36
+ */
37
+ async getItem(key) {
38
+ const item = this.inMemoryCache.getItem(key);
39
+ if (!item) {
40
+ try {
41
+ this.logger.verbose("Queried item not found in in-memory cache, now querying persistent storage.");
42
+ return await this.indexedDBCache.getItem(key);
43
+ }
44
+ catch (e) {
45
+ this.handleDatabaseAccessError(e);
46
+ }
47
+ }
48
+ return item;
49
+ }
50
+ /**
51
+ * Sets the item in the in-memory cache and then tries to set it in the asynchronous
52
+ * storage object with the given key.
53
+ * @param key
54
+ * @param value
55
+ */
56
+ async setItem(key, value) {
57
+ this.inMemoryCache.setItem(key, value);
58
+ try {
59
+ await this.indexedDBCache.setItem(key, value);
60
+ }
61
+ catch (e) {
62
+ this.handleDatabaseAccessError(e);
63
+ }
64
+ }
65
+ /**
66
+ * Removes the item matching the key from the in-memory cache, then tries to remove it from the asynchronous storage object.
67
+ * @param key
68
+ */
69
+ async removeItem(key) {
70
+ this.inMemoryCache.removeItem(key);
71
+ try {
72
+ await this.indexedDBCache.removeItem(key);
73
+ }
74
+ catch (e) {
75
+ this.handleDatabaseAccessError(e);
76
+ }
77
+ }
78
+ /**
79
+ * Get all the keys from the in-memory cache as an iterable array of strings. If no keys are found, query the keys in the
80
+ * asynchronous storage object.
81
+ */
82
+ async getKeys() {
83
+ const cacheKeys = this.inMemoryCache.getKeys();
84
+ if (cacheKeys.length === 0) {
85
+ try {
86
+ this.logger.verbose("In-memory cache is empty, now querying persistent storage.");
87
+ return await this.indexedDBCache.getKeys();
88
+ }
89
+ catch (e) {
90
+ this.handleDatabaseAccessError(e);
91
+ }
92
+ }
93
+ return cacheKeys;
94
+ }
95
+ /**
96
+ * Returns true or false if the given key is present in the cache.
97
+ * @param key
98
+ */
99
+ async containsKey(key) {
100
+ const containsKey = this.inMemoryCache.containsKey(key);
101
+ if (!containsKey) {
102
+ try {
103
+ this.logger.verbose("Key not found in in-memory cache, now querying persistent storage.");
104
+ return await this.indexedDBCache.containsKey(key);
105
+ }
106
+ catch (e) {
107
+ this.handleDatabaseAccessError(e);
108
+ }
109
+ }
110
+ return containsKey;
111
+ }
112
+ /**
113
+ * Clears in-memory Map
114
+ */
115
+ clearInMemory() {
116
+ // InMemory cache is a Map instance, clear is straightforward
117
+ this.logger.verbose(`Deleting in-memory keystore ${this.storeName}`);
118
+ this.inMemoryCache.clear();
119
+ this.logger.verbose(`In-memory keystore ${this.storeName} deleted`);
120
+ }
121
+ /**
122
+ * Tries to delete the IndexedDB database
123
+ * @returns
124
+ */
125
+ async clearPersistent() {
126
+ try {
127
+ this.logger.verbose("Deleting persistent keystore");
128
+ const dbDeleted = await this.indexedDBCache.deleteDatabase();
129
+ if (dbDeleted) {
130
+ this.logger.verbose("Persistent keystore deleted");
131
+ }
132
+ return dbDeleted;
133
+ }
134
+ catch (e) {
135
+ this.handleDatabaseAccessError(e);
136
+ return false;
137
+ }
138
+ }
139
139
  }
140
140
 
141
141
  export { AsyncMemoryStorage };