@azure/msal-browser 2.36.0 → 3.0.0-alpha.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.
- package/LICENSE +21 -21
- package/README.md +213 -213
- package/dist/app/IPublicClientApplication.d.ts.map +1 -1
- package/dist/app/IPublicClientApplication.js +33 -33
- package/dist/app/IPublicClientApplication.js.map +1 -1
- package/dist/app/PublicClientApplication.d.ts +198 -24
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.js +263 -220
- package/dist/app/PublicClientApplication.js.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +5 -4
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts.map +1 -1
- package/dist/broker/nativeBroker/NativeMessageHandler.js +118 -124
- package/dist/broker/nativeBroker/NativeMessageHandler.js.map +1 -1
- package/dist/broker/nativeBroker/NativeRequest.d.ts +4 -4
- package/dist/broker/nativeBroker/NativeRequest.d.ts.map +1 -1
- package/dist/broker/nativeBroker/NativeResponse.d.ts +4 -4
- package/dist/broker/nativeBroker/NativeResponse.d.ts.map +1 -1
- package/dist/cache/AsyncMemoryStorage.d.ts.map +1 -1
- package/dist/cache/AsyncMemoryStorage.js +83 -152
- package/dist/cache/AsyncMemoryStorage.js.map +1 -1
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.js +420 -412
- package/dist/cache/BrowserCacheManager.js.map +1 -1
- package/dist/cache/BrowserStorage.d.ts.map +1 -1
- package/dist/cache/BrowserStorage.js +19 -19
- package/dist/cache/BrowserStorage.js.map +1 -1
- package/dist/cache/CryptoKeyStore.d.ts.map +1 -1
- package/dist/cache/CryptoKeyStore.js +26 -36
- package/dist/cache/CryptoKeyStore.js.map +1 -1
- package/dist/cache/DatabaseStorage.d.ts.map +1 -1
- package/dist/cache/DatabaseStorage.js +127 -191
- package/dist/cache/DatabaseStorage.js.map +1 -1
- package/dist/cache/ITokenCache.d.ts.map +1 -1
- package/dist/cache/MemoryStorage.d.ts.map +1 -1
- package/dist/cache/MemoryStorage.js +18 -19
- package/dist/cache/MemoryStorage.js.map +1 -1
- package/dist/cache/TokenCache.d.ts +1 -1
- package/dist/cache/TokenCache.d.ts.map +1 -1
- package/dist/cache/TokenCache.js +55 -49
- package/dist/cache/TokenCache.js.map +1 -1
- package/dist/config/Configuration.d.ts +8 -8
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.js +53 -31
- package/dist/config/Configuration.js.map +1 -1
- package/dist/controllers/ControllerFactory.d.ts +10 -0
- package/dist/controllers/ControllerFactory.d.ts.map +1 -0
- package/dist/controllers/ControllerFactory.js +47 -0
- package/dist/controllers/ControllerFactory.js.map +1 -0
- package/dist/controllers/IController.d.ts +67 -0
- package/dist/controllers/IController.d.ts.map +1 -0
- package/dist/{app/ClientApplication.d.ts → controllers/StandardController.d.ts} +96 -15
- package/dist/controllers/StandardController.d.ts.map +1 -0
- package/dist/controllers/StandardController.js +1299 -0
- package/dist/controllers/StandardController.js.map +1 -0
- package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/BrowserCrypto.js +36 -60
- package/dist/crypto/BrowserCrypto.js.map +1 -1
- package/dist/crypto/CryptoOps.d.ts +1 -1
- package/dist/crypto/CryptoOps.d.ts.map +1 -1
- package/dist/crypto/CryptoOps.js +93 -151
- package/dist/crypto/CryptoOps.js.map +1 -1
- package/dist/crypto/GuidGenerator.d.ts.map +1 -1
- package/dist/crypto/GuidGenerator.js +36 -25
- package/dist/crypto/GuidGenerator.js.map +1 -1
- package/dist/crypto/ISubtleCrypto.d.ts.map +1 -1
- package/dist/crypto/ModernBrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/ModernBrowserCrypto.js +20 -44
- package/dist/crypto/ModernBrowserCrypto.js.map +1 -1
- package/dist/crypto/MsBrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/MsBrowserCrypto.js +65 -89
- package/dist/crypto/MsBrowserCrypto.js.map +1 -1
- package/dist/crypto/MsrBrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/MsrBrowserCrypto.js +23 -47
- package/dist/crypto/MsrBrowserCrypto.js.map +1 -1
- package/dist/crypto/PkceGenerator.d.ts.map +1 -1
- package/dist/crypto/PkceGenerator.js +28 -49
- package/dist/crypto/PkceGenerator.js.map +1 -1
- package/dist/crypto/SignedHttpRequest.d.ts +1 -1
- package/dist/crypto/SignedHttpRequest.d.ts.map +1 -1
- package/dist/crypto/SignedHttpRequest.js +15 -37
- package/dist/crypto/SignedHttpRequest.js.map +1 -1
- package/dist/encode/Base64Decode.d.ts.map +1 -1
- package/dist/encode/Base64Decode.js +32 -33
- package/dist/encode/Base64Decode.js.map +1 -1
- package/dist/encode/Base64Encode.d.ts.map +1 -1
- package/dist/encode/Base64Encode.js +34 -35
- package/dist/encode/Base64Encode.js.map +1 -1
- package/dist/error/BrowserAuthError.d.ts +1 -1
- package/dist/error/BrowserAuthError.d.ts.map +1 -1
- package/dist/error/BrowserAuthError.js +161 -163
- package/dist/error/BrowserAuthError.js.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.d.ts.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.js +32 -36
- package/dist/error/BrowserConfigurationAuthError.js.map +1 -1
- package/dist/error/NativeAuthError.d.ts +1 -1
- package/dist/error/NativeAuthError.d.ts.map +1 -1
- package/dist/error/NativeAuthError.js +26 -27
- package/dist/error/NativeAuthError.js.map +1 -1
- package/dist/event/EventHandler.d.ts.map +1 -1
- package/dist/event/EventHandler.js +33 -33
- package/dist/event/EventHandler.js.map +1 -1
- package/dist/event/EventMessage.d.ts +5 -5
- package/dist/event/EventMessage.d.ts.map +1 -1
- package/dist/event/EventMessage.js +18 -14
- package/dist/event/EventMessage.js.map +1 -1
- package/dist/event/EventType.js +1 -1
- package/dist/event/EventType.js.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.js +92 -123
- package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +6 -10
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/NativeInteractionClient.js +336 -393
- package/dist/interaction_client/NativeInteractionClient.js.map +1 -1
- package/dist/interaction_client/PopupClient.d.ts +1 -1
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.js +224 -246
- package/dist/interaction_client/PopupClient.js.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.js +244 -292
- package/dist/interaction_client/RedirectClient.js.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.js +50 -63
- package/dist/interaction_client/SilentAuthCodeClient.js.map +1 -1
- package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentCacheClient.js +50 -81
- package/dist/interaction_client/SilentCacheClient.js.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.js +107 -125
- package/dist/interaction_client/SilentIframeClient.js.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.js +44 -72
- package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.js +144 -180
- package/dist/interaction_client/StandardInteractionClient.js.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/dist/interaction_handler/InteractionHandler.js +84 -110
- package/dist/interaction_handler/InteractionHandler.js.map +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
- package/dist/interaction_handler/RedirectHandler.js +105 -122
- package/dist/interaction_handler/RedirectHandler.js.map +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/interaction_handler/SilentHandler.js +76 -65
- package/dist/interaction_handler/SilentHandler.js.map +1 -1
- package/dist/internals.js +1 -1
- package/dist/internals.js.map +1 -1
- package/dist/navigation/NavigationClient.d.ts.map +1 -1
- package/dist/navigation/NavigationClient.js +11 -14
- package/dist/navigation/NavigationClient.js.map +1 -1
- package/dist/navigation/NavigationOptions.d.ts +1 -1
- package/dist/navigation/NavigationOptions.d.ts.map +1 -1
- package/dist/network/FetchClient.d.ts.map +1 -1
- package/dist/network/FetchClient.js +66 -96
- package/dist/network/FetchClient.js.map +1 -1
- package/dist/network/XhrClient.d.ts.map +1 -1
- package/dist/network/XhrClient.js +38 -51
- package/dist/network/XhrClient.js.map +1 -1
- package/dist/operatingcontext/BaseOperatingContext.d.ts +41 -0
- package/dist/operatingcontext/BaseOperatingContext.d.ts.map +1 -0
- package/dist/operatingcontext/BaseOperatingContext.js +53 -0
- package/dist/operatingcontext/BaseOperatingContext.js.map +1 -0
- package/dist/operatingcontext/StandardOperatingContext.d.ts +26 -0
- package/dist/operatingcontext/StandardOperatingContext.d.ts.map +1 -0
- package/dist/operatingcontext/StandardOperatingContext.js +50 -0
- package/dist/operatingcontext/StandardOperatingContext.js.map +1 -0
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +26 -0
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts.map +1 -0
- package/dist/operatingcontext/TeamsAppOperatingContext.js +49 -0
- package/dist/operatingcontext/TeamsAppOperatingContext.js.map +1 -0
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.d.ts.map +1 -1
- package/dist/packageMetadata.js +3 -3
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/AuthorizationCodeRequest.d.ts +1 -1
- package/dist/request/AuthorizationCodeRequest.d.ts.map +1 -1
- package/dist/request/AuthorizationUrlRequest.d.ts +1 -1
- package/dist/request/AuthorizationUrlRequest.d.ts.map +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts.map +1 -1
- package/dist/request/EndSessionRequest.d.ts +1 -1
- package/dist/request/EndSessionRequest.d.ts.map +1 -1
- package/dist/request/PopupRequest.d.ts +1 -1
- package/dist/request/PopupRequest.d.ts.map +1 -1
- package/dist/request/PopupWindowAttributes.d.ts +3 -3
- package/dist/request/PopupWindowAttributes.d.ts.map +1 -1
- package/dist/request/RedirectRequest.d.ts +1 -1
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/SilentRequest.d.ts +1 -1
- package/dist/request/SilentRequest.d.ts.map +1 -1
- package/dist/request/SsoSilentRequest.d.ts +1 -1
- package/dist/request/SsoSilentRequest.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.js +62 -57
- package/dist/telemetry/BrowserPerformanceClient.js.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.js +30 -31
- package/dist/telemetry/BrowserPerformanceMeasurement.js.map +1 -1
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.js +10 -10
- package/dist/utils/BrowserConstants.js.map +1 -1
- package/dist/utils/BrowserProtocolUtils.d.ts +1 -1
- package/dist/utils/BrowserProtocolUtils.d.ts.map +1 -1
- package/dist/utils/BrowserProtocolUtils.js +9 -12
- package/dist/utils/BrowserProtocolUtils.js.map +1 -1
- package/dist/utils/BrowserStringUtils.d.ts.map +1 -1
- package/dist/utils/BrowserStringUtils.js +83 -49
- package/dist/utils/BrowserStringUtils.js.map +1 -1
- package/dist/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/utils/BrowserUtils.js +51 -49
- package/dist/utils/BrowserUtils.js.map +1 -1
- package/dist/utils/MathUtils.d.ts.map +1 -1
- package/dist/utils/MathUtils.js +6 -9
- package/dist/utils/MathUtils.js.map +1 -1
- package/node_modules/@azure/msal-common/LICENSE +21 -0
- package/node_modules/@azure/msal-common/README.md +62 -0
- package/node_modules/@azure/msal-common/dist/account/AccountInfo.d.ts +32 -0
- package/node_modules/@azure/msal-common/dist/account/AccountInfo.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/AuthToken.d.ts +21 -0
- package/node_modules/@azure/msal-common/dist/account/AuthToken.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/AuthToken.js +56 -0
- package/node_modules/@azure/msal-common/dist/account/AuthToken.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/CcsCredential.d.ts +9 -0
- package/node_modules/@azure/msal-common/dist/account/CcsCredential.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/CcsCredential.js +14 -0
- package/node_modules/@azure/msal-common/dist/account/CcsCredential.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/ClientCredentials.d.ts +15 -0
- package/node_modules/@azure/msal-common/dist/account/ClientCredentials.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/ClientInfo.d.ts +20 -0
- package/node_modules/@azure/msal-common/dist/account/ClientInfo.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/ClientInfo.js +46 -0
- package/node_modules/@azure/msal-common/dist/account/ClientInfo.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/DecodedAuthToken.d.ts +9 -0
- package/node_modules/@azure/msal-common/dist/account/DecodedAuthToken.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/account/TokenClaims.d.ts +66 -0
- package/node_modules/@azure/msal-common/dist/account/TokenClaims.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/Authority.d.ts +216 -0
- package/node_modules/@azure/msal-common/dist/authority/Authority.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/Authority.js +688 -0
- package/node_modules/@azure/msal-common/dist/authority/Authority.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityFactory.d.ts +31 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityFactory.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityFactory.js +58 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityFactory.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.d.ts +623 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.js +881 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityMetadata.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityOptions.d.ts +19 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityOptions.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityOptions.js +24 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityOptions.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityType.d.ts +10 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityType.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityType.js +19 -0
- package/node_modules/@azure/msal-common/dist/authority/AuthorityType.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AzureRegion.d.ts +2 -0
- package/node_modules/@azure/msal-common/dist/authority/AzureRegion.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/AzureRegionConfiguration.d.ts +6 -0
- package/node_modules/@azure/msal-common/dist/authority/AzureRegionConfiguration.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudDiscoveryMetadata.d.ts +6 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudDiscoveryMetadata.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +14 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.js +13 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryErrorResponse.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.d.ts +10 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.js +13 -0
- package/node_modules/@azure/msal-common/dist/authority/CloudInstanceDiscoveryResponse.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/ImdsOptions.d.ts +6 -0
- package/node_modules/@azure/msal-common/dist/authority/ImdsOptions.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.d.ts +12 -0
- package/node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.js +15 -0
- package/node_modules/@azure/msal-common/dist/authority/OpenIdConfigResponse.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/ProtocolMode.d.ts +8 -0
- package/node_modules/@azure/msal-common/dist/authority/ProtocolMode.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/ProtocolMode.js +17 -0
- package/node_modules/@azure/msal-common/dist/authority/ProtocolMode.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/RegionDiscovery.d.ts +31 -0
- package/node_modules/@azure/msal-common/dist/authority/RegionDiscovery.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/RegionDiscovery.js +116 -0
- package/node_modules/@azure/msal-common/dist/authority/RegionDiscovery.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/authority/RegionDiscoveryMetadata.d.ts +7 -0
- package/node_modules/@azure/msal-common/dist/authority/RegionDiscoveryMetadata.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +16 -0
- package/node_modules/@azure/msal-common/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/CacheManager.d.ts +444 -0
- package/node_modules/@azure/msal-common/dist/cache/CacheManager.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/CacheManager.js +1024 -0
- package/node_modules/@azure/msal-common/dist/cache/CacheManager.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccessTokenEntity.d.ts +57 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccessTokenEntity.js +123 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccessTokenEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccountEntity.d.ts +100 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccountEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccountEntity.js +259 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AccountEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AppMetadataEntity.d.ts +40 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AppMetadataEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AppMetadataEntity.js +73 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AppMetadataEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AuthorityMetadataEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AuthorityMetadataEntity.js +85 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/AuthorityMetadataEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CacheRecord.d.ts +14 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CacheRecord.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CacheRecord.js +18 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CacheRecord.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CredentialEntity.d.ts +89 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CredentialEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CredentialEntity.js +144 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/CredentialEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/IdTokenEntity.d.ts +35 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/IdTokenEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/IdTokenEntity.js +64 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/IdTokenEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/RefreshTokenEntity.d.ts +37 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/RefreshTokenEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/RefreshTokenEntity.js +67 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/RefreshTokenEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ServerTelemetryEntity.d.ts +13 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ServerTelemetryEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ServerTelemetryEntity.js +34 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ServerTelemetryEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ThrottlingEntity.d.ts +14 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ThrottlingEntity.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ThrottlingEntity.js +30 -0
- package/node_modules/@azure/msal-common/dist/cache/entities/ThrottlingEntity.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/interface/ICacheManager.d.ts +166 -0
- package/node_modules/@azure/msal-common/dist/cache/interface/ICacheManager.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/interface/ICachePlugin.d.ts +6 -0
- package/node_modules/@azure/msal-common/dist/cache/interface/ICachePlugin.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/interface/ISerializableTokenCache.d.ts +5 -0
- package/node_modules/@azure/msal-common/dist/cache/interface/ISerializableTokenCache.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.d.ts +24 -0
- package/node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.js +30 -0
- package/node_modules/@azure/msal-common/dist/cache/persistence/TokenCacheContext.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/cache/utils/CacheTypes.d.ts +63 -0
- package/node_modules/@azure/msal-common/dist/cache/utils/CacheTypes.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.d.ts +72 -0
- package/node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.js +453 -0
- package/node_modules/@azure/msal-common/dist/client/AuthorizationCodeClient.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/BaseClient.d.ts +51 -0
- package/node_modules/@azure/msal-common/dist/client/BaseClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/BaseClient.js +107 -0
- package/node_modules/@azure/msal-common/dist/client/BaseClient.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/RefreshTokenClient.d.ts +35 -0
- package/node_modules/@azure/msal-common/dist/client/RefreshTokenClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/RefreshTokenClient.js +260 -0
- package/node_modules/@azure/msal-common/dist/client/RefreshTokenClient.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/SilentFlowClient.d.ts +25 -0
- package/node_modules/@azure/msal-common/dist/client/SilentFlowClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/client/SilentFlowClient.js +108 -0
- package/node_modules/@azure/msal-common/dist/client/SilentFlowClient.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/config/AppTokenProvider.d.ts +39 -0
- package/node_modules/@azure/msal-common/dist/config/AppTokenProvider.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/config/ClientConfiguration.d.ts +134 -0
- package/node_modules/@azure/msal-common/dist/config/ClientConfiguration.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/config/ClientConfiguration.js +101 -0
- package/node_modules/@azure/msal-common/dist/config/ClientConfiguration.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/ICrypto.d.ts +63 -0
- package/node_modules/@azure/msal-common/dist/crypto/ICrypto.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/ICrypto.js +49 -0
- package/node_modules/@azure/msal-common/dist/crypto/ICrypto.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/IGuidGenerator.d.ts +5 -0
- package/node_modules/@azure/msal-common/dist/crypto/IGuidGenerator.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/JoseHeader.d.ts +22 -0
- package/node_modules/@azure/msal-common/dist/crypto/JoseHeader.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/JoseHeader.js +44 -0
- package/node_modules/@azure/msal-common/dist/crypto/JoseHeader.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.d.ts +58 -0
- package/node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.js +92 -0
- package/node_modules/@azure/msal-common/dist/crypto/PopTokenGenerator.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/crypto/SignedHttpRequest.d.ts +12 -0
- package/node_modules/@azure/msal-common/dist/crypto/SignedHttpRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/AuthError.d.ts +48 -0
- package/node_modules/@azure/msal-common/dist/error/AuthError.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/AuthError.js +58 -0
- package/node_modules/@azure/msal-common/dist/error/AuthError.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/ClientAuthError.d.ts +413 -0
- package/node_modules/@azure/msal-common/dist/error/ClientAuthError.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/ClientAuthError.js +526 -0
- package/node_modules/@azure/msal-common/dist/error/ClientAuthError.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/ClientConfigurationError.d.ts +199 -0
- package/node_modules/@azure/msal-common/dist/error/ClientConfigurationError.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/ClientConfigurationError.js +256 -0
- package/node_modules/@azure/msal-common/dist/error/ClientConfigurationError.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.d.ts +60 -0
- package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.js +86 -0
- package/node_modules/@azure/msal-common/dist/error/InteractionRequiredAuthError.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/JoseHeaderError.d.ts +29 -0
- package/node_modules/@azure/msal-common/dist/error/JoseHeaderError.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/JoseHeaderError.js +46 -0
- package/node_modules/@azure/msal-common/dist/error/JoseHeaderError.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/ServerError.d.ts +8 -0
- package/node_modules/@azure/msal-common/dist/error/ServerError.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/error/ServerError.js +21 -0
- package/node_modules/@azure/msal-common/dist/error/ServerError.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/index.cjs.js +8975 -0
- package/node_modules/@azure/msal-common/dist/index.cjs.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/index.d.ts +94 -0
- package/node_modules/@azure/msal-common/dist/index.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/index.js +54 -0
- package/node_modules/@azure/msal-common/dist/index.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/logger/Logger.d.ts +96 -0
- package/node_modules/@azure/msal-common/dist/logger/Logger.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/logger/Logger.js +205 -0
- package/node_modules/@azure/msal-common/dist/logger/Logger.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/INetworkModule.d.ts +30 -0
- package/node_modules/@azure/msal-common/dist/network/INetworkModule.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/INetworkModule.js +21 -0
- package/node_modules/@azure/msal-common/dist/network/INetworkModule.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/NetworkManager.d.ts +33 -0
- package/node_modules/@azure/msal-common/dist/network/NetworkManager.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/NetworkManager.js +42 -0
- package/node_modules/@azure/msal-common/dist/network/NetworkManager.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/RequestThumbprint.d.ts +17 -0
- package/node_modules/@azure/msal-common/dist/network/RequestThumbprint.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/ThrottlingUtils.d.ts +42 -0
- package/node_modules/@azure/msal-common/dist/network/ThrottlingUtils.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/network/ThrottlingUtils.js +102 -0
- package/node_modules/@azure/msal-common/dist/network/ThrottlingUtils.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/packageMetadata.d.ts +3 -0
- package/node_modules/@azure/msal-common/dist/packageMetadata.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/packageMetadata.js +8 -0
- package/node_modules/@azure/msal-common/dist/packageMetadata.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/AuthenticationHeaderParser.d.ts +20 -0
- package/node_modules/@azure/msal-common/dist/request/AuthenticationHeaderParser.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/AuthenticationHeaderParser.js +63 -0
- package/node_modules/@azure/msal-common/dist/request/AuthenticationHeaderParser.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/BaseAuthRequest.d.ts +38 -0
- package/node_modules/@azure/msal-common/dist/request/BaseAuthRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonAuthorizationCodeRequest.d.ts +28 -0
- package/node_modules/@azure/msal-common/dist/request/CommonAuthorizationCodeRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonAuthorizationUrlRequest.d.ts +51 -0
- package/node_modules/@azure/msal-common/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonClientCredentialRequest.d.ts +18 -0
- package/node_modules/@azure/msal-common/dist/request/CommonClientCredentialRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonDeviceCodeRequest.d.ts +22 -0
- package/node_modules/@azure/msal-common/dist/request/CommonDeviceCodeRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonEndSessionRequest.d.ts +22 -0
- package/node_modules/@azure/msal-common/dist/request/CommonEndSessionRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonOnBehalfOfRequest.d.ts +14 -0
- package/node_modules/@azure/msal-common/dist/request/CommonOnBehalfOfRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonRefreshTokenRequest.d.ts +20 -0
- package/node_modules/@azure/msal-common/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonSilentFlowRequest.d.ts +19 -0
- package/node_modules/@azure/msal-common/dist/request/CommonSilentFlowRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/CommonUsernamePasswordRequest.d.ts +18 -0
- package/node_modules/@azure/msal-common/dist/request/CommonUsernamePasswordRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/NativeRequest.d.ts +20 -0
- package/node_modules/@azure/msal-common/dist/request/NativeRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/NativeSignOutRequest.d.ts +6 -0
- package/node_modules/@azure/msal-common/dist/request/NativeSignOutRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.d.ts +217 -0
- package/node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.js +385 -0
- package/node_modules/@azure/msal-common/dist/request/RequestParameterBuilder.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/RequestValidator.d.ts +34 -0
- package/node_modules/@azure/msal-common/dist/request/RequestValidator.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/RequestValidator.js +92 -0
- package/node_modules/@azure/msal-common/dist/request/RequestValidator.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/ScopeSet.d.ts +89 -0
- package/node_modules/@azure/msal-common/dist/request/ScopeSet.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/request/ScopeSet.js +207 -0
- package/node_modules/@azure/msal-common/dist/request/ScopeSet.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/AuthenticationResult.d.ts +40 -0
- package/node_modules/@azure/msal-common/dist/response/AuthenticationResult.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/AuthorizationCodePayload.d.ts +14 -0
- package/node_modules/@azure/msal-common/dist/response/AuthorizationCodePayload.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/DeviceCodeResponse.d.ts +26 -0
- package/node_modules/@azure/msal-common/dist/response/DeviceCodeResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/ExternalTokenResponse.d.ts +16 -0
- package/node_modules/@azure/msal-common/dist/response/ExternalTokenResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/IMDSBadResponse.d.ts +5 -0
- package/node_modules/@azure/msal-common/dist/response/IMDSBadResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/ResponseHandler.d.ts +73 -0
- package/node_modules/@azure/msal-common/dist/response/ResponseHandler.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/ResponseHandler.js +325 -0
- package/node_modules/@azure/msal-common/dist/response/ResponseHandler.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/ServerAuthorizationCodeResponse.d.ts +26 -0
- package/node_modules/@azure/msal-common/dist/response/ServerAuthorizationCodeResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/response/ServerAuthorizationTokenResponse.d.ts +45 -0
- package/node_modules/@azure/msal-common/dist/response/ServerAuthorizationTokenResponse.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/IPerformanceClient.d.ts +43 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/IPerformanceMeasurement.d.ts +6 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/IPerformanceMeasurement.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceClient.d.ts +190 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceClient.js +413 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceClient.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.d.ts +440 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.js +232 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/PerformanceEvent.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.d.ts +20 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.js +43 -0
- package/node_modules/@azure/msal-common/dist/telemetry/performance/StubPerformanceClient.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -0
- package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.js +206 -0
- package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryManager.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryRequest.d.ts +9 -0
- package/node_modules/@azure/msal-common/dist/telemetry/server/ServerTelemetryRequest.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/url/IUri.d.ts +13 -0
- package/node_modules/@azure/msal-common/dist/url/IUri.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/url/UrlString.d.ts +71 -0
- package/node_modules/@azure/msal-common/dist/url/UrlString.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/url/UrlString.js +252 -0
- package/node_modules/@azure/msal-common/dist/url/UrlString.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/Constants.d.ts +332 -0
- package/node_modules/@azure/msal-common/dist/utils/Constants.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/Constants.js +378 -0
- package/node_modules/@azure/msal-common/dist/utils/Constants.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/MsalTypes.d.ts +7 -0
- package/node_modules/@azure/msal-common/dist/utils/MsalTypes.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/ProtocolUtils.d.ts +43 -0
- package/node_modules/@azure/msal-common/dist/utils/ProtocolUtils.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/ProtocolUtils.js +80 -0
- package/node_modules/@azure/msal-common/dist/utils/ProtocolUtils.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/StringUtils.d.ts +54 -0
- package/node_modules/@azure/msal-common/dist/utils/StringUtils.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/StringUtils.js +131 -0
- package/node_modules/@azure/msal-common/dist/utils/StringUtils.js.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/TimeUtils.d.ts +28 -0
- package/node_modules/@azure/msal-common/dist/utils/TimeUtils.d.ts.map +1 -0
- package/node_modules/@azure/msal-common/dist/utils/TimeUtils.js +50 -0
- package/node_modules/@azure/msal-common/dist/utils/TimeUtils.js.map +1 -0
- package/node_modules/@azure/msal-common/package.json +79 -0
- package/package.json +99 -95
- package/dist/_virtual/_tslib.js +0 -117
- package/dist/_virtual/_tslib.js.map +0 -1
- package/dist/app/ClientApplication.d.ts.map +0 -1
- package/dist/app/ClientApplication.js +0 -1053
- package/dist/app/ClientApplication.js.map +0 -1
- package/dist/index.cjs.js +0 -18045
- package/dist/index.cjs.js.map +0 -1
- package/lib/msal-browser.js +0 -18051
- package/lib/msal-browser.js.map +0 -1
- package/lib/msal-browser.min.js +0 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserCacheManager.js","sources":["../../src/cache/BrowserCacheManager.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { Constants, PersistentCacheKeys, StringUtils, CommonAuthorizationCodeRequest, ICrypto, AccountEntity, IdTokenEntity, AccessTokenEntity, RefreshTokenEntity, AppMetadataEntity, CacheManager, ServerTelemetryEntity, ThrottlingEntity, ProtocolUtils, Logger, AuthorityMetadataEntity, DEFAULT_CRYPTO_IMPLEMENTATION, AccountInfo, ActiveAccountFilters, CcsCredential, CcsCredentialType, IdToken, ValidCredentialType, ClientAuthError, TokenKeys, CredentialType } from \"@azure/msal-common\";\nimport { CacheOptions } from \"../config/Configuration\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { BrowserCacheLocation, InteractionType, TemporaryCacheKeys, InMemoryCacheKeys, StaticCacheKeys } from \"../utils/BrowserConstants\";\nimport { BrowserStorage } from \"./BrowserStorage\";\nimport { MemoryStorage } from \"./MemoryStorage\";\nimport { IWindowStorage } from \"./IWindowStorage\";\nimport { BrowserProtocolUtils } from \"../utils/BrowserProtocolUtils\";\nimport { NativeTokenRequest } from \"../broker/nativeBroker/NativeRequest\";\n\n/**\n * This class implements the cache storage interface for MSAL through browser local or session storage.\n * Cookies are only used if storeAuthStateInCookie is true, and are only used for\n * parameters such as state and nonce, generally.\n */\nexport class BrowserCacheManager extends CacheManager {\n\n // Cache configuration, either set by user or default values.\n protected cacheConfig: Required<CacheOptions>;\n // Window storage object (either local or sessionStorage)\n protected browserStorage: IWindowStorage<string>;\n // Internal in-memory storage object used for data used by msal that does not need to persist across page loads\n protected internalStorage: MemoryStorage<string>;\n // Temporary cache\n protected temporaryCacheStorage: IWindowStorage<string>;\n // Logger instance\n protected logger: Logger;\n\n // Cookie life calculation (hours * minutes * seconds * ms)\n protected readonly COOKIE_LIFE_MULTIPLIER = 24 * 60 * 60 * 1000;\n\n constructor(clientId: string, cacheConfig: Required<CacheOptions>, cryptoImpl: ICrypto, logger: Logger) {\n super(clientId, cryptoImpl, logger);\n this.cacheConfig = cacheConfig;\n this.logger = logger;\n this.internalStorage = new MemoryStorage();\n this.browserStorage = this.setupBrowserStorage(this.cacheConfig.cacheLocation);\n this.temporaryCacheStorage = this.setupTemporaryCacheStorage(this.cacheConfig.temporaryCacheLocation, this.cacheConfig.cacheLocation);\n\n // Migrate cache entries from older versions of MSAL.\n if (cacheConfig.cacheMigrationEnabled) {\n this.migrateCacheEntries();\n this.createKeyMaps();\n }\n }\n\n /**\n * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured cacheLocation.\n * @param cacheLocation\n */\n protected setupBrowserStorage(cacheLocation: BrowserCacheLocation | string): IWindowStorage<string> {\n switch (cacheLocation) {\n case BrowserCacheLocation.LocalStorage:\n case BrowserCacheLocation.SessionStorage:\n try {\n return new BrowserStorage(cacheLocation);\n } catch (e) {\n this.logger.verbose(e);\n break;\n }\n case BrowserCacheLocation.MemoryStorage:\n default:\n break;\n }\n this.cacheConfig.cacheLocation = BrowserCacheLocation.MemoryStorage;\n return new MemoryStorage();\n }\n\n /**\n * Returns a window storage class implementing the IWindowStorage interface that corresponds to the configured temporaryCacheLocation.\n * @param temporaryCacheLocation\n * @param cacheLocation\n */\n protected setupTemporaryCacheStorage(temporaryCacheLocation: BrowserCacheLocation | string, cacheLocation: BrowserCacheLocation | string): IWindowStorage<string> {\n switch (cacheLocation) {\n case BrowserCacheLocation.LocalStorage:\n case BrowserCacheLocation.SessionStorage:\n try {\n /*\n * When users do not explicitly choose their own temporaryCacheLocation, \n * temporary cache items will always be stored in session storage to mitigate problems caused by multiple tabs\n */\n return new BrowserStorage(temporaryCacheLocation || BrowserCacheLocation.SessionStorage);\n } catch (e) {\n this.logger.verbose(e);\n return this.internalStorage;\n }\n case BrowserCacheLocation.MemoryStorage:\n default:\n return this.internalStorage;\n }\n }\n\n /**\n * Migrate all old cache entries to new schema. No rollback supported.\n * @param storeAuthStateInCookie\n */\n protected migrateCacheEntries(): void {\n const idTokenKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ID_TOKEN}`;\n const clientInfoKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.CLIENT_INFO}`;\n const errorKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ERROR}`;\n const errorDescKey = `${Constants.CACHE_PREFIX}.${PersistentCacheKeys.ERROR_DESC}`;\n\n const idTokenValue = this.browserStorage.getItem(idTokenKey);\n const clientInfoValue = this.browserStorage.getItem(clientInfoKey);\n const errorValue = this.browserStorage.getItem(errorKey);\n const errorDescValue = this.browserStorage.getItem(errorDescKey);\n\n const values = [idTokenValue, clientInfoValue, errorValue, errorDescValue];\n const keysToMigrate = [PersistentCacheKeys.ID_TOKEN, PersistentCacheKeys.CLIENT_INFO, PersistentCacheKeys.ERROR, PersistentCacheKeys.ERROR_DESC];\n\n keysToMigrate.forEach((cacheKey: string, index: number) => this.migrateCacheEntry(cacheKey, values[index]));\n }\n\n /**\n * Utility function to help with migration.\n * @param newKey\n * @param value\n * @param storeAuthStateInCookie\n */\n protected migrateCacheEntry(newKey: string, value: string | null): void {\n if (value) {\n this.setTemporaryCache(newKey, value, true);\n }\n }\n\n /**\n * Searches all cache entries for MSAL accounts and creates the account key map\n * This is used to migrate users from older versions of MSAL which did not create the map.\n * @returns \n */\n private createKeyMaps(): void {\n this.logger.trace(\"BrowserCacheManager - createKeyMaps called.\");\n const accountKeys = this.getItem(StaticCacheKeys.ACCOUNT_KEYS);\n const tokenKeys = this.getItem(`${StaticCacheKeys.TOKEN_KEYS}.${this.clientId}`);\n if (accountKeys && tokenKeys) {\n this.logger.verbose(\"BrowserCacheManager:createKeyMaps - account and token key maps already exist, skipping migration.\");\n // Key maps already exist, no need to iterate through cache\n return;\n }\n\n const allKeys = this.browserStorage.getKeys();\n allKeys.forEach((key) => {\n if (this.isCredentialKey(key)) {\n // Get item, parse, validate and write key to map\n const value = this.getItem(key);\n if (value) {\n const credObj = this.validateAndParseJson(value);\n if (credObj && credObj.hasOwnProperty(\"credentialType\")) {\n switch (credObj[\"credentialType\"]) {\n case CredentialType.ID_TOKEN:\n if (IdTokenEntity.isIdTokenEntity(credObj)) {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - idToken found, saving key to token key map\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - idToken with key: ${key} found, saving key to token key map`);\n const idTokenEntity = CacheManager.toObject(new IdTokenEntity(), credObj);\n const newKey = this.updateCredentialCacheKey(key, idTokenEntity);\n this.addTokenKey(newKey, CredentialType.ID_TOKEN);\n return;\n } else {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - key found matching idToken schema with value containing idToken credentialType field but value failed IdTokenEntity validation, skipping.\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed idToken validation on key: ${key}`);\n }\n break;\n case CredentialType.ACCESS_TOKEN:\n case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:\n if (AccessTokenEntity.isAccessTokenEntity(credObj)) {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - accessToken found, saving key to token key map\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - accessToken with key: ${key} found, saving key to token key map`);\n const accessTokenEntity = CacheManager.toObject(new AccessTokenEntity(), credObj);\n const newKey = this.updateCredentialCacheKey(key, accessTokenEntity);\n this.addTokenKey(newKey, CredentialType.ACCESS_TOKEN);\n return;\n } else {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - key found matching accessToken schema with value containing accessToken credentialType field but value failed AccessTokenEntity validation, skipping.\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed accessToken validation on key: ${key}`);\n }\n break;\n case CredentialType.REFRESH_TOKEN:\n if (RefreshTokenEntity.isRefreshTokenEntity(credObj)) {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - refreshToken found, saving key to token key map\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - refreshToken with key: ${key} found, saving key to token key map`);\n const refreshTokenEntity = CacheManager.toObject(new RefreshTokenEntity(), credObj);\n const newKey = this.updateCredentialCacheKey(key, refreshTokenEntity);\n this.addTokenKey(newKey, CredentialType.REFRESH_TOKEN);\n return;\n } else {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - key found matching refreshToken schema with value containing refreshToken credentialType field but value failed RefreshTokenEntity validation, skipping.\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - failed refreshToken validation on key: ${key}`);\n }\n break;\n default:\n // If credentialType isn't one of our predefined ones, it may not be an MSAL cache value. Ignore.\n }\n }\n }\n } \n \n if (this.isAccountKey(key)) {\n const value = this.getItem(key);\n if (value) {\n const accountObj = this.validateAndParseJson(value);\n if (accountObj && AccountEntity.isAccountEntity(accountObj)) {\n this.logger.trace(\"BrowserCacheManager:createKeyMaps - account found, saving key to account key map\");\n this.logger.tracePii(`BrowserCacheManager:createKeyMaps - account with key: ${key} found, saving key to account key map`);\n this.addAccountKeyToMap(key);\n }\n }\n }\n });\n }\n\n /**\n * Parses passed value as JSON object, JSON.parse() will throw an error.\n * @param input\n */\n protected validateAndParseJson(jsonValue: string): object | null {\n try {\n const parsedJson = JSON.parse(jsonValue);\n /**\n * There are edge cases in which JSON.parse will successfully parse a non-valid JSON object\n * (e.g. JSON.parse will parse an escaped string into an unescaped string), so adding a type check\n * of the parsed value is necessary in order to be certain that the string represents a valid JSON object.\n *\n */\n return (parsedJson && typeof parsedJson === \"object\") ? parsedJson : null;\n } catch (error) {\n return null;\n }\n }\n\n /**\n * fetches the entry from the browser storage based off the key\n * @param key\n */\n getItem(key: string): string | null {\n return this.browserStorage.getItem(key);\n }\n\n /**\n * sets the entry in the browser storage\n * @param key\n * @param value\n */\n setItem(key: string, value: string): void {\n this.browserStorage.setItem(key, value);\n }\n\n /**\n * fetch the account entity from the platform cache\n * @param accountKey\n */\n getAccount(accountKey: string): AccountEntity | null {\n this.logger.trace(\"BrowserCacheManager.getAccount called\");\n const account = this.getItem(accountKey);\n if (!account) {\n this.removeAccountKeyFromMap(accountKey);\n return null;\n }\n\n const parsedAccount = this.validateAndParseJson(account);\n if (!parsedAccount || !AccountEntity.isAccountEntity(parsedAccount)) {\n this.removeAccountKeyFromMap(accountKey);\n return null;\n }\n\n return CacheManager.toObject<AccountEntity>(new AccountEntity(), parsedAccount);\n }\n\n /**\n * set account entity in the platform cache\n * @param key\n * @param value\n */\n setAccount(account: AccountEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAccount called\");\n const key = account.generateAccountKey();\n this.setItem(key, JSON.stringify(account));\n this.addAccountKeyToMap(key);\n }\n\n /**\n * Returns the array of account keys currently cached\n * @returns \n */\n getAccountKeys(): Array<string> {\n this.logger.trace(\"BrowserCacheManager.getAccountKeys called\");\n const accountKeys = this.getItem(StaticCacheKeys.ACCOUNT_KEYS);\n if (accountKeys) {\n return JSON.parse(accountKeys);\n }\n\n this.logger.verbose(\"BrowserCacheManager.getAccountKeys - No account keys found\");\n return [];\n }\n\n /**\n * Add a new account to the key map\n * @param key \n */\n addAccountKeyToMap(key: string): void {\n this.logger.trace(\"BrowserCacheManager.addAccountKeyToMap called\");\n this.logger.tracePii(`BrowserCacheManager.addAccountKeyToMap called with key: ${key}`);\n const accountKeys = this.getAccountKeys();\n if (accountKeys.indexOf(key) === -1) {\n // Only add key if it does not already exist in the map\n accountKeys.push(key);\n this.setItem(StaticCacheKeys.ACCOUNT_KEYS, JSON.stringify(accountKeys));\n this.logger.verbose(\"BrowserCacheManager.addAccountKeyToMap account key added\");\n } else {\n this.logger.verbose(\"BrowserCacheManager.addAccountKeyToMap account key already exists in map\");\n }\n }\n\n /**\n * Remove an account from the key map\n * @param key \n */\n removeAccountKeyFromMap(key: string): void {\n this.logger.trace(\"BrowserCacheManager.removeAccountKeyFromMap called\");\n this.logger.tracePii(`BrowserCacheManager.removeAccountKeyFromMap called with key: ${key}`);\n const accountKeys = this.getAccountKeys();\n const removalIndex = accountKeys.indexOf(key);\n if (removalIndex > -1) {\n accountKeys.splice(removalIndex, 1);\n this.setItem(StaticCacheKeys.ACCOUNT_KEYS, JSON.stringify(accountKeys));\n this.logger.trace(\"BrowserCacheManager.removeAccountKeyFromMap account key removed\");\n } else {\n this.logger.trace(\"BrowserCacheManager.removeAccountKeyFromMap key not found in existing map\");\n }\n }\n\n /**\n * Extends inherited removeAccount function to include removal of the account key from the map\n * @param key \n */\n async removeAccount(key: string): Promise<void> {\n super.removeAccount(key);\n this.removeAccountKeyFromMap(key);\n }\n\n /**\n * Removes given idToken from the cache and from the key map\n * @param key \n */\n removeIdToken(key: string): void {\n super.removeIdToken(key);\n this.removeTokenKey(key, CredentialType.ID_TOKEN);\n }\n\n /**\n * Removes given accessToken from the cache and from the key map\n * @param key \n */\n async removeAccessToken(key: string): Promise<void> {\n super.removeAccessToken(key);\n this.removeTokenKey(key, CredentialType.ACCESS_TOKEN);\n }\n\n /**\n * Removes given refreshToken from the cache and from the key map\n * @param key \n */\n removeRefreshToken(key: string): void {\n super.removeRefreshToken(key);\n this.removeTokenKey(key, CredentialType.REFRESH_TOKEN);\n }\n\n /**\n * Gets the keys for the cached tokens associated with this clientId\n * @returns \n */\n getTokenKeys(): TokenKeys {\n this.logger.trace(\"BrowserCacheManager.getTokenKeys called\");\n const item = this.getItem(`${StaticCacheKeys.TOKEN_KEYS}.${this.clientId}`);\n if (item) {\n const tokenKeys = this.validateAndParseJson(item);\n if (tokenKeys && \n tokenKeys.hasOwnProperty(\"idToken\") &&\n tokenKeys.hasOwnProperty(\"accessToken\") &&\n tokenKeys.hasOwnProperty(\"refreshToken\")\n ) {\n return tokenKeys as TokenKeys;\n } else {\n this.logger.error(\"BrowserCacheManager.getTokenKeys - Token keys found but in an unknown format. Returning empty key map.\");\n }\n } else {\n this.logger.verbose(\"BrowserCacheManager.getTokenKeys - No token keys found\");\n }\n\n return {\n idToken: [],\n accessToken: [],\n refreshToken: []\n };\n }\n\n /**\n * Adds the given key to the token key map\n * @param key \n * @param type \n */\n addTokenKey(key: string, type: CredentialType): void {\n this.logger.trace(\"BrowserCacheManager addTokenKey called\");\n const tokenKeys = this.getTokenKeys();\n\n switch (type) {\n case CredentialType.ID_TOKEN:\n if (tokenKeys.idToken.indexOf(key) === -1) {\n this.logger.info(\"BrowserCacheManager: addTokenKey - idToken added to map\");\n tokenKeys.idToken.push(key);\n }\n break;\n case CredentialType.ACCESS_TOKEN:\n if (tokenKeys.accessToken.indexOf(key) === -1) {\n this.logger.info(\"BrowserCacheManager: addTokenKey - accessToken added to map\");\n tokenKeys.accessToken.push(key);\n }\n break;\n case CredentialType.REFRESH_TOKEN:\n if (tokenKeys.refreshToken.indexOf(key) === -1) {\n this.logger.info(\"BrowserCacheManager: addTokenKey - refreshToken added to map\");\n tokenKeys.refreshToken.push(key);\n }\n break;\n default:\n this.logger.error(`BrowserCacheManager:addTokenKey - CredentialType provided invalid. CredentialType: ${type}`);\n ClientAuthError.createUnexpectedCredentialTypeError();\n }\n\n this.setItem(`${StaticCacheKeys.TOKEN_KEYS}.${this.clientId}`, JSON.stringify(tokenKeys));\n }\n\n /**\n * Removes the given key from the token key map\n * @param key \n * @param type \n */\n removeTokenKey(key: string, type: CredentialType): void {\n this.logger.trace(\"BrowserCacheManager removeTokenKey called\");\n const tokenKeys = this.getTokenKeys();\n\n switch (type) {\n case CredentialType.ID_TOKEN:\n this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove idToken with key: ${key} from map`);\n const idRemoval = tokenKeys.idToken.indexOf(key);\n if (idRemoval > -1) {\n this.logger.info(\"BrowserCacheManager: removeTokenKey - idToken removed from map\");\n tokenKeys.idToken.splice(idRemoval, 1);\n } else {\n this.logger.info(\"BrowserCacheManager: removeTokenKey - idToken does not exist in map. Either it was previously removed or it was never added.\");\n }\n break;\n case CredentialType.ACCESS_TOKEN:\n this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove accessToken with key: ${key} from map`);\n const accessRemoval = tokenKeys.accessToken.indexOf(key);\n if (accessRemoval > -1) {\n this.logger.info(\"BrowserCacheManager: removeTokenKey - accessToken removed from map\");\n tokenKeys.accessToken.splice(accessRemoval, 1);\n } else {\n this.logger.info(\"BrowserCacheManager: removeTokenKey - accessToken does not exist in map. Either it was previously removed or it was never added.\");\n }\n break;\n case CredentialType.REFRESH_TOKEN:\n this.logger.infoPii(`BrowserCacheManager: removeTokenKey - attempting to remove refreshToken with key: ${key} from map`);\n const refreshRemoval = tokenKeys.refreshToken.indexOf(key);\n if (refreshRemoval > -1) {\n this.logger.info(\"BrowserCacheManager: removeTokenKey - refreshToken removed from map\");\n tokenKeys.refreshToken.splice(refreshRemoval, 1);\n } else {\n this.logger.info(\"BrowserCacheManager: removeTokenKey - refreshToken does not exist in map. Either it was previously removed or it was never added.\");\n }\n break;\n default:\n this.logger.error(`BrowserCacheManager:removeTokenKey - CredentialType provided invalid. CredentialType: ${type}`);\n ClientAuthError.createUnexpectedCredentialTypeError();\n }\n\n this.setItem(`${StaticCacheKeys.TOKEN_KEYS}.${this.clientId}`, JSON.stringify(tokenKeys));\n }\n\n /**\n * generates idToken entity from a string\n * @param idTokenKey\n */\n getIdTokenCredential(idTokenKey: string): IdTokenEntity | null {\n const value = this.getItem(idTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\n this.removeTokenKey(idTokenKey, CredentialType.ID_TOKEN);\n return null;\n }\n\n const parsedIdToken = this.validateAndParseJson(value);\n if (!parsedIdToken || !IdTokenEntity.isIdTokenEntity(parsedIdToken)) {\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: called, no cache hit\");\n this.removeTokenKey(idTokenKey, CredentialType.ID_TOKEN);\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getIdTokenCredential: cache hit\");\n return CacheManager.toObject(new IdTokenEntity(), parsedIdToken);\n }\n\n /**\n * set IdToken credential to the platform cache\n * @param idToken\n */\n setIdTokenCredential(idToken: IdTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setIdTokenCredential called\");\n const idTokenKey = idToken.generateCredentialKey();\n\n this.setItem(idTokenKey, JSON.stringify(idToken));\n\n this.addTokenKey(idTokenKey, CredentialType.ID_TOKEN);\n }\n\n /**\n * generates accessToken entity from a string\n * @param key\n */\n getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null {\n const value = this.getItem(accessTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\n this.removeTokenKey(accessTokenKey, CredentialType.ACCESS_TOKEN);\n return null;\n }\n const parsedAccessToken = this.validateAndParseJson(value);\n if (!parsedAccessToken || !AccessTokenEntity.isAccessTokenEntity(parsedAccessToken)) {\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: called, no cache hit\");\n this.removeTokenKey(accessTokenKey, CredentialType.ACCESS_TOKEN);\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getAccessTokenCredential: cache hit\");\n return CacheManager.toObject(new AccessTokenEntity(), parsedAccessToken);\n }\n\n /**\n * set accessToken credential to the platform cache\n * @param accessToken\n */\n setAccessTokenCredential(accessToken: AccessTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAccessTokenCredential called\");\n const accessTokenKey = accessToken.generateCredentialKey();\n this.setItem(accessTokenKey, JSON.stringify(accessToken));\n\n this.addTokenKey(accessTokenKey, CredentialType.ACCESS_TOKEN);\n }\n\n /**\n * generates refreshToken entity from a string\n * @param refreshTokenKey\n */\n getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null {\n const value = this.getItem(refreshTokenKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\n this.removeTokenKey(refreshTokenKey, CredentialType.REFRESH_TOKEN);\n return null;\n }\n const parsedRefreshToken = this.validateAndParseJson(value);\n if (!parsedRefreshToken || !RefreshTokenEntity.isRefreshTokenEntity(parsedRefreshToken)) {\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: called, no cache hit\");\n this.removeTokenKey(refreshTokenKey, CredentialType.REFRESH_TOKEN);\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getRefreshTokenCredential: cache hit\");\n return CacheManager.toObject(new RefreshTokenEntity(), parsedRefreshToken);\n }\n\n /**\n * set refreshToken credential to the platform cache\n * @param refreshToken\n */\n setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void {\n this.logger.trace(\"BrowserCacheManager.setRefreshTokenCredential called\");\n const refreshTokenKey = refreshToken.generateCredentialKey();\n this.setItem(refreshTokenKey, JSON.stringify(refreshToken));\n\n this.addTokenKey(refreshTokenKey, CredentialType.REFRESH_TOKEN);\n }\n\n /**\n * fetch appMetadata entity from the platform cache\n * @param appMetadataKey\n */\n getAppMetadata(appMetadataKey: string): AppMetadataEntity | null {\n const value = this.getItem(appMetadataKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\n return null;\n }\n\n const parsedMetadata = this.validateAndParseJson(value);\n if (!parsedMetadata || !AppMetadataEntity.isAppMetadataEntity(appMetadataKey, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getAppMetadata: cache hit\");\n return CacheManager.toObject(new AppMetadataEntity(), parsedMetadata);\n }\n\n /**\n * set appMetadata entity to the platform cache\n * @param appMetadata\n */\n setAppMetadata(appMetadata: AppMetadataEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAppMetadata called\");\n const appMetadataKey = appMetadata.generateAppMetadataKey();\n this.setItem(appMetadataKey, JSON.stringify(appMetadata));\n }\n\n /**\n * fetch server telemetry entity from the platform cache\n * @param serverTelemetryKey\n */\n getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null {\n const value = this.getItem(serverTelemetryKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\n return null;\n }\n const parsedMetadata = this.validateAndParseJson(value);\n if (!parsedMetadata || !ServerTelemetryEntity.isServerTelemetryEntity(serverTelemetryKey, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getServerTelemetry: cache hit\");\n return CacheManager.toObject(new ServerTelemetryEntity(), parsedMetadata);\n }\n\n /**\n * set server telemetry entity to the platform cache\n * @param serverTelemetryKey\n * @param serverTelemetry\n */\n setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void {\n this.logger.trace(\"BrowserCacheManager.setServerTelemetry called\");\n this.setItem(serverTelemetryKey, JSON.stringify(serverTelemetry));\n }\n\n /**\n *\n */\n getAuthorityMetadata(key: string): AuthorityMetadataEntity | null {\n const value = this.internalStorage.getItem(key);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: called, no cache hit\");\n return null;\n }\n const parsedMetadata = this.validateAndParseJson(value);\n if (parsedMetadata && AuthorityMetadataEntity.isAuthorityMetadataEntity(key, parsedMetadata)) {\n this.logger.trace(\"BrowserCacheManager.getAuthorityMetadata: cache hit\");\n return CacheManager.toObject(new AuthorityMetadataEntity(), parsedMetadata);\n }\n return null;\n }\n\n /**\n *\n */\n getAuthorityMetadataKeys(): Array<string> {\n const allKeys = this.internalStorage.getKeys();\n return allKeys.filter((key) => {\n return this.isAuthorityMetadata(key);\n });\n }\n\n /**\n * Sets wrapper metadata in memory\n * @param wrapperSKU\n * @param wrapperVersion\n */\n setWrapperMetadata(wrapperSKU: string, wrapperVersion: string): void {\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_SKU, wrapperSKU);\n this.internalStorage.setItem(InMemoryCacheKeys.WRAPPER_VER, wrapperVersion);\n }\n\n /**\n * Returns wrapper metadata from in-memory storage\n */\n getWrapperMetadata(): [string, string] {\n const sku = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_SKU) || Constants.EMPTY_STRING;\n const version = this.internalStorage.getItem(InMemoryCacheKeys.WRAPPER_VER) || Constants.EMPTY_STRING;\n return [sku, version];\n }\n\n /**\n *\n * @param entity\n */\n setAuthorityMetadata(key: string, entity: AuthorityMetadataEntity): void {\n this.logger.trace(\"BrowserCacheManager.setAuthorityMetadata called\");\n this.internalStorage.setItem(key, JSON.stringify(entity));\n }\n\n /**\n * Gets the active account\n */\n getActiveAccount(): AccountInfo | null {\n const activeAccountKeyFilters = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT_FILTERS);\n const activeAccountValueFilters = this.getItem(activeAccountKeyFilters);\n if (!activeAccountValueFilters) {\n // if new active account cache type isn't found, it's an old version, so look for that instead\n this.logger.trace(\"BrowserCacheManager.getActiveAccount: No active account filters cache schema found, looking for legacy schema\");\n const activeAccountKeyLocal = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\n const activeAccountValueLocal = this.getItem(activeAccountKeyLocal);\n if (!activeAccountValueLocal) {\n this.logger.trace(\"BrowserCacheManager.getActiveAccount: No active account found\");\n return null;\n }\n const activeAccount = this.getAccountInfoByFilter({ localAccountId: activeAccountValueLocal })[0] || null;\n if (activeAccount) {\n this.logger.trace(\"BrowserCacheManager.getActiveAccount: Legacy active account cache schema found\");\n this.logger.trace(\"BrowserCacheManager.getActiveAccount: Adding active account filters cache schema\");\n this.setActiveAccount(activeAccount);\n return activeAccount;\n }\n return null;\n }\n const activeAccountValueObj = this.validateAndParseJson(activeAccountValueFilters) as AccountInfo;\n if (activeAccountValueObj) {\n this.logger.trace(\"BrowserCacheManager.getActiveAccount: Active account filters schema found\");\n return this.getAccountInfoByFilter({\n homeAccountId: activeAccountValueObj.homeAccountId,\n localAccountId: activeAccountValueObj.localAccountId\n })[0] || null;\n }\n this.logger.trace(\"BrowserCacheManager.getActiveAccount: No active account found\");\n return null;\n }\n\n /**\n * Sets the active account's localAccountId in cache\n * @param account\n */\n setActiveAccount(account: AccountInfo | null): void {\n const activeAccountKey = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT_FILTERS);\n const activeAccountKeyLocal = this.generateCacheKey(PersistentCacheKeys.ACTIVE_ACCOUNT);\n if (account) {\n this.logger.verbose(\"setActiveAccount: Active account set\");\n const activeAccountValue: ActiveAccountFilters = {\n homeAccountId: account.homeAccountId,\n localAccountId: account.localAccountId\n };\n this.browserStorage.setItem(activeAccountKey, JSON.stringify(activeAccountValue));\n this.browserStorage.setItem(activeAccountKeyLocal, account.localAccountId);\n } else {\n this.logger.verbose(\"setActiveAccount: No account passed, active account not set\");\n this.browserStorage.removeItem(activeAccountKey);\n this.browserStorage.removeItem(activeAccountKeyLocal);\n }\n }\n\n /**\n * Gets a list of accounts that match all of the filters provided\n * @param account\n */\n getAccountInfoByFilter(accountFilter: Partial<Omit<AccountInfo, \"idTokenClaims\" | \"name\">>): AccountInfo[] {\n const allAccounts = this.getAllAccounts();\n this.logger.trace(`BrowserCacheManager.getAccountInfoByFilter: total ${allAccounts.length} accounts found`);\n\n return allAccounts.filter((accountObj) => {\n if (accountFilter.username && accountFilter.username.toLowerCase() !== accountObj.username.toLowerCase()) {\n return false;\n }\n\n if (accountFilter.homeAccountId && accountFilter.homeAccountId !== accountObj.homeAccountId) {\n return false;\n }\n\n if (accountFilter.localAccountId && accountFilter.localAccountId !== accountObj.localAccountId) {\n return false;\n }\n\n if (accountFilter.tenantId && accountFilter.tenantId !== accountObj.tenantId) {\n return false;\n }\n\n if (accountFilter.environment && accountFilter.environment !== accountObj.environment) {\n return false;\n }\n\n return true;\n });\n }\n\n /**\n * Checks the cache for accounts matching loginHint or SID\n * @param loginHint\n * @param sid\n */\n getAccountInfoByHints(loginHint?: string, sid?: string): AccountInfo | null {\n const matchingAccounts = this.getAllAccounts().filter((accountInfo) => {\n if (sid) {\n const accountSid = accountInfo.idTokenClaims && accountInfo.idTokenClaims[\"sid\"];\n return sid === accountSid;\n }\n\n if (loginHint) {\n return loginHint === accountInfo.username;\n }\n\n return false;\n });\n\n if (matchingAccounts.length === 1) {\n return matchingAccounts[0];\n } else if (matchingAccounts.length > 1) {\n throw ClientAuthError.createMultipleMatchingAccountsInCacheError();\n }\n\n return null;\n }\n\n /**\n * fetch throttling entity from the platform cache\n * @param throttlingCacheKey\n */\n getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null {\n const value = this.getItem(throttlingCacheKey);\n if (!value) {\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\n return null;\n }\n\n const parsedThrottlingCache = this.validateAndParseJson(value);\n if (!parsedThrottlingCache || !ThrottlingEntity.isThrottlingEntity(throttlingCacheKey, parsedThrottlingCache)) {\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: called, no cache hit\");\n return null;\n }\n\n this.logger.trace(\"BrowserCacheManager.getThrottlingCache: cache hit\");\n return CacheManager.toObject(new ThrottlingEntity(), parsedThrottlingCache);\n }\n\n /**\n * set throttling entity to the platform cache\n * @param throttlingCacheKey\n * @param throttlingCache\n */\n setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void {\n this.logger.trace(\"BrowserCacheManager.setThrottlingCache called\");\n this.setItem(throttlingCacheKey, JSON.stringify(throttlingCache));\n }\n\n /**\n * Gets cache item with given key.\n * Will retrieve from cookies if storeAuthStateInCookie is set to true.\n * @param key\n */\n getTemporaryCache(cacheKey: string, generateKey?: boolean): string | null {\n const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\n if (this.cacheConfig.storeAuthStateInCookie) {\n const itemCookie = this.getItemCookie(key);\n if (itemCookie) {\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: storeAuthStateInCookies set to true, retrieving from cookies\");\n return itemCookie;\n }\n }\n\n const value = this.temporaryCacheStorage.getItem(key);\n if (!value) {\n // If temp cache item not found in session/memory, check local storage for items set by old versions\n if (this.cacheConfig.cacheLocation === BrowserCacheLocation.LocalStorage) {\n const item = this.browserStorage.getItem(key);\n if (item) {\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item found in local storage\");\n return item;\n }\n }\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: No cache item found in local storage\");\n return null;\n }\n this.logger.trace(\"BrowserCacheManager.getTemporaryCache: Temporary cache item returned\");\n return value;\n }\n\n /**\n * Sets the cache item with the key and value given.\n * Stores in cookie if storeAuthStateInCookie is set to true.\n * This can cause cookie overflow if used incorrectly.\n * @param key\n * @param value\n */\n setTemporaryCache(cacheKey: string, value: string, generateKey?: boolean): void {\n const key = generateKey ? this.generateCacheKey(cacheKey) : cacheKey;\n\n this.temporaryCacheStorage.setItem(key, value);\n if (this.cacheConfig.storeAuthStateInCookie) {\n this.logger.trace(\"BrowserCacheManager.setTemporaryCache: storeAuthStateInCookie set to true, setting item cookie\");\n this.setItemCookie(key, value);\n }\n }\n\n /**\n * Removes the cache item with the given key.\n * Will also clear the cookie item if storeAuthStateInCookie is set to true.\n * @param key\n */\n removeItem(key: string): void {\n this.browserStorage.removeItem(key);\n this.temporaryCacheStorage.removeItem(key);\n if (this.cacheConfig.storeAuthStateInCookie) {\n this.logger.trace(\"BrowserCacheManager.removeItem: storeAuthStateInCookie is true, clearing item cookie\");\n this.clearItemCookie(key);\n }\n }\n\n /**\n * Checks whether key is in cache.\n * @param key\n */\n containsKey(key: string): boolean {\n return this.browserStorage.containsKey(key) || this.temporaryCacheStorage.containsKey(key);\n }\n\n /**\n * Gets all keys in window.\n */\n getKeys(): string[] {\n return [\n ...this.browserStorage.getKeys(),\n ...this.temporaryCacheStorage.getKeys()\n ];\n }\n\n /**\n * Clears all cache entries created by MSAL.\n */\n async clear(): Promise<void> {\n // Removes all accounts and their credentials\n await this.removeAllAccounts();\n this.removeAppMetadata();\n\n // Removes all remaining MSAL cache items\n this.getKeys().forEach((cacheKey: string) => {\n // Check if key contains msal prefix; For now, we are clearing all the cache items created by MSAL.js\n if ((this.browserStorage.containsKey(cacheKey) || this.temporaryCacheStorage.containsKey(cacheKey)) && ((cacheKey.indexOf(Constants.CACHE_PREFIX) !== -1) || (cacheKey.indexOf(this.clientId) !== -1))) {\n this.removeItem(cacheKey);\n }\n });\n\n this.internalStorage.clear();\n }\n\n /**\n * Add value to cookies\n * @param cookieName\n * @param cookieValue\n * @param expires\n */\n setItemCookie(cookieName: string, cookieValue: string, expires?: number): void {\n let cookieStr = `${encodeURIComponent(cookieName)}=${encodeURIComponent(cookieValue)};path=/;SameSite=Lax;`;\n if (expires) {\n const expireTime = this.getCookieExpirationTime(expires);\n cookieStr += `expires=${expireTime};`;\n }\n\n if (this.cacheConfig.secureCookies) {\n cookieStr += \"Secure;\";\n }\n\n document.cookie = cookieStr;\n }\n\n /**\n * Get one item by key from cookies\n * @param cookieName\n */\n getItemCookie(cookieName: string): string {\n const name = `${encodeURIComponent(cookieName)}=`;\n const cookieList = document.cookie.split(\";\");\n for (let i: number = 0; i < cookieList.length; i++) {\n let cookie = cookieList[i];\n while (cookie.charAt(0) === \" \") {\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(name) === 0) {\n return decodeURIComponent(cookie.substring(name.length, cookie.length));\n }\n }\n return Constants.EMPTY_STRING;\n }\n\n /**\n * Clear all msal-related cookies currently set in the browser. Should only be used to clear temporary cache items.\n */\n clearMsalCookies(): void {\n const cookiePrefix = `${Constants.CACHE_PREFIX}.${this.clientId}`;\n const cookieList = document.cookie.split(\";\");\n cookieList.forEach((cookie: string): void => {\n while (cookie.charAt(0) === \" \") {\n // eslint-disable-next-line no-param-reassign\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(cookiePrefix) === 0) {\n const cookieKey = cookie.split(\"=\")[0];\n this.clearItemCookie(cookieKey);\n }\n });\n }\n\n /**\n * Clear an item in the cookies by key\n * @param cookieName\n */\n clearItemCookie(cookieName: string): void {\n this.setItemCookie(cookieName, Constants.EMPTY_STRING, -1);\n }\n\n /**\n * Get cookie expiration time\n * @param cookieLifeDays\n */\n getCookieExpirationTime(cookieLifeDays: number): string {\n const today = new Date();\n const expr = new Date(today.getTime() + cookieLifeDays * this.COOKIE_LIFE_MULTIPLIER);\n return expr.toUTCString();\n }\n\n /**\n * Gets the cache object referenced by the browser\n */\n getCache(): object {\n return this.browserStorage;\n }\n\n /**\n * interface compat, we cannot overwrite browser cache; Functionality is supported by individual entities in browser\n */\n setCache(): void {\n // sets nothing\n }\n\n /**\n * 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)\n * @param key\n * @param addInstanceId\n */\n generateCacheKey(key: string): string {\n const generatedKey = this.validateAndParseJson(key);\n if (!generatedKey) {\n if (StringUtils.startsWith(key, Constants.CACHE_PREFIX) || StringUtils.startsWith(key, PersistentCacheKeys.ADAL_ID_TOKEN)) {\n return key;\n }\n return `${Constants.CACHE_PREFIX}.${this.clientId}.${key}`;\n }\n\n return JSON.stringify(key);\n }\n\n /**\n * Create authorityKey to cache authority\n * @param state\n */\n generateAuthorityKey(stateString: string): string {\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n\n return this.generateCacheKey(`${TemporaryCacheKeys.AUTHORITY}.${stateId}`);\n }\n\n /**\n * Create Nonce key to cache nonce\n * @param state\n */\n generateNonceKey(stateString: string): string {\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n\n return this.generateCacheKey(`${TemporaryCacheKeys.NONCE_IDTOKEN}.${stateId}`);\n }\n\n /**\n * Creates full cache key for the request state\n * @param stateString State string for the request\n */\n generateStateKey(stateString: string): string {\n // Use the library state id to key temp storage for uniqueness for multiple concurrent requests\n const {\n libraryState: {\n id: stateId\n }\n } = ProtocolUtils.parseRequestState(this.cryptoImpl, stateString);\n return this.generateCacheKey(`${TemporaryCacheKeys.REQUEST_STATE}.${stateId}`);\n }\n\n /**\n * Gets the cached authority based on the cached state. Returns empty if no cached state found.\n */\n getCachedAuthority(cachedState: string): string | null {\n const stateCacheKey = this.generateStateKey(cachedState);\n const state = this.getTemporaryCache(stateCacheKey);\n if (!state) {\n return null;\n }\n\n const authorityCacheKey = this.generateAuthorityKey(state);\n return this.getTemporaryCache(authorityCacheKey);\n }\n\n /**\n * Updates account, authority, and state in cache\n * @param serverAuthenticationRequest\n * @param account\n */\n updateCacheEntries(state: string, nonce: string, authorityInstance: string, loginHint: string, account: AccountInfo | null): void {\n this.logger.trace(\"BrowserCacheManager.updateCacheEntries called\");\n // Cache the request state\n const stateCacheKey = this.generateStateKey(state);\n this.setTemporaryCache(stateCacheKey, state, false);\n\n // Cache the nonce\n const nonceCacheKey = this.generateNonceKey(state);\n this.setTemporaryCache(nonceCacheKey, nonce, false);\n\n // Cache authorityKey\n const authorityCacheKey = this.generateAuthorityKey(state);\n this.setTemporaryCache(authorityCacheKey, authorityInstance, false);\n\n if (account) {\n const ccsCredential: CcsCredential = {\n credential: account.homeAccountId,\n type: CcsCredentialType.HOME_ACCOUNT_ID\n };\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\n } else if (!StringUtils.isEmpty(loginHint)) {\n const ccsCredential: CcsCredential = {\n credential: loginHint,\n type: CcsCredentialType.UPN\n };\n this.setTemporaryCache(TemporaryCacheKeys.CCS_CREDENTIAL, JSON.stringify(ccsCredential), true);\n }\n }\n\n /**\n * Reset all temporary cache items\n * @param state\n */\n resetRequestCache(state: string): void {\n this.logger.trace(\"BrowserCacheManager.resetRequestCache called\");\n // check state and remove associated cache items\n if (!StringUtils.isEmpty(state)) {\n this.getKeys().forEach(key => {\n if (key.indexOf(state) !== -1) {\n this.removeItem(key);\n }\n });\n }\n\n // delete generic interactive request parameters\n if (state) {\n this.removeItem(this.generateStateKey(state));\n this.removeItem(this.generateNonceKey(state));\n this.removeItem(this.generateAuthorityKey(state));\n }\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.ORIGIN_URI));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.URL_HASH));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CORRELATION_ID));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.CCS_CREDENTIAL));\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.NATIVE_REQUEST));\n this.setInteractionInProgress(false);\n }\n\n /**\n * Removes temporary cache for the provided state\n * @param stateString\n */\n cleanRequestByState(stateString: string): void {\n this.logger.trace(\"BrowserCacheManager.cleanRequestByState called\");\n // Interaction is completed - remove interaction status.\n if (stateString) {\n const stateKey = this.generateStateKey(stateString);\n const cachedState = this.temporaryCacheStorage.getItem(stateKey);\n this.logger.infoPii(`BrowserCacheManager.cleanRequestByState: Removing temporary cache items for state: ${cachedState}`);\n this.resetRequestCache(cachedState || Constants.EMPTY_STRING);\n }\n this.clearMsalCookies();\n }\n\n /**\n * Looks in temporary cache for any state values with the provided interactionType and removes all temporary cache items for that state\n * Used in scenarios where temp cache needs to be cleaned but state is not known, such as clicking browser back button.\n * @param interactionType\n */\n cleanRequestByInteractionType(interactionType: InteractionType): void {\n this.logger.trace(\"BrowserCacheManager.cleanRequestByInteractionType called\");\n // Loop through all keys to find state key\n this.getKeys().forEach((key) => {\n // If this key is not the state key, move on\n if (key.indexOf(TemporaryCacheKeys.REQUEST_STATE) === -1) {\n return;\n }\n\n // Retrieve state value, return if not a valid value\n const stateValue = this.temporaryCacheStorage.getItem(key);\n if (!stateValue) {\n return;\n }\n // Extract state and ensure it matches given InteractionType, then clean request cache\n const parsedState = BrowserProtocolUtils.extractBrowserRequestState(this.cryptoImpl, stateValue);\n if (parsedState && parsedState.interactionType === interactionType) {\n this.logger.infoPii(`BrowserCacheManager.cleanRequestByInteractionType: Removing temporary cache items for state: ${stateValue}`);\n this.resetRequestCache(stateValue);\n }\n });\n this.clearMsalCookies();\n this.setInteractionInProgress(false);\n }\n\n cacheCodeRequest(authCodeRequest: CommonAuthorizationCodeRequest, browserCrypto: ICrypto): void {\n this.logger.trace(\"BrowserCacheManager.cacheCodeRequest called\");\n\n const encodedValue = browserCrypto.base64Encode(JSON.stringify(authCodeRequest));\n this.setTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, encodedValue, true);\n }\n\n /**\n * Gets the token exchange parameters from the cache. Throws an error if nothing is found.\n */\n getCachedRequest(state: string, browserCrypto: ICrypto): CommonAuthorizationCodeRequest {\n this.logger.trace(\"BrowserCacheManager.getCachedRequest called\");\n // Get token request from cache and parse as TokenExchangeParameters.\n const encodedTokenRequest = this.getTemporaryCache(TemporaryCacheKeys.REQUEST_PARAMS, true);\n if (!encodedTokenRequest) {\n throw BrowserAuthError.createNoTokenRequestCacheError();\n }\n\n const parsedRequest = this.validateAndParseJson(browserCrypto.base64Decode(encodedTokenRequest)) as CommonAuthorizationCodeRequest;\n if (!parsedRequest) {\n throw BrowserAuthError.createUnableToParseTokenRequestCacheError();\n }\n this.removeItem(this.generateCacheKey(TemporaryCacheKeys.REQUEST_PARAMS));\n\n // Get cached authority and use if no authority is cached with request.\n if (StringUtils.isEmpty(parsedRequest.authority)) {\n const authorityCacheKey: string = this.generateAuthorityKey(state);\n const cachedAuthority = this.getTemporaryCache(authorityCacheKey);\n if (!cachedAuthority) {\n throw BrowserAuthError.createNoCachedAuthorityError();\n }\n parsedRequest.authority = cachedAuthority;\n }\n\n return parsedRequest;\n }\n\n /**\n * Gets cached native request for redirect flows\n */\n getCachedNativeRequest(): NativeTokenRequest | null {\n this.logger.trace(\"BrowserCacheManager.getCachedNativeRequest called\");\n const cachedRequest = this.getTemporaryCache(TemporaryCacheKeys.NATIVE_REQUEST, true);\n if (!cachedRequest) {\n this.logger.trace(\"BrowserCacheManager.getCachedNativeRequest: No cached native request found\");\n return null;\n }\n\n const parsedRequest = this.validateAndParseJson(cachedRequest) as NativeTokenRequest;\n if (!parsedRequest) {\n this.logger.error(\"BrowserCacheManager.getCachedNativeRequest: Unable to parse native request\");\n return null;\n }\n\n return parsedRequest;\n }\n\n isInteractionInProgress(matchClientId?: boolean): boolean {\n const clientId = this.getInteractionInProgress();\n\n if (matchClientId) {\n return clientId === this.clientId;\n } else {\n return !!clientId;\n }\n }\n\n getInteractionInProgress(): string | null {\n const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;\n return this.getTemporaryCache(key, false);\n }\n\n setInteractionInProgress(inProgress: boolean): void {\n // Ensure we don't overwrite interaction in progress for a different clientId\n const key = `${Constants.CACHE_PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;\n if (inProgress) {\n if (this.getInteractionInProgress()) {\n throw BrowserAuthError.createInteractionInProgressError();\n } else {\n // No interaction is in progress\n this.setTemporaryCache(key, this.clientId, false);\n }\n } else if (!inProgress && this.getInteractionInProgress() === this.clientId) {\n this.removeItem(key);\n }\n }\n\n /**\n * Returns username retrieved from ADAL or MSAL v1 idToken\n */\n getLegacyLoginHint(): string | null {\n // Only check for adal/msal token if no SSO params are being used\n const adalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ADAL_ID_TOKEN);\n if (adalIdTokenString) {\n this.browserStorage.removeItem(PersistentCacheKeys.ADAL_ID_TOKEN);\n this.logger.verbose(\"Cached ADAL id token retrieved.\");\n }\n\n // Check for cached MSAL v1 id token\n const msalIdTokenString = this.getTemporaryCache(PersistentCacheKeys.ID_TOKEN, true);\n if (msalIdTokenString) {\n this.removeItem(this.generateCacheKey(PersistentCacheKeys.ID_TOKEN));\n this.logger.verbose(\"Cached MSAL.js v1 id token retrieved\");\n }\n\n const cachedIdTokenString = msalIdTokenString || adalIdTokenString;\n if (cachedIdTokenString) {\n const cachedIdToken = new IdToken(cachedIdTokenString, this.cryptoImpl);\n if (cachedIdToken.claims && cachedIdToken.claims.preferred_username) {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 preferred_username as loginHint\");\n return cachedIdToken.claims.preferred_username;\n }\n else if (cachedIdToken.claims && cachedIdToken.claims.upn) {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, setting ADAL/MSAL v1 upn as loginHint\");\n return cachedIdToken.claims.upn;\n }\n else {\n this.logger.verbose(\"No SSO params used and ADAL/MSAL v1 token retrieved, however, no account hint claim found. Enable preferred_username or upn id token claim to get SSO.\");\n }\n }\n\n return null;\n }\n\n /**\n * Updates a credential's cache key if the current cache key is outdated\n */\n updateCredentialCacheKey(currentCacheKey: string, credential: ValidCredentialType): string {\n const updatedCacheKey = credential.generateCredentialKey();\n\n if (currentCacheKey !== updatedCacheKey) {\n const cacheItem = this.getItem(currentCacheKey);\n if (cacheItem) {\n this.removeItem(currentCacheKey);\n this.setItem(updatedCacheKey, cacheItem);\n this.logger.verbose(`Updated an outdated ${credential.credentialType} cache key`);\n return updatedCacheKey;\n } else {\n this.logger.error(`Attempted to update an outdated ${credential.credentialType} cache key but no item matching the outdated key was found in storage`);\n }\n }\n\n return currentCacheKey;\n }\n\n /**\n * Returns application id as redirect context during AcquireTokenRedirect flow.\n */\n getRedirectRequestContext(): string | null {\n return this.getTemporaryCache(TemporaryCacheKeys.REDIRECT_CONTEXT, true);\n }\n\n /**\n * Sets application id as the redirect context during AcquireTokenRedirect flow.\n * @param value\n */\n setRedirectRequestContext(value: string): void {\n this.setTemporaryCache(TemporaryCacheKeys.REDIRECT_CONTEXT, value, true);\n }\n}\n\nexport const DEFAULT_BROWSER_CACHE_MANAGER = (clientId: string, logger: Logger): BrowserCacheManager => {\n const cacheOptions: Required<CacheOptions> = {\n cacheLocation: BrowserCacheLocation.MemoryStorage,\n temporaryCacheLocation: BrowserCacheLocation.MemoryStorage,\n storeAuthStateInCookie: false,\n secureCookies: false,\n cacheMigrationEnabled: false\n };\n return new BrowserCacheManager(clientId, cacheOptions, DEFAULT_CRYPTO_IMPLEMENTATION, logger);\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BrowserCacheManager.js","sources":["../../src/cache/BrowserCacheManager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserStorage.d.ts","sourceRoot":"","sources":["../../src/cache/BrowserStorage.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,cAAe,YAAW,cAAc,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"BrowserStorage.d.ts","sourceRoot":"","sources":["../../src/cache/BrowserStorage.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,cAAe,YAAW,cAAc,CAAC,MAAM,CAAC;IACzD,OAAO,CAAC,aAAa,CAAU;gBAEnB,aAAa,EAAE,MAAM;IAKjC,OAAO,CAAC,qBAAqB;IAiB7B,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-alpha.0 2023-05-03 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { BrowserConfigurationAuthError } from '../error/BrowserConfigurationAuthError.js';
|
|
4
4
|
import { BrowserCacheLocation } from '../utils/BrowserConstants.js';
|
|
@@ -7,37 +7,37 @@ import { BrowserCacheLocation } from '../utils/BrowserConstants.js';
|
|
|
7
7
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
8
8
|
* Licensed under the MIT License.
|
|
9
9
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
class BrowserStorage {
|
|
11
|
+
constructor(cacheLocation) {
|
|
12
12
|
this.validateWindowStorage(cacheLocation);
|
|
13
13
|
this.windowStorage = window[cacheLocation];
|
|
14
14
|
}
|
|
15
|
-
|
|
16
|
-
if (cacheLocation !== BrowserCacheLocation.LocalStorage &&
|
|
15
|
+
validateWindowStorage(cacheLocation) {
|
|
16
|
+
if (cacheLocation !== BrowserCacheLocation.LocalStorage &&
|
|
17
|
+
cacheLocation !== BrowserCacheLocation.SessionStorage) {
|
|
17
18
|
throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
const storageSupported = !!window[cacheLocation];
|
|
20
21
|
if (!storageSupported) {
|
|
21
22
|
throw BrowserConfigurationAuthError.createStorageNotSupportedError(cacheLocation);
|
|
22
23
|
}
|
|
23
|
-
}
|
|
24
|
-
|
|
24
|
+
}
|
|
25
|
+
getItem(key) {
|
|
25
26
|
return this.windowStorage.getItem(key);
|
|
26
|
-
}
|
|
27
|
-
|
|
27
|
+
}
|
|
28
|
+
setItem(key, value) {
|
|
28
29
|
this.windowStorage.setItem(key, value);
|
|
29
|
-
}
|
|
30
|
-
|
|
30
|
+
}
|
|
31
|
+
removeItem(key) {
|
|
31
32
|
this.windowStorage.removeItem(key);
|
|
32
|
-
}
|
|
33
|
-
|
|
33
|
+
}
|
|
34
|
+
getKeys() {
|
|
34
35
|
return Object.keys(this.windowStorage);
|
|
35
|
-
}
|
|
36
|
-
|
|
36
|
+
}
|
|
37
|
+
containsKey(key) {
|
|
37
38
|
return this.windowStorage.hasOwnProperty(key);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
}());
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
41
|
|
|
42
42
|
export { BrowserStorage };
|
|
43
43
|
//# sourceMappingURL=BrowserStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserStorage.js","sources":["../../src/cache/BrowserStorage.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"BrowserStorage.js","sources":["../../src/cache/BrowserStorage.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;MAMU,cAAc,CAAA;AAGvB,IAAA,WAAA,CAAY,aAAqB,EAAA;AAC7B,QAAA,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;KAC9C;AAEO,IAAA,qBAAqB,CAAC,aAAqB,EAAA;AAC/C,QAAA,IACI,aAAa,KAAK,oBAAoB,CAAC,YAAY;AACnD,YAAA,aAAa,KAAK,oBAAoB,CAAC,cAAc,EACvD;AACE,YAAA,MAAM,6BAA6B,CAAC,8BAA8B,CAC9D,aAAa,CAChB,CAAC;AACL,SAAA;QACD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACjD,IAAI,CAAC,gBAAgB,EAAE;AACnB,YAAA,MAAM,6BAA6B,CAAC,8BAA8B,CAC9D,aAAa,CAChB,CAAC;AACL,SAAA;KACJ;AAED,IAAA,OAAO,CAAC,GAAW,EAAA;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KAC1C;IAED,OAAO,CAAC,GAAW,EAAE,KAAa,EAAA;QAC9B,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC1C;AAED,IAAA,UAAU,CAAC,GAAW,EAAA;AAClB,QAAA,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACtC;IAED,OAAO,GAAA;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC1C;AAED,IAAA,WAAW,CAAC,GAAW,EAAA;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;KACjD;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoKeyStore.d.ts","sourceRoot":"","sources":["../../src/cache/CryptoKeyStore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,oBAAY,mBAAmB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAClC;AACD;;GAEG;AACH,qBAAa,cAAc;IAChB,cAAc,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAClD,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;gBAEV,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"CryptoKeyStore.d.ts","sourceRoot":"","sources":["../../src/cache/CryptoKeyStore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,oBAAY,mBAAmB;IAC3B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAClC;AACD;;GAEG;AACH,qBAAa,cAAc;IAChB,cAAc,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAClD,aAAa,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;gBAEV,MAAM,EAAE,MAAM;IAYpB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;CA0BlC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
/*! @azure/msal-browser
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-alpha.0 2023-05-03 */
|
|
2
2
|
'use strict';
|
|
3
|
-
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
4
3
|
import { AsyncMemoryStorage } from './AsyncMemoryStorage.js';
|
|
5
4
|
|
|
6
5
|
/*
|
|
@@ -15,44 +14,35 @@ var CryptoKeyStoreNames;
|
|
|
15
14
|
/**
|
|
16
15
|
* MSAL CryptoKeyStore DB Version 2
|
|
17
16
|
*/
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
class CryptoKeyStore {
|
|
18
|
+
constructor(logger) {
|
|
20
19
|
this.logger = logger;
|
|
21
20
|
this.asymmetricKeys = new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.asymmetricKeys);
|
|
22
21
|
this.symmetricKeys = new AsyncMemoryStorage(this.logger, CryptoKeyStoreNames.symmetricKeys);
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
return [2 /*return*/, false];
|
|
49
|
-
case 4: return [2 /*return*/];
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
};
|
|
54
|
-
return CryptoKeyStore;
|
|
55
|
-
}());
|
|
23
|
+
async clear() {
|
|
24
|
+
// Delete in-memory keystores
|
|
25
|
+
this.asymmetricKeys.clearInMemory();
|
|
26
|
+
this.symmetricKeys.clearInMemory();
|
|
27
|
+
/**
|
|
28
|
+
* There is only one database, so calling clearPersistent on asymmetric keystore takes care of
|
|
29
|
+
* every persistent keystore
|
|
30
|
+
*/
|
|
31
|
+
try {
|
|
32
|
+
await this.asymmetricKeys.clearPersistent();
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
catch (e) {
|
|
36
|
+
if (e instanceof Error) {
|
|
37
|
+
this.logger.error(`Clearing keystore failed with error: ${e.message}`);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.logger.error("Clearing keystore failed with unknown error");
|
|
41
|
+
}
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
56
46
|
|
|
57
47
|
export { CryptoKeyStore, CryptoKeyStoreNames };
|
|
58
48
|
//# sourceMappingURL=CryptoKeyStore.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoKeyStore.js","sources":["../../src/cache/CryptoKeyStore.ts"],"sourcesContent":[
|
|
1
|
+
{"version":3,"file":"CryptoKeyStore.js","sources":["../../src/cache/CryptoKeyStore.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;IAMS,oBAGX;AAHD,CAAA,UAAY,mBAAmB,EAAA;AAC3B,IAAA,mBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;AACjC,IAAA,mBAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;AACnC,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,GAG9B,EAAA,CAAA,CAAA,CAAA;AACD;;AAEG;MACU,cAAc,CAAA;AAKvB,IAAA,WAAA,CAAY,MAAc,EAAA;AACtB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AACrB,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,CACxC,IAAI,CAAC,MAAM,EACX,mBAAmB,CAAC,cAAc,CACrC,CAAC;AACF,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,kBAAkB,CACvC,IAAI,CAAC,MAAM,EACX,mBAAmB,CAAC,aAAa,CACpC,CAAC;KACL;AAED,IAAA,MAAM,KAAK,GAAA;;AAEP,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;AACpC,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC;AAEnC;;;AAGG;QACH,IAAI;AACA,YAAA,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;AAC5C,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AAAC,QAAA,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,YAAY,KAAK,EAAE;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,CAAwC,qCAAA,EAAA,CAAC,CAAC,OAAO,CAAE,CAAA,CACtD,CAAC;AACL,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CACb,6CAA6C,CAChD,CAAC;AACL,aAAA;AAED,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;KACJ;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseStorage.d.ts","sourceRoot":"","sources":["../../src/cache/DatabaseStorage.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AActD;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"DatabaseStorage.d.ts","sourceRoot":"","sources":["../../src/cache/DatabaseStorage.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AActD;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,MAAM,CAAU;;IASxB;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAsB3B;;;OAGG;IACH,eAAe,IAAI,IAAI;IAQvB;;OAEG;YACW,gBAAgB;IAM9B;;;OAGG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IA2B7C;;;;OAIG;IACG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrD;;;OAGG;IACG,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA2BlC;;;OAGG;IACG,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BhD;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;CAc3C"}
|