@azure/msal-browser 3.27.0 → 3.28.1
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.
- package/dist/app/IPublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientNext.mjs +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs +1 -1
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
- package/dist/cache/AccountManager.mjs +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/cache/BrowserCacheManager.d.ts +2 -38
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +21 -115
- package/dist/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/cache/BrowserStorage.d.ts +3 -1
- package/dist/cache/BrowserStorage.d.ts.map +1 -1
- package/dist/cache/BrowserStorage.mjs +13 -8
- package/dist/cache/BrowserStorage.mjs.map +1 -1
- package/dist/cache/CookieStorage.d.ts +14 -0
- package/dist/cache/CookieStorage.d.ts.map +1 -0
- package/dist/cache/CookieStorage.mjs +62 -0
- package/dist/cache/CookieStorage.mjs.map +1 -0
- package/dist/cache/DatabaseStorage.mjs +1 -1
- package/dist/cache/LocalStorage.d.ts +10 -0
- package/dist/cache/LocalStorage.d.ts.map +1 -0
- package/dist/cache/LocalStorage.mjs +34 -0
- package/dist/cache/LocalStorage.mjs.map +1 -0
- package/dist/cache/MemoryStorage.mjs +1 -1
- package/dist/cache/SessionStorage.d.ts +10 -0
- package/dist/cache/SessionStorage.d.ts.map +1 -0
- package/dist/cache/SessionStorage.mjs +34 -0
- package/dist/cache/SessionStorage.mjs.map +1 -0
- package/dist/cache/TokenCache.mjs +1 -1
- package/dist/config/Configuration.mjs +1 -1
- package/dist/controllers/ControllerFactory.mjs +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +2 -2
- package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
- package/dist/controllers/StandardController.mjs +1 -1
- package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
- package/dist/crypto/BrowserCrypto.d.ts +1 -1
- package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/BrowserCrypto.mjs +3 -3
- package/dist/crypto/BrowserCrypto.mjs.map +1 -1
- package/dist/crypto/CryptoOps.d.ts +1 -1
- package/dist/crypto/CryptoOps.d.ts.map +1 -1
- package/dist/crypto/CryptoOps.mjs +3 -3
- package/dist/crypto/CryptoOps.mjs.map +1 -1
- package/dist/crypto/PkceGenerator.mjs +1 -1
- package/dist/crypto/SignedHttpRequest.mjs +1 -1
- package/dist/encode/Base64Decode.mjs +1 -1
- package/dist/encode/Base64Encode.mjs +1 -1
- package/dist/error/BrowserAuthError.mjs +1 -1
- package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
- package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
- package/dist/error/NativeAuthError.mjs +1 -1
- package/dist/error/NativeAuthErrorCodes.mjs +1 -1
- package/dist/error/NestedAppAuthError.mjs +1 -1
- package/dist/event/EventHandler.mjs +1 -1
- package/dist/event/EventMessage.mjs +1 -1
- package/dist/event/EventType.mjs +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/interaction_client/NativeInteractionClient.mjs +1 -1
- package/dist/interaction_client/PopupClient.mjs +1 -1
- package/dist/interaction_client/RedirectClient.mjs +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
- package/dist/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs +5 -1
- package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs +1 -1
- package/dist/interaction_handler/RedirectHandler.mjs +1 -1
- package/dist/interaction_handler/SilentHandler.mjs +1 -1
- package/dist/naa/BridgeError.mjs +1 -1
- package/dist/naa/BridgeProxy.mjs +1 -1
- package/dist/naa/BridgeStatusCode.mjs +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
- package/dist/navigation/NavigationClient.mjs +1 -1
- package/dist/network/FetchClient.mjs +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
- package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
- package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/request/RequestHelpers.mjs +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
- package/dist/utils/BrowserConstants.mjs +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/utils/BrowserUtils.mjs +4 -2
- package/dist/utils/BrowserUtils.mjs.map +1 -1
- package/lib/msal-browser.cjs +224 -198
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +224 -198
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +64 -64
- package/lib/types/cache/BrowserCacheManager.d.ts +2 -38
- package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
- package/lib/types/cache/BrowserStorage.d.ts +3 -1
- package/lib/types/cache/BrowserStorage.d.ts.map +1 -1
- package/lib/types/cache/CookieStorage.d.ts +14 -0
- package/lib/types/cache/CookieStorage.d.ts.map +1 -0
- package/lib/types/cache/LocalStorage.d.ts +10 -0
- package/lib/types/cache/LocalStorage.d.ts.map +1 -0
- package/lib/types/cache/SessionStorage.d.ts +10 -0
- package/lib/types/cache/SessionStorage.d.ts.map +1 -0
- package/lib/types/crypto/BrowserCrypto.d.ts +1 -1
- package/lib/types/crypto/BrowserCrypto.d.ts.map +1 -1
- package/lib/types/crypto/CryptoOps.d.ts +1 -1
- package/lib/types/crypto/CryptoOps.d.ts.map +1 -1
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/utils/BrowserUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/cache/BrowserCacheManager.ts +27 -141
- package/src/cache/BrowserStorage.ts +11 -11
- package/src/cache/CookieStorage.ts +80 -0
- package/src/cache/LocalStorage.ts +40 -0
- package/src/cache/SessionStorage.ts +40 -0
- package/src/controllers/NestedAppAuthController.ts +1 -1
- package/src/crypto/BrowserCrypto.ts +4 -2
- package/src/crypto/CryptoOps.ts +8 -2
- package/src/index.ts +3 -0
- package/src/interaction_client/StandardInteractionClient.ts +5 -0
- package/src/packageMetadata.ts +1 -1
- package/src/utils/BrowserUtils.ts +3 -1
|
@@ -9,6 +9,7 @@ import { SilentRequest } from "../request/SilentRequest.js";
|
|
|
9
9
|
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
|
|
10
10
|
import { RedirectRequest } from "../request/RedirectRequest.js";
|
|
11
11
|
import { PopupRequest } from "../request/PopupRequest.js";
|
|
12
|
+
import { CookieStorage } from "./CookieStorage.js";
|
|
12
13
|
/**
|
|
13
14
|
* This class implements the cache storage interface for MSAL through browser local or session storage.
|
|
14
15
|
* Cookies are only used if storeAuthStateInCookie is true, and are only used for
|
|
@@ -19,21 +20,15 @@ export declare class BrowserCacheManager extends CacheManager {
|
|
|
19
20
|
protected browserStorage: IWindowStorage<string>;
|
|
20
21
|
protected internalStorage: MemoryStorage<string>;
|
|
21
22
|
protected temporaryCacheStorage: IWindowStorage<string>;
|
|
23
|
+
protected cookieStorage: CookieStorage;
|
|
22
24
|
protected logger: Logger;
|
|
23
25
|
protected performanceClient?: IPerformanceClient;
|
|
24
|
-
protected readonly COOKIE_LIFE_MULTIPLIER: number;
|
|
25
26
|
constructor(clientId: string, cacheConfig: Required<CacheOptions>, cryptoImpl: ICrypto, logger: Logger, staticAuthorityOptions?: StaticAuthorityOptions, performanceClient?: IPerformanceClient);
|
|
26
27
|
/**
|
|
27
28
|
* Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.
|
|
28
29
|
* @param cacheLocation
|
|
29
30
|
*/
|
|
30
31
|
protected setupBrowserStorage(cacheLocation: BrowserCacheLocation | string): IWindowStorage<string>;
|
|
31
|
-
/**
|
|
32
|
-
* Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured temporaryCacheLocation.
|
|
33
|
-
* @param temporaryCacheLocation
|
|
34
|
-
* @param cacheLocation
|
|
35
|
-
*/
|
|
36
|
-
protected setupTemporaryCacheStorage(temporaryCacheLocation: BrowserCacheLocation | string, cacheLocation: BrowserCacheLocation | string): IWindowStorage<string>;
|
|
37
32
|
/**
|
|
38
33
|
* Migrate all old cache entries to new schema. No rollback supported.
|
|
39
34
|
* @param storeAuthStateInCookie
|
|
@@ -269,37 +264,6 @@ export declare class BrowserCacheManager extends CacheManager {
|
|
|
269
264
|
* @returns
|
|
270
265
|
*/
|
|
271
266
|
clearTokensAndKeysWithClaims(performanceClient: IPerformanceClient, correlationId: string): Promise<void>;
|
|
272
|
-
/**
|
|
273
|
-
* Add value to cookies
|
|
274
|
-
* @param cookieName
|
|
275
|
-
* @param cookieValue
|
|
276
|
-
* @param expires
|
|
277
|
-
* @deprecated
|
|
278
|
-
*/
|
|
279
|
-
setItemCookie(cookieName: string, cookieValue: string, expires?: number): void;
|
|
280
|
-
/**
|
|
281
|
-
* Get one item by key from cookies
|
|
282
|
-
* @param cookieName
|
|
283
|
-
* @deprecated
|
|
284
|
-
*/
|
|
285
|
-
getItemCookie(cookieName: string): string;
|
|
286
|
-
/**
|
|
287
|
-
* Clear all msal-related cookies currently set in the browser. Should only be used to clear temporary cache items.
|
|
288
|
-
* @deprecated
|
|
289
|
-
*/
|
|
290
|
-
clearMsalCookies(): void;
|
|
291
|
-
/**
|
|
292
|
-
* Clear an item in the cookies by key
|
|
293
|
-
* @param cookieName
|
|
294
|
-
* @deprecated
|
|
295
|
-
*/
|
|
296
|
-
clearItemCookie(cookieName: string): void;
|
|
297
|
-
/**
|
|
298
|
-
* Get cookie expiration time
|
|
299
|
-
* @param cookieLifeDays
|
|
300
|
-
* @deprecated
|
|
301
|
-
*/
|
|
302
|
-
getCookieExpirationTime(cookieLifeDays: number): string;
|
|
303
267
|
/**
|
|
304
268
|
* Prepend msal.<client-id> to each key; Skip for any JSON object as Key (defined schemas do not need the key appended: AccessToken Keys or the upcoming schema)
|
|
305
269
|
* @param key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserCacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/BrowserCacheManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAIH,8BAA8B,EAC9B,OAAO,EACP,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAEhB,MAAM,EACN,uBAAuB,EAEvB,WAAW,EAKX,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,WAAW,EAKX,kBAAkB,EAClB,sBAAsB,EAEtB,YAAY,EAEf,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAK1D,OAAO,EACH,oBAAoB,EACpB,eAAe,EAIlB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserCacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/BrowserCacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { IWindowStorage } from "./IWindowStorage.js";
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated This class will be removed in a future major version
|
|
4
|
+
*/
|
|
2
5
|
export declare class BrowserStorage implements IWindowStorage<string> {
|
|
3
6
|
private windowStorage;
|
|
4
7
|
constructor(cacheLocation: string);
|
|
5
|
-
private validateWindowStorage;
|
|
6
8
|
getItem(key: string): string | null;
|
|
7
9
|
setItem(key: string, value: string): void;
|
|
8
10
|
removeItem(key: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserStorage.d.ts","sourceRoot":"","sources":["../../../src/cache/BrowserStorage.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserStorage.d.ts","sourceRoot":"","sources":["../../../src/cache/BrowserStorage.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD;;GAEG;AACH,qBAAa,cAAe,YAAW,cAAc,CAAC,MAAM,CAAC;IACzD,OAAO,CAAC,aAAa,CAAyB;gBAElC,aAAa,EAAE,MAAM;IAYjC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,IAAI,MAAM,EAAE;IAInB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGpC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IWindowStorage } from "./IWindowStorage.js";
|
|
2
|
+
export declare class CookieStorage implements IWindowStorage<string> {
|
|
3
|
+
getItem(key: string): string | null;
|
|
4
|
+
setItem(key: string, value: string, cookieLifeDays?: number, secure?: boolean): void;
|
|
5
|
+
removeItem(key: string): void;
|
|
6
|
+
getKeys(): string[];
|
|
7
|
+
containsKey(key: string): boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Get cookie expiration time
|
|
11
|
+
* @param cookieLifeDays
|
|
12
|
+
*/
|
|
13
|
+
export declare function getCookieExpirationTime(cookieLifeDays: number): string;
|
|
14
|
+
//# sourceMappingURL=CookieStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CookieStorage.d.ts","sourceRoot":"","sources":["../../../src/cache/CookieStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAKrD,qBAAa,aAAc,YAAW,cAAc,CAAC,MAAM,CAAC;IACxD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAenC,OAAO,CACH,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,GAAE,OAAc,GACvB,IAAI;IAiBP,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,IAAI,MAAM,EAAE;IAWnB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGpC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAMtE"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IWindowStorage } from "./IWindowStorage.js";
|
|
2
|
+
export declare class LocalStorage implements IWindowStorage<string> {
|
|
3
|
+
constructor();
|
|
4
|
+
getItem(key: string): string | null;
|
|
5
|
+
setItem(key: string, value: string): void;
|
|
6
|
+
removeItem(key: string): void;
|
|
7
|
+
getKeys(): string[];
|
|
8
|
+
containsKey(key: string): boolean;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=LocalStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocalStorage.d.ts","sourceRoot":"","sources":["../../../src/cache/LocalStorage.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,YAAa,YAAW,cAAc,CAAC,MAAM,CAAC;;IASvD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,IAAI,MAAM,EAAE;IAInB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGpC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IWindowStorage } from "./IWindowStorage.js";
|
|
2
|
+
export declare class SessionStorage implements IWindowStorage<string> {
|
|
3
|
+
constructor();
|
|
4
|
+
getItem(key: string): string | null;
|
|
5
|
+
setItem(key: string, value: string): void;
|
|
6
|
+
removeItem(key: string): void;
|
|
7
|
+
getKeys(): string[];
|
|
8
|
+
containsKey(key: string): boolean;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=SessionStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SessionStorage.d.ts","sourceRoot":"","sources":["../../../src/cache/SessionStorage.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,cAAe,YAAW,cAAc,CAAC,MAAM,CAAC;;IASzD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAInC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,IAAI,MAAM,EAAE;IAInB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAGpC"}
|
|
@@ -2,7 +2,7 @@ import { IPerformanceClient } from "@azure/msal-common/browser";
|
|
|
2
2
|
/**
|
|
3
3
|
* Check whether browser crypto is available.
|
|
4
4
|
*/
|
|
5
|
-
export declare function validateCryptoAvailable(): void;
|
|
5
|
+
export declare function validateCryptoAvailable(skipValidateSubtleCrypto: boolean): void;
|
|
6
6
|
/**
|
|
7
7
|
* Returns a sha-256 hash of the given dataString as an ArrayBuffer.
|
|
8
8
|
* @param dataString {string} data string
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/BrowserCrypto.ts"],"names":[],"mappings":"AASA,OAAO,EACH,kBAAkB,EAErB,MAAM,4BAA4B,CAAC;AAkCpC;;GAEG;AACH,wBAAgB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"BrowserCrypto.d.ts","sourceRoot":"","sources":["../../../src/crypto/BrowserCrypto.ts"],"names":[],"mappings":"AASA,OAAO,EACH,kBAAkB,EAErB,MAAM,4BAA4B,CAAC;AAkCpC;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,wBAAwB,EAAE,OAAO,GAClC,IAAI,CAeN;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAC9B,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAElE;AAWD;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAuCtC;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACjC,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxB,OAAO,CAAC,aAAa,CAAC,CAMxB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAKnE;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC3B,GAAG,EAAE,UAAU,EACf,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAQpB;AAED;;;;GAIG;AACH,wBAAsB,IAAI,CACtB,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,WAAW,GAClB,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAInE"}
|
|
@@ -19,7 +19,7 @@ export declare class CryptoOps implements ICrypto {
|
|
|
19
19
|
private static POP_KEY_USAGES;
|
|
20
20
|
private static EXTRACTABLE;
|
|
21
21
|
private cache;
|
|
22
|
-
constructor(logger: Logger, performanceClient?: IPerformanceClient);
|
|
22
|
+
constructor(logger: Logger, performanceClient?: IPerformanceClient, skipValidateSubtleCrypto?: boolean);
|
|
23
23
|
/**
|
|
24
24
|
* Creates a new random GUID - used to populate state and nonce.
|
|
25
25
|
* @returns string (GUID)
|
|
@@ -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,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,4BAA4B,CAAC;AAcpC,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAU,YAAW,OAAO;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAiB;IAC3C,OAAO,CAAC,KAAK,CAAoC;
|
|
1
|
+
{"version":3,"file":"CryptoOps.d.ts","sourceRoot":"","sources":["../../../src/crypto/CryptoOps.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,OAAO,EACP,kBAAkB,EAElB,MAAM,EAEN,UAAU,EACV,iBAAiB,EACjB,2BAA2B,EAC9B,MAAM,4BAA4B,CAAC;AAcpC,MAAM,MAAM,aAAa,GAAG;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,qBAAa,SAAU,YAAW,OAAO;IACrC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;IACH,OAAO,CAAC,iBAAiB,CAAiC;IAE1D,OAAO,CAAC,MAAM,CAAC,cAAc,CAAuC;IACpE,OAAO,CAAC,MAAM,CAAC,WAAW,CAAiB;IAC3C,OAAO,CAAC,KAAK,CAAoC;gBAG7C,MAAM,EAAE,MAAM,EACd,iBAAiB,CAAC,EAAE,kBAAkB,EACtC,wBAAwB,CAAC,EAAE,OAAO;IAWtC;;;OAGG;IACH,aAAa,IAAI,MAAM;IAIvB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAItC;;;;OAIG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAInC;;;OAGG;IACG,sBAAsB,CACxB,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC;IAqDlB;;;OAGG;IACG,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM1D;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BvC;;;;OAIG;IACG,OAAO,CACT,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,UAAU,EACvB,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC;IA0DlB;;;OAGG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAGvD"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -30,6 +30,9 @@ export { LoadTokenOptions } from "./cache/TokenCache.js";
|
|
|
30
30
|
export { ITokenCache } from "./cache/ITokenCache.js";
|
|
31
31
|
export { MemoryStorage } from "./cache/MemoryStorage.js";
|
|
32
32
|
export { BrowserStorage } from "./cache/BrowserStorage.js";
|
|
33
|
+
export { LocalStorage } from "./cache/LocalStorage.js";
|
|
34
|
+
export { SessionStorage } from "./cache/SessionStorage.js";
|
|
35
|
+
export { IWindowStorage } from "./cache/IWindowStorage.js";
|
|
33
36
|
export { EventMessage, EventPayload, EventError, EventCallbackFunction, EventMessageUtils, PopupEvent, } from "./event/EventMessage.js";
|
|
34
37
|
export { EventType } from "./event/EventType.js";
|
|
35
38
|
export { EventHandler } from "./event/EventHandler.js";
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StandardInteractionClient.d.ts","sourceRoot":"","sources":["../../../src/interaction_client/StandardInteractionClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,sBAAsB,EACtB,8BAA8B,EAE9B,uBAAuB,EACvB,mBAAmB,EAEnB,uBAAuB,EAIvB,WAAW,EACX,iBAAiB,EAIjB,UAAU,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAEH,eAAe,EAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKlE;;GAEG;AACH,8BAAsB,yBAA0B,SAAQ,qBAAqB;IACzE;;;OAGG;cACa,kCAAkC,CAC9C,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,8BAA8B,CAAC;IA0B1C;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAC7B,aAAa,CAAC,EAAE,iBAAiB,GAClC,uBAAuB;IA+F1B;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,CACpC,OAAO,EAAE,WAAW,GACrB,MAAM,GAAG,IAAI;IAmBhB;;;;;;;;;OASG;cACa,oBAAoB,CAAC,MAAM,EAAE;QACzC,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,iBAAiB,CAAC;QAC7C,2BAA2B,CAAC,EAAE,UAAU,CAAC;QACzC,OAAO,CAAC,EAAE,WAAW,CAAC;KACzB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoBpC;;;;;;;;;OASG;cACa,sBAAsB,CAAC,MAAM,EAAE;QAC3C,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,iBAAiB,CAAC;QAC7C,2BAA2B,CAAC,EAAE,UAAU,CAAC;QACzC,OAAO,CAAC,EAAE,WAAW,CAAC;KACzB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+DhC;;;;OAIG;cACa,8BAA8B,CAC1C,OAAO,EAAE,eAAe,GAAG,YAAY,GAAG,gBAAgB,EAC1D,eAAe,EAAE,eAAe,GACjC,OAAO,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"StandardInteractionClient.d.ts","sourceRoot":"","sources":["../../../src/interaction_client/StandardInteractionClient.ts"],"names":[],"mappings":"AAKA,OAAO,EACH,sBAAsB,EACtB,8BAA8B,EAE9B,uBAAuB,EACvB,mBAAmB,EAEnB,uBAAuB,EAIvB,WAAW,EACX,iBAAiB,EAIjB,UAAU,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAEH,eAAe,EAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAKlE;;GAEG;AACH,8BAAsB,yBAA0B,SAAQ,qBAAqB;IACzE;;;OAGG;cACa,kCAAkC,CAC9C,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,8BAA8B,CAAC;IA0B1C;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAC7B,aAAa,CAAC,EAAE,iBAAiB,GAClC,uBAAuB;IA+F1B;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,CACpC,OAAO,EAAE,WAAW,GACrB,MAAM,GAAG,IAAI;IAmBhB;;;;;;;;;OASG;cACa,oBAAoB,CAAC,MAAM,EAAE;QACzC,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,iBAAiB,CAAC;QAC7C,2BAA2B,CAAC,EAAE,UAAU,CAAC;QACzC,OAAO,CAAC,EAAE,WAAW,CAAC;KACzB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoBpC;;;;;;;;;OASG;cACa,sBAAsB,CAAC,MAAM,EAAE;QAC3C,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,iBAAiB,CAAC;QAC7C,2BAA2B,CAAC,EAAE,UAAU,CAAC;QACzC,OAAO,CAAC,EAAE,WAAW,CAAC;KACzB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA+DhC;;;;OAIG;cACa,8BAA8B,CAC1C,OAAO,EAAE,eAAe,GAAG,YAAY,GAAG,gBAAgB,EAC1D,eAAe,EAAE,eAAe,GACjC,OAAO,CAAC,uBAAuB,CAAC;CAmEtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BrowserUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,MAAM,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAW5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE;;GAEG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAWrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAQnC;AAID;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"BrowserUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/BrowserUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,MAAM,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAW5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE;;GAEG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAWrD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAQnC;AAID;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAItC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAIpC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAQjD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,qBAAqB,EAAE,OAAO,GAAG,IAAI,CAK1E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAMjD;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAMxE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,OAAO,GAAG,IAAI,CAYzD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,OAAO,EACpB,MAAM,EAAE,oBAAoB,GAC7B,IAAI,CAYN;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAalD;AAED;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -52,7 +52,8 @@ import {
|
|
|
52
52
|
InMemoryCacheKeys,
|
|
53
53
|
StaticCacheKeys,
|
|
54
54
|
} from "../utils/BrowserConstants.js";
|
|
55
|
-
import {
|
|
55
|
+
import { LocalStorage } from "./LocalStorage.js";
|
|
56
|
+
import { SessionStorage } from "./SessionStorage.js";
|
|
56
57
|
import { MemoryStorage } from "./MemoryStorage.js";
|
|
57
58
|
import { IWindowStorage } from "./IWindowStorage.js";
|
|
58
59
|
import { extractBrowserRequestState } from "../utils/BrowserProtocolUtils.js";
|
|
@@ -64,6 +65,7 @@ import { RedirectRequest } from "../request/RedirectRequest.js";
|
|
|
64
65
|
import { PopupRequest } from "../request/PopupRequest.js";
|
|
65
66
|
import { base64Decode } from "../encode/Base64Decode.js";
|
|
66
67
|
import { base64Encode } from "../encode/Base64Encode.js";
|
|
68
|
+
import { CookieStorage } from "./CookieStorage.js";
|
|
67
69
|
|
|
68
70
|
/**
|
|
69
71
|
* This class implements the cache storage interface for MSAL through browser local or session storage.
|
|
@@ -79,14 +81,13 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
79
81
|
protected internalStorage: MemoryStorage<string>;
|
|
80
82
|
// Temporary cache
|
|
81
83
|
protected temporaryCacheStorage: IWindowStorage<string>;
|
|
84
|
+
// Cookie storage
|
|
85
|
+
protected cookieStorage: CookieStorage;
|
|
82
86
|
// Logger instance
|
|
83
87
|
protected logger: Logger;
|
|
84
88
|
// Telemetry perf client
|
|
85
89
|
protected performanceClient?: IPerformanceClient;
|
|
86
90
|
|
|
87
|
-
// Cookie life calculation (hours * minutes * seconds * ms)
|
|
88
|
-
protected readonly COOKIE_LIFE_MULTIPLIER = 24 * 60 * 60 * 1000;
|
|
89
|
-
|
|
90
91
|
constructor(
|
|
91
92
|
clientId: string,
|
|
92
93
|
cacheConfig: Required<CacheOptions>,
|
|
@@ -102,10 +103,10 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
102
103
|
this.browserStorage = this.setupBrowserStorage(
|
|
103
104
|
this.cacheConfig.cacheLocation
|
|
104
105
|
);
|
|
105
|
-
this.temporaryCacheStorage = this.
|
|
106
|
-
this.cacheConfig.temporaryCacheLocation
|
|
107
|
-
this.cacheConfig.cacheLocation
|
|
106
|
+
this.temporaryCacheStorage = this.setupBrowserStorage(
|
|
107
|
+
this.cacheConfig.temporaryCacheLocation
|
|
108
108
|
);
|
|
109
|
+
this.cookieStorage = new CookieStorage();
|
|
109
110
|
|
|
110
111
|
// Migrate cache entries from older versions of MSAL.
|
|
111
112
|
if (cacheConfig.cacheMigrationEnabled) {
|
|
@@ -123,51 +124,23 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
123
124
|
protected setupBrowserStorage(
|
|
124
125
|
cacheLocation: BrowserCacheLocation | string
|
|
125
126
|
): IWindowStorage<string> {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
127
|
+
try {
|
|
128
|
+
switch (cacheLocation) {
|
|
129
|
+
case BrowserCacheLocation.LocalStorage:
|
|
130
|
+
return new LocalStorage();
|
|
131
|
+
case BrowserCacheLocation.SessionStorage:
|
|
132
|
+
return new SessionStorage();
|
|
133
|
+
case BrowserCacheLocation.MemoryStorage:
|
|
134
|
+
default:
|
|
133
135
|
break;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
break;
|
|
136
|
+
}
|
|
137
|
+
} catch (e) {
|
|
138
|
+
this.logger.error(e as string);
|
|
138
139
|
}
|
|
139
140
|
this.cacheConfig.cacheLocation = BrowserCacheLocation.MemoryStorage;
|
|
140
141
|
return new MemoryStorage();
|
|
141
142
|
}
|
|
142
143
|
|
|
143
|
-
/**
|
|
144
|
-
* Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured temporaryCacheLocation.
|
|
145
|
-
* @param temporaryCacheLocation
|
|
146
|
-
* @param cacheLocation
|
|
147
|
-
*/
|
|
148
|
-
protected setupTemporaryCacheStorage(
|
|
149
|
-
temporaryCacheLocation: BrowserCacheLocation | string,
|
|
150
|
-
cacheLocation: BrowserCacheLocation | string
|
|
151
|
-
): IWindowStorage<string> {
|
|
152
|
-
switch (cacheLocation) {
|
|
153
|
-
case BrowserCacheLocation.LocalStorage:
|
|
154
|
-
case BrowserCacheLocation.SessionStorage:
|
|
155
|
-
try {
|
|
156
|
-
// Temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs
|
|
157
|
-
return new BrowserStorage(
|
|
158
|
-
temporaryCacheLocation ||
|
|
159
|
-
BrowserCacheLocation.SessionStorage
|
|
160
|
-
);
|
|
161
|
-
} catch (e) {
|
|
162
|
-
this.logger.verbose(e as string);
|
|
163
|
-
return this.internalStorage;
|
|
164
|
-
}
|
|
165
|
-
case BrowserCacheLocation.MemoryStorage:
|
|
166
|
-
default:
|
|
167
|
-
return this.internalStorage;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
144
|
/**
|
|
172
145
|
* Migrate all old cache entries to new schema. No rollback supported.
|
|
173
146
|
* @param storeAuthStateInCookie
|
|
@@ -1144,7 +1117,7 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
1144
1117
|
getTemporaryCache(cacheKey: string, generateKey?: boolean): string | null {
|
|
1145
1118
|
const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;
|
|
1146
1119
|
if (this.cacheConfig.storeAuthStateInCookie) {
|
|
1147
|
-
const itemCookie = this.
|
|
1120
|
+
const itemCookie = this.cookieStorage.getItem(key);
|
|
1148
1121
|
if (itemCookie) {
|
|
1149
1122
|
this.logger.trace(
|
|
1150
1123
|
"BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies"
|
|
@@ -1198,7 +1171,12 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
1198
1171
|
this.logger.trace(
|
|
1199
1172
|
"BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie"
|
|
1200
1173
|
);
|
|
1201
|
-
this.
|
|
1174
|
+
this.cookieStorage.setItem(
|
|
1175
|
+
key,
|
|
1176
|
+
value,
|
|
1177
|
+
undefined,
|
|
1178
|
+
this.cacheConfig.secureCookies
|
|
1179
|
+
);
|
|
1202
1180
|
}
|
|
1203
1181
|
}
|
|
1204
1182
|
|
|
@@ -1221,7 +1199,7 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
1221
1199
|
this.logger.trace(
|
|
1222
1200
|
"BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie"
|
|
1223
1201
|
);
|
|
1224
|
-
this.
|
|
1202
|
+
this.cookieStorage.removeItem(key);
|
|
1225
1203
|
}
|
|
1226
1204
|
}
|
|
1227
1205
|
|
|
@@ -1301,96 +1279,6 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
1301
1279
|
}
|
|
1302
1280
|
}
|
|
1303
1281
|
|
|
1304
|
-
/**
|
|
1305
|
-
* Add value to cookies
|
|
1306
|
-
* @param cookieName
|
|
1307
|
-
* @param cookieValue
|
|
1308
|
-
* @param expires
|
|
1309
|
-
* @deprecated
|
|
1310
|
-
*/
|
|
1311
|
-
setItemCookie(
|
|
1312
|
-
cookieName: string,
|
|
1313
|
-
cookieValue: string,
|
|
1314
|
-
expires?: number
|
|
1315
|
-
): void {
|
|
1316
|
-
let cookieStr = `${encodeURIComponent(cookieName)}=${encodeURIComponent(
|
|
1317
|
-
cookieValue
|
|
1318
|
-
)};path=/;SameSite=Lax;`;
|
|
1319
|
-
if (expires) {
|
|
1320
|
-
const expireTime = this.getCookieExpirationTime(expires);
|
|
1321
|
-
cookieStr += `expires=${expireTime};`;
|
|
1322
|
-
}
|
|
1323
|
-
|
|
1324
|
-
if (this.cacheConfig.secureCookies) {
|
|
1325
|
-
cookieStr += "Secure;";
|
|
1326
|
-
}
|
|
1327
|
-
|
|
1328
|
-
document.cookie = cookieStr;
|
|
1329
|
-
}
|
|
1330
|
-
|
|
1331
|
-
/**
|
|
1332
|
-
* Get one item by key from cookies
|
|
1333
|
-
* @param cookieName
|
|
1334
|
-
* @deprecated
|
|
1335
|
-
*/
|
|
1336
|
-
getItemCookie(cookieName: string): string {
|
|
1337
|
-
const name = `${encodeURIComponent(cookieName)}=`;
|
|
1338
|
-
const cookieList = document.cookie.split(";");
|
|
1339
|
-
for (let i: number = 0; i < cookieList.length; i++) {
|
|
1340
|
-
let cookie = cookieList[i];
|
|
1341
|
-
while (cookie.charAt(0) === " ") {
|
|
1342
|
-
cookie = cookie.substring(1);
|
|
1343
|
-
}
|
|
1344
|
-
if (cookie.indexOf(name) === 0) {
|
|
1345
|
-
return decodeURIComponent(
|
|
1346
|
-
cookie.substring(name.length, cookie.length)
|
|
1347
|
-
);
|
|
1348
|
-
}
|
|
1349
|
-
}
|
|
1350
|
-
return Constants.EMPTY_STRING;
|
|
1351
|
-
}
|
|
1352
|
-
|
|
1353
|
-
/**
|
|
1354
|
-
* Clear all msal-related cookies currently set in the browser. Should only be used to clear temporary cache items.
|
|
1355
|
-
* @deprecated
|
|
1356
|
-
*/
|
|
1357
|
-
clearMsalCookies(): void {
|
|
1358
|
-
const cookiePrefix = `${Constants.CACHE_PREFIX}.${this.clientId}`;
|
|
1359
|
-
const cookieList = document.cookie.split(";");
|
|
1360
|
-
cookieList.forEach((cookie: string): void => {
|
|
1361
|
-
while (cookie.charAt(0) === " ") {
|
|
1362
|
-
// eslint-disable-next-line no-param-reassign
|
|
1363
|
-
cookie = cookie.substring(1);
|
|
1364
|
-
}
|
|
1365
|
-
if (cookie.indexOf(cookiePrefix) === 0) {
|
|
1366
|
-
const cookieKey = cookie.split("=")[0];
|
|
1367
|
-
this.clearItemCookie(cookieKey);
|
|
1368
|
-
}
|
|
1369
|
-
});
|
|
1370
|
-
}
|
|
1371
|
-
|
|
1372
|
-
/**
|
|
1373
|
-
* Clear an item in the cookies by key
|
|
1374
|
-
* @param cookieName
|
|
1375
|
-
* @deprecated
|
|
1376
|
-
*/
|
|
1377
|
-
clearItemCookie(cookieName: string): void {
|
|
1378
|
-
this.setItemCookie(cookieName, Constants.EMPTY_STRING, -1);
|
|
1379
|
-
}
|
|
1380
|
-
|
|
1381
|
-
/**
|
|
1382
|
-
* Get cookie expiration time
|
|
1383
|
-
* @param cookieLifeDays
|
|
1384
|
-
* @deprecated
|
|
1385
|
-
*/
|
|
1386
|
-
getCookieExpirationTime(cookieLifeDays: number): string {
|
|
1387
|
-
const today = new Date();
|
|
1388
|
-
const expr = new Date(
|
|
1389
|
-
today.getTime() + cookieLifeDays * this.COOKIE_LIFE_MULTIPLIER
|
|
1390
|
-
);
|
|
1391
|
-
return expr.toUTCString();
|
|
1392
|
-
}
|
|
1393
|
-
|
|
1394
1282
|
/**
|
|
1395
1283
|
* Prepend msal.<client-id> to each key; Skip for any JSON object as Key (defined schemas do not need the key appended: AccessToken Keys or the upcoming schema)
|
|
1396
1284
|
* @param key
|
|
@@ -1570,7 +1458,6 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
1570
1458
|
);
|
|
1571
1459
|
this.resetRequestCache(cachedState || Constants.EMPTY_STRING);
|
|
1572
1460
|
}
|
|
1573
|
-
this.clearMsalCookies();
|
|
1574
1461
|
}
|
|
1575
1462
|
|
|
1576
1463
|
/**
|
|
@@ -1609,7 +1496,6 @@ export class BrowserCacheManager extends CacheManager {
|
|
|
1609
1496
|
this.resetRequestCache(stateValue);
|
|
1610
1497
|
}
|
|
1611
1498
|
});
|
|
1612
|
-
this.clearMsalCookies();
|
|
1613
1499
|
this.setInteractionInProgress(false);
|
|
1614
1500
|
}
|
|
1615
1501
|
|
|
@@ -9,21 +9,21 @@ import {
|
|
|
9
9
|
} from "../error/BrowserConfigurationAuthError.js";
|
|
10
10
|
import { BrowserCacheLocation } from "../utils/BrowserConstants.js";
|
|
11
11
|
import { IWindowStorage } from "./IWindowStorage.js";
|
|
12
|
+
import { LocalStorage } from "./LocalStorage.js";
|
|
13
|
+
import { SessionStorage } from "./SessionStorage.js";
|
|
12
14
|
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated This class will be removed in a future major version
|
|
17
|
+
*/
|
|
13
18
|
export class BrowserStorage implements IWindowStorage<string> {
|
|
14
|
-
private windowStorage:
|
|
19
|
+
private windowStorage: IWindowStorage<string>;
|
|
15
20
|
|
|
16
21
|
constructor(cacheLocation: string) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (
|
|
23
|
-
(cacheLocation !== BrowserCacheLocation.LocalStorage &&
|
|
24
|
-
cacheLocation !== BrowserCacheLocation.SessionStorage) ||
|
|
25
|
-
!window[cacheLocation]
|
|
26
|
-
) {
|
|
22
|
+
if (cacheLocation === BrowserCacheLocation.LocalStorage) {
|
|
23
|
+
this.windowStorage = new LocalStorage();
|
|
24
|
+
} else if (cacheLocation === BrowserCacheLocation.SessionStorage) {
|
|
25
|
+
this.windowStorage = new SessionStorage();
|
|
26
|
+
} else {
|
|
27
27
|
throw createBrowserConfigurationAuthError(
|
|
28
28
|
BrowserConfigurationAuthErrorCodes.storageNotSupported
|
|
29
29
|
);
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { IWindowStorage } from "./IWindowStorage.js";
|
|
7
|
+
|
|
8
|
+
// Cookie life calculation (hours * minutes * seconds * ms)
|
|
9
|
+
const COOKIE_LIFE_MULTIPLIER = 24 * 60 * 60 * 1000;
|
|
10
|
+
|
|
11
|
+
export class CookieStorage implements IWindowStorage<string> {
|
|
12
|
+
getItem(key: string): string | null {
|
|
13
|
+
const name = `${encodeURIComponent(key)}`;
|
|
14
|
+
const cookieList = document.cookie.split(";");
|
|
15
|
+
for (let i = 0; i < cookieList.length; i++) {
|
|
16
|
+
const cookie = cookieList[i];
|
|
17
|
+
const [key, ...rest] = decodeURIComponent(cookie).trim().split("=");
|
|
18
|
+
const value = rest.join("=");
|
|
19
|
+
|
|
20
|
+
if (key === name) {
|
|
21
|
+
return value;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
setItem(
|
|
28
|
+
key: string,
|
|
29
|
+
value: string,
|
|
30
|
+
cookieLifeDays?: number,
|
|
31
|
+
secure: boolean = true
|
|
32
|
+
): void {
|
|
33
|
+
let cookieStr = `${encodeURIComponent(key)}=${encodeURIComponent(
|
|
34
|
+
value
|
|
35
|
+
)};path=/;SameSite=Lax;`;
|
|
36
|
+
|
|
37
|
+
if (cookieLifeDays) {
|
|
38
|
+
const expireTime = getCookieExpirationTime(cookieLifeDays);
|
|
39
|
+
cookieStr += `expires=${expireTime};`;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (secure) {
|
|
43
|
+
cookieStr += "Secure;";
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
document.cookie = cookieStr;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
removeItem(key: string): void {
|
|
50
|
+
// Setting expiration to -1 removes it
|
|
51
|
+
this.setItem(key, "", -1);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
getKeys(): string[] {
|
|
55
|
+
const cookieList = document.cookie.split(";");
|
|
56
|
+
const keys: Array<string> = [];
|
|
57
|
+
cookieList.forEach((cookie) => {
|
|
58
|
+
const cookieParts = decodeURIComponent(cookie).trim().split("=");
|
|
59
|
+
keys.push(cookieParts[0]);
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
return keys;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
containsKey(key: string): boolean {
|
|
66
|
+
return this.getKeys().includes(key);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Get cookie expiration time
|
|
72
|
+
* @param cookieLifeDays
|
|
73
|
+
*/
|
|
74
|
+
export function getCookieExpirationTime(cookieLifeDays: number): string {
|
|
75
|
+
const today = new Date();
|
|
76
|
+
const expr = new Date(
|
|
77
|
+
today.getTime() + cookieLifeDays * COOKIE_LIFE_MULTIPLIER
|
|
78
|
+
);
|
|
79
|
+
return expr.toUTCString();
|
|
80
|
+
}
|