@azure/msal-common 15.13.3 → 16.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account/AccountInfo.d.ts +0 -1
- package/dist/account/AccountInfo.d.ts.map +1 -1
- package/dist/account/AccountInfo.mjs +1 -1
- package/dist/account/AccountInfo.mjs.map +1 -1
- package/dist/account/AuthToken.d.ts.map +1 -1
- package/dist/account/AuthToken.mjs +2 -3
- package/dist/account/AuthToken.mjs.map +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.d.ts.map +1 -1
- package/dist/account/ClientInfo.mjs +4 -6
- package/dist/account/ClientInfo.mjs.map +1 -1
- package/dist/account/TokenClaims.mjs +1 -1
- package/dist/authority/Authority.d.ts +2 -2
- package/dist/authority/Authority.d.ts.map +1 -1
- package/dist/authority/Authority.mjs +89 -105
- package/dist/authority/Authority.mjs.map +1 -1
- package/dist/authority/AuthorityFactory.d.ts +6 -2
- package/dist/authority/AuthorityFactory.d.ts.map +1 -1
- package/dist/authority/AuthorityFactory.mjs +8 -5
- package/dist/authority/AuthorityFactory.mjs.map +1 -1
- package/dist/authority/AuthorityMetadata.d.ts +2 -2
- package/dist/authority/AuthorityMetadata.d.ts.map +1 -1
- package/dist/authority/AuthorityMetadata.mjs +34 -31
- package/dist/authority/AuthorityMetadata.mjs.map +1 -1
- package/dist/authority/AuthorityOptions.d.ts +0 -1
- package/dist/authority/AuthorityOptions.d.ts.map +1 -1
- package/dist/authority/AuthorityOptions.mjs +1 -1
- package/dist/authority/AuthorityOptions.mjs.map +1 -1
- package/dist/authority/AuthorityType.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist/authority/OIDCOptions.d.ts +2 -2
- package/dist/authority/OIDCOptions.d.ts.map +1 -1
- package/dist/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist/authority/ProtocolMode.mjs +1 -1
- package/dist/authority/RegionDiscovery.d.ts +3 -3
- package/dist/authority/RegionDiscovery.d.ts.map +1 -1
- package/dist/authority/RegionDiscovery.mjs +14 -15
- package/dist/authority/RegionDiscovery.mjs.map +1 -1
- package/dist/cache/CacheManager.d.ts +26 -19
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.mjs +70 -83
- package/dist/cache/CacheManager.mjs.map +1 -1
- package/dist/cache/entities/AccessTokenEntity.d.ts +0 -4
- package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
- package/dist/cache/entities/AccountEntity.d.ts +4 -56
- package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
- package/dist/cache/entities/CredentialEntity.d.ts +0 -2
- package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
- package/dist/cache/interface/ICacheManager.d.ts +35 -17
- package/dist/cache/interface/ICacheManager.d.ts.map +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/AccountEntityUtils.d.ts +53 -0
- package/dist/cache/utils/AccountEntityUtils.d.ts.map +1 -0
- package/dist/cache/utils/AccountEntityUtils.mjs +192 -0
- package/dist/cache/utils/AccountEntityUtils.mjs.map +1 -0
- package/dist/cache/utils/CacheHelpers.d.ts +2 -2
- package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +10 -13
- package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
- package/dist/cache/utils/CacheTypes.d.ts +0 -1
- package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.d.ts +23 -4
- package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +63 -35
- package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist/client/RefreshTokenClient.d.ts +17 -4
- package/dist/client/RefreshTokenClient.d.ts.map +1 -1
- package/dist/client/RefreshTokenClient.mjs +51 -37
- package/dist/client/RefreshTokenClient.mjs.map +1 -1
- package/dist/client/SilentFlowClient.d.ts +17 -4
- package/dist/client/SilentFlowClient.d.ts.map +1 -1
- package/dist/client/SilentFlowClient.mjs +28 -15
- package/dist/client/SilentFlowClient.mjs.map +1 -1
- package/dist/config/ClientConfiguration.d.ts +2 -22
- package/dist/config/ClientConfiguration.d.ts.map +1 -1
- package/dist/config/ClientConfiguration.mjs +9 -15
- package/dist/config/ClientConfiguration.mjs.map +1 -1
- package/dist/constants/AADServerParamKeys.mjs +1 -1
- package/dist/crypto/ICrypto.d.ts +5 -3
- package/dist/crypto/ICrypto.d.ts.map +1 -1
- package/dist/crypto/ICrypto.mjs +1 -1
- package/dist/crypto/ICrypto.mjs.map +1 -1
- package/dist/crypto/JoseHeader.mjs +1 -1
- package/dist/crypto/PopTokenGenerator.d.ts +2 -2
- package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
- package/dist/crypto/PopTokenGenerator.mjs +3 -5
- package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
- package/dist/error/AuthError.d.ts +1 -18
- package/dist/error/AuthError.d.ts.map +1 -1
- package/dist/error/AuthError.mjs +12 -34
- package/dist/error/AuthError.mjs.map +1 -1
- package/dist/error/AuthErrorCodes.mjs +1 -1
- package/dist/error/CacheError.d.ts +1 -6
- package/dist/error/CacheError.d.ts.map +1 -1
- package/dist/error/CacheError.mjs +6 -13
- package/dist/error/CacheError.mjs.map +1 -1
- package/dist/error/CacheErrorCodes.mjs +1 -1
- package/dist/error/ClientAuthError.d.ts +0 -229
- package/dist/error/ClientAuthError.d.ts.map +1 -1
- package/dist/error/ClientAuthError.mjs +3 -240
- package/dist/error/ClientAuthError.mjs.map +1 -1
- package/dist/error/ClientAuthErrorCodes.d.ts +0 -8
- package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/dist/error/ClientAuthErrorCodes.mjs +2 -10
- package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist/error/ClientConfigurationError.d.ts +0 -128
- package/dist/error/ClientConfigurationError.d.ts.map +1 -1
- package/dist/error/ClientConfigurationError.mjs +3 -134
- package/dist/error/ClientConfigurationError.mjs.map +1 -1
- package/dist/error/ClientConfigurationErrorCodes.d.ts +0 -2
- package/dist/error/ClientConfigurationErrorCodes.d.ts.map +1 -1
- package/dist/error/ClientConfigurationErrorCodes.mjs +3 -5
- package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -1
- package/dist/error/InteractionRequiredAuthError.d.ts +1 -19
- package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +10 -35
- package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist/error/JoseHeaderError.d.ts +0 -4
- package/dist/error/JoseHeaderError.d.ts.map +1 -1
- package/dist/error/JoseHeaderError.mjs +3 -8
- package/dist/error/JoseHeaderError.mjs.map +1 -1
- package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
- package/dist/error/NetworkError.mjs +1 -1
- package/dist/error/PlatformBrokerError.d.ts.map +1 -1
- package/dist/error/PlatformBrokerError.mjs +3 -2
- package/dist/error/PlatformBrokerError.mjs.map +1 -1
- package/dist/error/ServerError.mjs +1 -1
- package/dist/exports-browser-only.d.ts +4 -3
- package/dist/exports-browser-only.d.ts.map +1 -1
- package/dist/exports-common.d.ts +11 -8
- package/dist/exports-common.d.ts.map +1 -1
- package/dist/exports-node-only.d.ts +2 -4
- package/dist/exports-node-only.d.ts.map +1 -1
- package/dist/index-node.mjs +15 -10
- package/dist/index-node.mjs.map +1 -1
- package/dist/index.mjs +17 -11
- package/dist/index.mjs.map +1 -1
- package/dist/logger/Logger.d.ts +36 -13
- package/dist/logger/Logger.d.ts.map +1 -1
- package/dist/logger/Logger.mjs +105 -22
- package/dist/logger/Logger.mjs.map +1 -1
- package/dist/network/INetworkModule.mjs +1 -1
- package/dist/network/RequestThumbprint.mjs +2 -2
- package/dist/network/RequestThumbprint.mjs.map +1 -1
- package/dist/network/ThrottlingUtils.d.ts.map +1 -1
- package/dist/network/ThrottlingUtils.mjs +6 -7
- package/dist/network/ThrottlingUtils.mjs.map +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.d.ts.map +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/protocol/Authorize.d.ts +1 -2
- package/dist/protocol/Authorize.d.ts.map +1 -1
- package/dist/protocol/Authorize.mjs +14 -14
- package/dist/protocol/Authorize.mjs.map +1 -1
- package/dist/protocol/Token.d.ts +40 -0
- package/dist/protocol/Token.d.ts.map +1 -0
- package/dist/protocol/Token.mjs +129 -0
- package/dist/protocol/Token.mjs.map +1 -0
- package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
- package/dist/request/AuthenticationHeaderParser.mjs +3 -3
- package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
- package/dist/request/BaseAuthRequest.d.ts +4 -8
- package/dist/request/BaseAuthRequest.d.ts.map +1 -1
- package/dist/request/CommonAuthorizationCodeRequest.d.ts +2 -1
- package/dist/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
- package/dist/request/CommonAuthorizationUrlRequest.d.ts +2 -4
- package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
- package/dist/request/CommonRefreshTokenRequest.d.ts +2 -1
- package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
- package/dist/request/CommonSilentFlowRequest.d.ts +2 -1
- package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.d.ts +6 -12
- package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
- package/dist/request/RequestParameterBuilder.mjs +11 -24
- package/dist/request/RequestParameterBuilder.mjs.map +1 -1
- package/dist/request/ScopeSet.mjs +5 -5
- package/dist/request/ScopeSet.mjs.map +1 -1
- package/dist/response/AuthenticationResult.d.ts +1 -1
- package/dist/response/AuthenticationResult.d.ts.map +1 -1
- package/dist/response/ResponseHandler.d.ts +7 -6
- package/dist/response/ResponseHandler.d.ts.map +1 -1
- package/dist/response/ResponseHandler.mjs +41 -43
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/performance/IPerformanceClient.d.ts +0 -29
- package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.d.ts +5 -81
- package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +24 -170
- package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.d.ts +1 -280
- package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +2 -483
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvents.d.ts +66 -0
- package/dist/telemetry/performance/PerformanceEvents.d.ts.map +1 -0
- package/dist/telemetry/performance/PerformanceEvents.mjs +74 -0
- package/dist/telemetry/performance/PerformanceEvents.mjs.map +1 -0
- package/dist/telemetry/performance/StubPerformanceClient.d.ts +0 -4
- package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.mjs +2 -26
- package/dist/telemetry/performance/StubPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.d.ts +2 -2
- package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +28 -30
- package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
- package/dist/url/UrlString.d.ts +0 -5
- package/dist/url/UrlString.d.ts.map +1 -1
- package/dist/url/UrlString.mjs +5 -13
- package/dist/url/UrlString.mjs.map +1 -1
- package/dist/utils/ClientAssertionUtils.mjs +1 -1
- package/dist/utils/Constants.d.ts +81 -112
- package/dist/utils/Constants.d.ts.map +1 -1
- package/dist/utils/Constants.mjs +100 -127
- package/dist/utils/Constants.mjs.map +1 -1
- package/dist/utils/FunctionWrappers.d.ts +2 -2
- package/dist/utils/FunctionWrappers.d.ts.map +1 -1
- package/dist/utils/FunctionWrappers.mjs +19 -20
- package/dist/utils/FunctionWrappers.mjs.map +1 -1
- package/dist/utils/ProtocolUtils.d.ts +14 -35
- package/dist/utils/ProtocolUtils.d.ts.map +1 -1
- package/dist/utils/ProtocolUtils.mjs +57 -61
- package/dist/utils/ProtocolUtils.mjs.map +1 -1
- package/dist/utils/StateTypes.d.ts +15 -0
- package/dist/utils/StateTypes.d.ts.map +1 -0
- package/dist/utils/StringUtils.mjs +1 -1
- package/dist/utils/TimeUtils.mjs +1 -1
- package/dist/utils/UrlUtils.d.ts +1 -2
- package/dist/utils/UrlUtils.d.ts.map +1 -1
- package/dist/utils/UrlUtils.mjs +3 -10
- package/dist/utils/UrlUtils.mjs.map +1 -1
- package/lib/index-browser.cjs +26 -206
- package/lib/index-browser.cjs.map +1 -1
- package/lib/{index-node-4Jss3kYh.js → index-node-B7mR4APO.js} +3494 -4270
- package/lib/index-node-B7mR4APO.js.map +1 -0
- package/lib/index-node.cjs +6 -34
- package/lib/index-node.cjs.map +1 -1
- package/lib/index.cjs +5 -34
- package/lib/index.cjs.map +1 -1
- package/lib/types/account/AccountInfo.d.ts +0 -1
- package/lib/types/account/AccountInfo.d.ts.map +1 -1
- package/lib/types/account/AuthToken.d.ts.map +1 -1
- package/lib/types/account/ClientInfo.d.ts.map +1 -1
- package/lib/types/authority/Authority.d.ts +2 -2
- package/lib/types/authority/Authority.d.ts.map +1 -1
- package/lib/types/authority/AuthorityFactory.d.ts +6 -2
- package/lib/types/authority/AuthorityFactory.d.ts.map +1 -1
- package/lib/types/authority/AuthorityMetadata.d.ts +2 -2
- package/lib/types/authority/AuthorityMetadata.d.ts.map +1 -1
- package/lib/types/authority/AuthorityOptions.d.ts +0 -1
- package/lib/types/authority/AuthorityOptions.d.ts.map +1 -1
- package/lib/types/authority/OIDCOptions.d.ts +2 -2
- package/lib/types/authority/OIDCOptions.d.ts.map +1 -1
- package/lib/types/authority/RegionDiscovery.d.ts +3 -3
- package/lib/types/authority/RegionDiscovery.d.ts.map +1 -1
- package/lib/types/cache/CacheManager.d.ts +26 -19
- package/lib/types/cache/CacheManager.d.ts.map +1 -1
- package/lib/types/cache/entities/AccessTokenEntity.d.ts +0 -4
- package/lib/types/cache/entities/AccessTokenEntity.d.ts.map +1 -1
- package/lib/types/cache/entities/AccountEntity.d.ts +4 -56
- package/lib/types/cache/entities/AccountEntity.d.ts.map +1 -1
- package/lib/types/cache/entities/CredentialEntity.d.ts +0 -2
- package/lib/types/cache/entities/CredentialEntity.d.ts.map +1 -1
- package/lib/types/cache/interface/ICacheManager.d.ts +35 -17
- package/lib/types/cache/interface/ICacheManager.d.ts.map +1 -1
- package/lib/types/cache/utils/AccountEntityUtils.d.ts +53 -0
- package/lib/types/cache/utils/AccountEntityUtils.d.ts.map +1 -0
- package/lib/types/cache/utils/CacheHelpers.d.ts +2 -2
- package/lib/types/cache/utils/CacheHelpers.d.ts.map +1 -1
- package/lib/types/cache/utils/CacheTypes.d.ts +0 -1
- package/lib/types/cache/utils/CacheTypes.d.ts.map +1 -1
- package/lib/types/client/AuthorizationCodeClient.d.ts +23 -4
- package/lib/types/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/lib/types/client/RefreshTokenClient.d.ts +17 -4
- package/lib/types/client/RefreshTokenClient.d.ts.map +1 -1
- package/lib/types/client/SilentFlowClient.d.ts +17 -4
- package/lib/types/client/SilentFlowClient.d.ts.map +1 -1
- package/lib/types/config/ClientConfiguration.d.ts +2 -22
- package/lib/types/config/ClientConfiguration.d.ts.map +1 -1
- package/lib/types/crypto/ICrypto.d.ts +5 -3
- package/lib/types/crypto/ICrypto.d.ts.map +1 -1
- package/lib/types/crypto/PopTokenGenerator.d.ts +2 -2
- package/lib/types/crypto/PopTokenGenerator.d.ts.map +1 -1
- package/lib/types/error/AuthError.d.ts +1 -18
- package/lib/types/error/AuthError.d.ts.map +1 -1
- package/lib/types/error/CacheError.d.ts +1 -6
- package/lib/types/error/CacheError.d.ts.map +1 -1
- package/lib/types/error/ClientAuthError.d.ts +0 -229
- package/lib/types/error/ClientAuthError.d.ts.map +1 -1
- package/lib/types/error/ClientAuthErrorCodes.d.ts +0 -8
- package/lib/types/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/lib/types/error/ClientConfigurationError.d.ts +0 -128
- package/lib/types/error/ClientConfigurationError.d.ts.map +1 -1
- package/lib/types/error/ClientConfigurationErrorCodes.d.ts +0 -2
- package/lib/types/error/ClientConfigurationErrorCodes.d.ts.map +1 -1
- package/lib/types/error/InteractionRequiredAuthError.d.ts +1 -19
- package/lib/types/error/InteractionRequiredAuthError.d.ts.map +1 -1
- package/lib/types/error/JoseHeaderError.d.ts +0 -4
- package/lib/types/error/JoseHeaderError.d.ts.map +1 -1
- package/lib/types/error/PlatformBrokerError.d.ts.map +1 -1
- package/lib/types/exports-browser-only.d.ts +4 -3
- package/lib/types/exports-browser-only.d.ts.map +1 -1
- package/lib/types/exports-common.d.ts +11 -8
- package/lib/types/exports-common.d.ts.map +1 -1
- package/lib/types/exports-node-only.d.ts +2 -4
- package/lib/types/exports-node-only.d.ts.map +1 -1
- package/lib/types/logger/Logger.d.ts +36 -13
- package/lib/types/logger/Logger.d.ts.map +1 -1
- package/lib/types/network/ThrottlingUtils.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/packageMetadata.d.ts.map +1 -1
- package/lib/types/protocol/Authorize.d.ts +1 -2
- package/lib/types/protocol/Authorize.d.ts.map +1 -1
- package/lib/types/protocol/Token.d.ts +40 -0
- package/lib/types/protocol/Token.d.ts.map +1 -0
- package/lib/types/request/AuthenticationHeaderParser.d.ts.map +1 -1
- package/lib/types/request/BaseAuthRequest.d.ts +4 -8
- package/lib/types/request/BaseAuthRequest.d.ts.map +1 -1
- package/lib/types/request/CommonAuthorizationCodeRequest.d.ts +2 -1
- package/lib/types/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
- package/lib/types/request/CommonAuthorizationUrlRequest.d.ts +2 -4
- package/lib/types/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
- package/lib/types/request/CommonRefreshTokenRequest.d.ts +2 -1
- package/lib/types/request/CommonRefreshTokenRequest.d.ts.map +1 -1
- package/lib/types/request/CommonSilentFlowRequest.d.ts +2 -1
- package/lib/types/request/CommonSilentFlowRequest.d.ts.map +1 -1
- package/lib/types/request/RequestParameterBuilder.d.ts +6 -12
- package/lib/types/request/RequestParameterBuilder.d.ts.map +1 -1
- package/lib/types/response/AuthenticationResult.d.ts +1 -1
- package/lib/types/response/AuthenticationResult.d.ts.map +1 -1
- package/lib/types/response/ResponseHandler.d.ts +7 -6
- package/lib/types/response/ResponseHandler.d.ts.map +1 -1
- package/lib/types/telemetry/performance/IPerformanceClient.d.ts +0 -29
- package/lib/types/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceClient.d.ts +5 -81
- package/lib/types/telemetry/performance/PerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts +1 -280
- package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/lib/types/telemetry/performance/PerformanceEvents.d.ts +66 -0
- package/lib/types/telemetry/performance/PerformanceEvents.d.ts.map +1 -0
- package/lib/types/telemetry/performance/StubPerformanceClient.d.ts +0 -4
- package/lib/types/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/server/ServerTelemetryManager.d.ts +2 -2
- package/lib/types/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
- package/lib/types/url/UrlString.d.ts +0 -5
- package/lib/types/url/UrlString.d.ts.map +1 -1
- package/lib/types/utils/Constants.d.ts +81 -112
- package/lib/types/utils/Constants.d.ts.map +1 -1
- package/lib/types/utils/FunctionWrappers.d.ts +2 -2
- package/lib/types/utils/FunctionWrappers.d.ts.map +1 -1
- package/lib/types/utils/ProtocolUtils.d.ts +14 -35
- package/lib/types/utils/ProtocolUtils.d.ts.map +1 -1
- package/lib/types/utils/StateTypes.d.ts +15 -0
- package/lib/types/utils/StateTypes.d.ts.map +1 -0
- package/lib/types/utils/UrlUtils.d.ts +1 -2
- package/lib/types/utils/UrlUtils.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/account/AccountInfo.ts +0 -1
- package/src/account/AuthToken.ts +1 -2
- package/src/account/ClientInfo.ts +3 -6
- package/src/authority/Authority.ts +145 -146
- package/src/authority/AuthorityFactory.ts +7 -7
- package/src/authority/AuthorityMetadata.ts +54 -47
- package/src/authority/AuthorityOptions.ts +0 -1
- package/src/authority/OIDCOptions.ts +2 -2
- package/src/authority/RegionDiscovery.ts +20 -33
- package/src/cache/CacheManager.ts +177 -128
- package/src/cache/entities/AccessTokenEntity.ts +0 -4
- package/src/cache/entities/AccountEntity.ts +4 -292
- package/src/cache/entities/CredentialEntity.ts +0 -2
- package/src/cache/interface/ICacheManager.ts +55 -20
- package/src/cache/utils/AccountEntityUtils.ts +258 -0
- package/src/cache/utils/CacheHelpers.ts +23 -37
- package/src/cache/utils/CacheTypes.ts +0 -1
- package/src/client/AuthorizationCodeClient.ts +146 -58
- package/src/client/RefreshTokenClient.ts +108 -65
- package/src/client/SilentFlowClient.ts +74 -25
- package/src/config/ClientConfiguration.ts +9 -37
- package/src/crypto/ICrypto.ts +5 -3
- package/src/crypto/PopTokenGenerator.ts +3 -13
- package/src/error/AuthError.ts +11 -30
- package/src/error/CacheError.ts +4 -15
- package/src/error/ClientAuthError.ts +1 -317
- package/src/error/ClientAuthErrorCodes.ts +0 -8
- package/src/error/ClientConfigurationError.ts +1 -202
- package/src/error/ClientConfigurationErrorCodes.ts +0 -4
- package/src/error/InteractionRequiredAuthError.ts +8 -48
- package/src/error/JoseHeaderError.ts +1 -8
- package/src/error/PlatformBrokerError.ts +2 -1
- package/src/exports-browser-only.ts +2 -6
- package/src/exports-common.ts +8 -40
- package/src/exports-node-only.ts +5 -4
- package/src/logger/Logger.ts +174 -39
- package/src/network/RequestThumbprint.ts +1 -1
- package/src/network/ThrottlingUtils.ts +12 -15
- package/src/packageMetadata.ts +1 -1
- package/src/protocol/Authorize.ts +24 -20
- package/src/protocol/Token.ts +230 -0
- package/src/request/AuthenticationHeaderParser.ts +2 -4
- package/src/request/BaseAuthRequest.ts +4 -8
- package/src/request/CommonAuthorizationCodeRequest.ts +2 -1
- package/src/request/CommonAuthorizationUrlRequest.ts +2 -4
- package/src/request/CommonRefreshTokenRequest.ts +2 -1
- package/src/request/CommonSilentFlowRequest.ts +2 -1
- package/src/request/RequestParameterBuilder.ts +35 -50
- package/src/request/ScopeSet.ts +4 -4
- package/src/response/AuthenticationResult.ts +1 -1
- package/src/response/ResponseHandler.ts +56 -60
- package/src/telemetry/performance/IPerformanceClient.ts +0 -40
- package/src/telemetry/performance/PerformanceClient.ts +26 -295
- package/src/telemetry/performance/PerformanceEvent.ts +3 -582
- package/src/telemetry/performance/PerformanceEvents.ts +98 -0
- package/src/telemetry/performance/StubPerformanceClient.ts +0 -16
- package/src/telemetry/server/ServerTelemetryManager.ts +33 -44
- package/src/url/UrlString.ts +3 -12
- package/src/utils/Constants.ts +103 -140
- package/src/utils/FunctionWrappers.ts +28 -29
- package/src/utils/ProtocolUtils.ts +67 -93
- package/src/utils/StateTypes.ts +20 -0
- package/src/utils/UrlUtils.ts +2 -15
- package/dist/cache/entities/AccountEntity.mjs +0 -232
- package/dist/cache/entities/AccountEntity.mjs.map +0 -1
- package/dist/client/BaseClient.d.ts +0 -59
- package/dist/client/BaseClient.d.ts.map +0 -1
- package/dist/client/BaseClient.mjs +0 -167
- package/dist/client/BaseClient.mjs.map +0 -1
- package/dist/index-browser.mjs +0 -72
- package/dist/index-browser.mjs.map +0 -1
- package/dist/request/CommonClientCredentialRequest.d.ts +0 -18
- package/dist/request/CommonClientCredentialRequest.d.ts.map +0 -1
- package/dist/request/CommonDeviceCodeRequest.d.ts +0 -22
- package/dist/request/CommonDeviceCodeRequest.d.ts.map +0 -1
- package/dist/request/CommonOnBehalfOfRequest.d.ts +0 -14
- package/dist/request/CommonOnBehalfOfRequest.d.ts.map +0 -1
- package/dist/request/CommonUsernamePasswordRequest.d.ts +0 -18
- package/dist/request/CommonUsernamePasswordRequest.d.ts.map +0 -1
- package/lib/index-node-4Jss3kYh.js.map +0 -1
- package/lib/types/client/BaseClient.d.ts +0 -59
- package/lib/types/client/BaseClient.d.ts.map +0 -1
- package/lib/types/request/CommonClientCredentialRequest.d.ts +0 -18
- package/lib/types/request/CommonClientCredentialRequest.d.ts.map +0 -1
- package/lib/types/request/CommonDeviceCodeRequest.d.ts +0 -22
- package/lib/types/request/CommonDeviceCodeRequest.d.ts.map +0 -1
- package/lib/types/request/CommonOnBehalfOfRequest.d.ts +0 -14
- package/lib/types/request/CommonOnBehalfOfRequest.d.ts.map +0 -1
- package/lib/types/request/CommonUsernamePasswordRequest.d.ts +0 -18
- package/lib/types/request/CommonUsernamePasswordRequest.d.ts.map +0 -1
- package/src/client/BaseClient.ts +0 -320
- package/src/request/CommonClientCredentialRequest.ts +0 -23
- package/src/request/CommonDeviceCodeRequest.ts +0 -31
- package/src/request/CommonOnBehalfOfRequest.ts +0 -19
- package/src/request/CommonUsernamePasswordRequest.ts +0 -23
|
@@ -1,9 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { ICrypto } from "../../crypto/ICrypto.js";
|
|
3
|
-
import { AccountInfo, TenantProfile, DataBoundary } from "../../account/AccountInfo.js";
|
|
4
|
-
import { AuthorityType } from "../../authority/AuthorityType.js";
|
|
5
|
-
import { Logger } from "../../logger/Logger.js";
|
|
6
|
-
import { TokenClaims } from "../../account/TokenClaims.js";
|
|
1
|
+
import { TenantProfile, DataBoundary } from "../../account/AccountInfo.js";
|
|
7
2
|
/**
|
|
8
3
|
* Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).
|
|
9
4
|
*
|
|
@@ -27,7 +22,7 @@ import { TokenClaims } from "../../account/TokenClaims.js";
|
|
|
27
22
|
* }
|
|
28
23
|
* @internal
|
|
29
24
|
*/
|
|
30
|
-
export
|
|
25
|
+
export type AccountEntity = {
|
|
31
26
|
homeAccountId: string;
|
|
32
27
|
environment: string;
|
|
33
28
|
realm: string;
|
|
@@ -43,55 +38,8 @@ export declare class AccountEntity {
|
|
|
43
38
|
msGraphHost?: string;
|
|
44
39
|
nativeAccountId?: string;
|
|
45
40
|
tenantProfiles?: Array<TenantProfile>;
|
|
41
|
+
/** Timestamp when the entry was last updated */
|
|
46
42
|
lastUpdatedAt: string;
|
|
47
43
|
dataBoundary?: DataBoundary;
|
|
48
|
-
|
|
49
|
-
* Returns the AccountInfo interface for this account.
|
|
50
|
-
*/
|
|
51
|
-
static getAccountInfo(accountEntity: AccountEntity): AccountInfo;
|
|
52
|
-
/**
|
|
53
|
-
* Returns true if the account entity is in single tenant format (outdated), false otherwise
|
|
54
|
-
*/
|
|
55
|
-
isSingleTenant(): boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
|
|
58
|
-
* @param accountDetails
|
|
59
|
-
*/
|
|
60
|
-
static createAccount(accountDetails: {
|
|
61
|
-
homeAccountId: string;
|
|
62
|
-
idTokenClaims?: TokenClaims;
|
|
63
|
-
clientInfo?: string;
|
|
64
|
-
cloudGraphHostName?: string;
|
|
65
|
-
msGraphHost?: string;
|
|
66
|
-
environment?: string;
|
|
67
|
-
nativeAccountId?: string;
|
|
68
|
-
tenantProfiles?: Array<TenantProfile>;
|
|
69
|
-
}, authority: Authority, base64Decode?: (input: string) => string): AccountEntity;
|
|
70
|
-
/**
|
|
71
|
-
* Creates an AccountEntity object from AccountInfo
|
|
72
|
-
* @param accountInfo
|
|
73
|
-
* @param cloudGraphHostName
|
|
74
|
-
* @param msGraphHost
|
|
75
|
-
* @returns
|
|
76
|
-
*/
|
|
77
|
-
static createFromAccountInfo(accountInfo: AccountInfo, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity;
|
|
78
|
-
/**
|
|
79
|
-
* Generate HomeAccountId from server response
|
|
80
|
-
* @param serverClientInfo
|
|
81
|
-
* @param authType
|
|
82
|
-
*/
|
|
83
|
-
static generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, idTokenClaims?: TokenClaims): string;
|
|
84
|
-
/**
|
|
85
|
-
* Validates an entity: checks for all expected params
|
|
86
|
-
* @param entity
|
|
87
|
-
*/
|
|
88
|
-
static isAccountEntity(entity: object): entity is AccountEntity;
|
|
89
|
-
/**
|
|
90
|
-
* Helper function to determine whether 2 accountInfo objects represent the same account
|
|
91
|
-
* @param accountA
|
|
92
|
-
* @param accountB
|
|
93
|
-
* @param compareClaims - If set to true idTokenClaims will also be compared to determine account equality
|
|
94
|
-
*/
|
|
95
|
-
static accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null, compareClaims?: boolean): boolean;
|
|
96
|
-
}
|
|
44
|
+
};
|
|
97
45
|
//# sourceMappingURL=AccountEntity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AccountEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/AccountEntity.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AccountEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/AccountEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE3E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,aAAa,GAAG;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IACtC,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B,CAAC"}
|
|
@@ -25,8 +25,6 @@ export type CredentialEntity = {
|
|
|
25
25
|
tokenType?: AuthenticationScheme;
|
|
26
26
|
/** KeyId for PoP and SSH tokens stored in the kid claim */
|
|
27
27
|
keyId?: string;
|
|
28
|
-
/** Matches the SHA 256 hash of the claims object included in the token request */
|
|
29
|
-
requestedClaimsHash?: string;
|
|
30
28
|
/** Timestamp when the entry was last updated */
|
|
31
29
|
lastUpdatedAt: string;
|
|
32
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/CredentialEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"CredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/CredentialEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,kDAAkD;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;CACzB,CAAC"}
|
|
@@ -14,156 +14,174 @@ export interface ICacheManager {
|
|
|
14
14
|
/**
|
|
15
15
|
* fetch the account entity from the platform cache
|
|
16
16
|
* @param accountKey
|
|
17
|
+
* @param correlationId
|
|
17
18
|
*/
|
|
18
19
|
getAccount(accountKey: string, correlationId: string): AccountEntity | null;
|
|
19
20
|
/**
|
|
20
21
|
* set account entity in the platform cache
|
|
21
22
|
* @param account
|
|
22
23
|
* @param correlationId
|
|
23
|
-
* @param kmsi
|
|
24
24
|
*/
|
|
25
25
|
setAccount(account: AccountEntity, correlationId: string, kmsi: boolean): Promise<void>;
|
|
26
26
|
/**
|
|
27
27
|
* fetch the idToken entity from the platform cache
|
|
28
28
|
* @param idTokenKey
|
|
29
|
+
* @param correlationId
|
|
29
30
|
*/
|
|
30
31
|
getIdTokenCredential(idTokenKey: string, correlationId: string): IdTokenEntity | null;
|
|
31
32
|
/**
|
|
32
33
|
* set idToken entity to the platform cache
|
|
33
34
|
* @param idToken
|
|
34
35
|
* @param correlationId
|
|
35
|
-
* @param kmsi
|
|
36
36
|
*/
|
|
37
37
|
setIdTokenCredential(idToken: IdTokenEntity, correlationId: string, kmsi: boolean): Promise<void>;
|
|
38
38
|
/**
|
|
39
39
|
* fetch the idToken entity from the platform cache
|
|
40
40
|
* @param accessTokenKey
|
|
41
|
+
* @param correlationId
|
|
41
42
|
*/
|
|
42
43
|
getAccessTokenCredential(accessTokenKey: string, correlationId: string): AccessTokenEntity | null;
|
|
43
44
|
/**
|
|
44
45
|
* set idToken entity to the platform cache
|
|
45
46
|
* @param accessToken
|
|
46
47
|
* @param correlationId
|
|
47
|
-
* @param kmsi
|
|
48
48
|
*/
|
|
49
49
|
setAccessTokenCredential(accessToken: AccessTokenEntity, correlationId: string, kmsi: boolean): Promise<void>;
|
|
50
50
|
/**
|
|
51
51
|
* fetch the idToken entity from the platform cache
|
|
52
52
|
* @param refreshTokenKey
|
|
53
|
+
* @param correlationId
|
|
53
54
|
*/
|
|
54
55
|
getRefreshTokenCredential(refreshTokenKey: string, correlationId: string): RefreshTokenEntity | null;
|
|
55
56
|
/**
|
|
56
57
|
* set idToken entity to the platform cache
|
|
57
58
|
* @param refreshToken
|
|
58
59
|
* @param correlationId
|
|
59
|
-
* @param kmsi
|
|
60
60
|
*/
|
|
61
61
|
setRefreshTokenCredential(refreshToken: RefreshTokenEntity, correlationId: string, kmsi: boolean): Promise<void>;
|
|
62
62
|
/**
|
|
63
63
|
* fetch appMetadata entity from the platform cache
|
|
64
64
|
* @param appMetadataKey
|
|
65
|
+
* @param correlationId
|
|
65
66
|
*/
|
|
66
|
-
getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;
|
|
67
|
+
getAppMetadata(appMetadataKey: string, correlationId: string): AppMetadataEntity | null;
|
|
67
68
|
/**
|
|
68
69
|
* set appMetadata entity to the platform cache
|
|
69
70
|
* @param appMetadata
|
|
71
|
+
* @param correlationId
|
|
70
72
|
*/
|
|
71
73
|
setAppMetadata(appMetadata: AppMetadataEntity, correlationId: string): void;
|
|
72
74
|
/**
|
|
73
75
|
* fetch server telemetry entity from the platform cache
|
|
74
76
|
* @param serverTelemetryKey
|
|
77
|
+
* @param correlationId
|
|
75
78
|
*/
|
|
76
|
-
getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;
|
|
79
|
+
getServerTelemetry(serverTelemetryKey: string, correlationId: string): ServerTelemetryEntity | null;
|
|
77
80
|
/**
|
|
78
81
|
* set server telemetry entity to the platform cache
|
|
79
82
|
* @param serverTelemetryKey
|
|
80
83
|
* @param serverTelemetry
|
|
84
|
+
* @param correlationId
|
|
81
85
|
*/
|
|
82
86
|
setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity, correlationId: string): void;
|
|
83
87
|
/**
|
|
84
88
|
* fetch cloud discovery metadata entity from the platform cache
|
|
85
89
|
* @param key
|
|
90
|
+
* @param correlationId
|
|
86
91
|
*/
|
|
87
|
-
getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;
|
|
92
|
+
getAuthorityMetadata(key: string, correlationId: string): AuthorityMetadataEntity | null;
|
|
88
93
|
/**
|
|
89
94
|
* Get cache keys for authority metadata
|
|
95
|
+
* @param correlationId
|
|
90
96
|
*/
|
|
91
|
-
getAuthorityMetadataKeys(): Array<string>;
|
|
97
|
+
getAuthorityMetadataKeys(correlationId: string): Array<string>;
|
|
92
98
|
/**
|
|
93
99
|
* set cloud discovery metadata entity to the platform cache
|
|
94
100
|
* @param key
|
|
95
101
|
* @param value
|
|
102
|
+
* @param correlationId
|
|
96
103
|
*/
|
|
97
|
-
setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;
|
|
104
|
+
setAuthorityMetadata(key: string, value: AuthorityMetadataEntity, correlationId: string): void;
|
|
98
105
|
/**
|
|
99
106
|
* Provide an alias to find a matching AuthorityMetadataEntity in cache
|
|
100
107
|
* @param host
|
|
108
|
+
* @param correlationId
|
|
101
109
|
*/
|
|
102
|
-
getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null;
|
|
110
|
+
getAuthorityMetadataByAlias(host: string, correlationId: string): AuthorityMetadataEntity | null;
|
|
103
111
|
/**
|
|
104
112
|
* given an authority generates the cache key for authorityMetadata
|
|
105
113
|
* @param authority
|
|
114
|
+
* @param correlationId
|
|
106
115
|
*/
|
|
107
|
-
generateAuthorityMetadataCacheKey(authority: string): string;
|
|
116
|
+
generateAuthorityMetadataCacheKey(authority: string, correlationId: string): string;
|
|
108
117
|
/**
|
|
109
118
|
* fetch throttling entity from the platform cache
|
|
110
119
|
* @param throttlingCacheKey
|
|
120
|
+
* @param correlationId
|
|
111
121
|
*/
|
|
112
|
-
getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;
|
|
122
|
+
getThrottlingCache(throttlingCacheKey: string, correlationId: string): ThrottlingEntity | null;
|
|
113
123
|
/**
|
|
114
124
|
* set throttling entity to the platform cache
|
|
115
125
|
* @param throttlingCacheKey
|
|
116
126
|
* @param throttlingCache
|
|
127
|
+
* @param correlationId
|
|
117
128
|
*/
|
|
118
129
|
setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity, correlationId: string): void;
|
|
119
130
|
/**
|
|
120
131
|
* Returns all accounts in cache
|
|
132
|
+
* @param filter
|
|
133
|
+
* @param correlationId
|
|
121
134
|
*/
|
|
122
|
-
getAllAccounts(
|
|
135
|
+
getAllAccounts(filter: AccountFilter, correlationId: string): AccountInfo[];
|
|
123
136
|
/**
|
|
124
137
|
* saves a cache record
|
|
125
138
|
* @param cacheRecord
|
|
126
139
|
* @param correlationId
|
|
127
|
-
* @param kmsi
|
|
128
140
|
* @param storeInCache
|
|
129
141
|
*/
|
|
130
142
|
saveCacheRecord(cacheRecord: CacheRecord, correlationId: string, kmsi: boolean, storeInCache?: StoreInCache): Promise<void>;
|
|
131
143
|
/**
|
|
132
144
|
* retrieve accounts matching all provided filters; if no filter is set, get all accounts
|
|
133
|
-
* @param
|
|
134
|
-
* @param
|
|
135
|
-
* @param realm
|
|
145
|
+
* @param filter
|
|
146
|
+
* @param correlationId
|
|
136
147
|
*/
|
|
137
148
|
getAccountsFilteredBy(filter: AccountFilter, correlationId: string): AccountEntity[];
|
|
138
149
|
/**
|
|
139
150
|
* Get AccountInfo object based on provided filters
|
|
140
151
|
* @param filter
|
|
152
|
+
* @param correlationId
|
|
141
153
|
*/
|
|
142
154
|
getAccountInfoFilteredBy(filter: AccountFilter, correlationId: string): AccountInfo | null;
|
|
143
155
|
/**
|
|
144
156
|
* Removes all accounts and related tokens from cache.
|
|
157
|
+
* @param correlationId
|
|
145
158
|
*/
|
|
146
159
|
removeAllAccounts(correlationId: string): void;
|
|
147
160
|
/**
|
|
148
161
|
* returns a boolean if the given account is removed
|
|
149
162
|
* @param account
|
|
163
|
+
* @param correlationId
|
|
150
164
|
*/
|
|
151
165
|
removeAccount(account: AccountInfo, correlationId: string): void;
|
|
152
166
|
/**
|
|
153
167
|
* returns a boolean if the given account is removed
|
|
154
168
|
* @param account
|
|
169
|
+
* @param correlationId
|
|
155
170
|
*/
|
|
156
171
|
removeAccountContext(account: AccountInfo, correlationId: string): void;
|
|
157
172
|
/**
|
|
158
173
|
* @param key
|
|
174
|
+
* @param correlationId
|
|
159
175
|
*/
|
|
160
176
|
removeIdToken(key: string, correlationId: string): void;
|
|
161
177
|
/**
|
|
162
178
|
* @param key
|
|
179
|
+
* @param correlationId
|
|
163
180
|
*/
|
|
164
181
|
removeAccessToken(key: string, correlationId: string): void;
|
|
165
182
|
/**
|
|
166
183
|
* @param key
|
|
184
|
+
* @param correlationId
|
|
167
185
|
*/
|
|
168
186
|
removeRefreshToken(key: string, correlationId: string): void;
|
|
169
187
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ICacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ICacheManager.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B
|
|
1
|
+
{"version":3,"file":"ICacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ICacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Authority } from "../../authority/Authority.js";
|
|
2
|
+
import { ICrypto } from "../../crypto/ICrypto.js";
|
|
3
|
+
import { AccountInfo, TenantProfile } from "../../account/AccountInfo.js";
|
|
4
|
+
import { AuthorityType } from "../../authority/AuthorityType.js";
|
|
5
|
+
import { Logger } from "../../logger/Logger.js";
|
|
6
|
+
import { TokenClaims } from "../../account/TokenClaims.js";
|
|
7
|
+
import { AccountEntity } from "../entities/AccountEntity.js";
|
|
8
|
+
/**
|
|
9
|
+
* Generate Account Id key component as per the schema: <home_account_id>-<environment>
|
|
10
|
+
*/
|
|
11
|
+
export declare function generateAccountId(accountEntity: AccountEntity): string;
|
|
12
|
+
/**
|
|
13
|
+
* Returns the AccountInfo interface for this account.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getAccountInfo(accountEntity: AccountEntity): AccountInfo;
|
|
16
|
+
/**
|
|
17
|
+
* Returns true if the account entity is in single tenant format (outdated), false otherwise
|
|
18
|
+
*/
|
|
19
|
+
export declare function isSingleTenant(accountEntity: AccountEntity): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
|
|
22
|
+
* @param accountDetails
|
|
23
|
+
*/
|
|
24
|
+
export declare function createAccountEntity(accountDetails: {
|
|
25
|
+
homeAccountId: string;
|
|
26
|
+
idTokenClaims?: TokenClaims;
|
|
27
|
+
clientInfo?: string;
|
|
28
|
+
cloudGraphHostName?: string;
|
|
29
|
+
msGraphHost?: string;
|
|
30
|
+
environment?: string;
|
|
31
|
+
nativeAccountId?: string;
|
|
32
|
+
tenantProfiles?: Array<TenantProfile>;
|
|
33
|
+
}, authority: Authority, base64Decode?: (input: string) => string): AccountEntity;
|
|
34
|
+
/**
|
|
35
|
+
* Creates an AccountEntity object from AccountInfo
|
|
36
|
+
* @param accountInfo
|
|
37
|
+
* @param cloudGraphHostName
|
|
38
|
+
* @param msGraphHost
|
|
39
|
+
* @returns
|
|
40
|
+
*/
|
|
41
|
+
export declare function createAccountEntityFromAccountInfo(accountInfo: AccountInfo, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity;
|
|
42
|
+
/**
|
|
43
|
+
* Generate HomeAccountId from server response
|
|
44
|
+
* @param serverClientInfo
|
|
45
|
+
* @param authType
|
|
46
|
+
*/
|
|
47
|
+
export declare function generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, correlationId: string, idTokenClaims?: TokenClaims): string;
|
|
48
|
+
/**
|
|
49
|
+
* Validates an entity: checks for all expected params
|
|
50
|
+
* @param entity
|
|
51
|
+
*/
|
|
52
|
+
export declare function isAccountEntity(entity: object): entity is AccountEntity;
|
|
53
|
+
//# sourceMappingURL=AccountEntityUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountEntityUtils.d.ts","sourceRoot":"","sources":["../../../src/cache/utils/AccountEntityUtils.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAElD,OAAO,EACH,WAAW,EACX,aAAa,EAGhB,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EACH,WAAW,EAEd,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,MAAM,CAMtE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,CAmBxE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAC/B,cAAc,EAAE;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CACzC,EACD,SAAS,EAAE,SAAS,EACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GACzC,aAAa,CAuFf;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAC9C,WAAW,EAAE,WAAW,EACxB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACrB,aAAa,CAiBf;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACjC,gBAAgB,EAAE,MAAM,EACxB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,WAAW,GAC5B,MAAM,CAoBR;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,aAAa,CAavE"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/*! @azure/msal-common v16.0.0-beta.0 2025-12-05 */
|
|
2
|
+
'use strict';
|
|
3
|
+
import { CACHE_KEY_SEPARATOR, CACHE_ACCOUNT_TYPE_GENERIC, CACHE_ACCOUNT_TYPE_ADFS, CACHE_ACCOUNT_TYPE_MSSTS } from '../../utils/Constants.mjs';
|
|
4
|
+
import { buildClientInfo } from '../../account/ClientInfo.mjs';
|
|
5
|
+
import { buildTenantProfile } from '../../account/AccountInfo.mjs';
|
|
6
|
+
import { createClientAuthError } from '../../error/ClientAuthError.mjs';
|
|
7
|
+
import { AuthorityType } from '../../authority/AuthorityType.mjs';
|
|
8
|
+
import { getTenantIdFromIdTokenClaims } from '../../account/TokenClaims.mjs';
|
|
9
|
+
import { ProtocolMode } from '../../authority/ProtocolMode.mjs';
|
|
10
|
+
import { invalidCacheEnvironment } from '../../error/ClientAuthErrorCodes.mjs';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
14
|
+
* Licensed under the MIT License.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Generate Account Id key component as per the schema: <home_account_id>-<environment>
|
|
18
|
+
*/
|
|
19
|
+
function generateAccountId(accountEntity) {
|
|
20
|
+
const accountId = [
|
|
21
|
+
accountEntity.homeAccountId,
|
|
22
|
+
accountEntity.environment,
|
|
23
|
+
];
|
|
24
|
+
return accountId.join(CACHE_KEY_SEPARATOR).toLowerCase();
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the AccountInfo interface for this account.
|
|
28
|
+
*/
|
|
29
|
+
function getAccountInfo(accountEntity) {
|
|
30
|
+
return {
|
|
31
|
+
homeAccountId: accountEntity.homeAccountId,
|
|
32
|
+
environment: accountEntity.environment,
|
|
33
|
+
tenantId: accountEntity.realm,
|
|
34
|
+
username: accountEntity.username,
|
|
35
|
+
localAccountId: accountEntity.localAccountId,
|
|
36
|
+
loginHint: accountEntity.loginHint,
|
|
37
|
+
name: accountEntity.name,
|
|
38
|
+
nativeAccountId: accountEntity.nativeAccountId,
|
|
39
|
+
authorityType: accountEntity.authorityType,
|
|
40
|
+
// Deserialize tenant profiles array into a Map
|
|
41
|
+
tenantProfiles: new Map((accountEntity.tenantProfiles || []).map((tenantProfile) => {
|
|
42
|
+
return [tenantProfile.tenantId, tenantProfile];
|
|
43
|
+
})),
|
|
44
|
+
dataBoundary: accountEntity.dataBoundary,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns true if the account entity is in single tenant format (outdated), false otherwise
|
|
49
|
+
*/
|
|
50
|
+
function isSingleTenant(accountEntity) {
|
|
51
|
+
return !accountEntity.tenantProfiles;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
|
|
55
|
+
* @param accountDetails
|
|
56
|
+
*/
|
|
57
|
+
function createAccountEntity(accountDetails, authority, base64Decode) {
|
|
58
|
+
let authorityType;
|
|
59
|
+
if (authority.authorityType === AuthorityType.Adfs) {
|
|
60
|
+
authorityType = CACHE_ACCOUNT_TYPE_ADFS;
|
|
61
|
+
}
|
|
62
|
+
else if (authority.protocolMode === ProtocolMode.OIDC) {
|
|
63
|
+
authorityType = CACHE_ACCOUNT_TYPE_GENERIC;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
authorityType = CACHE_ACCOUNT_TYPE_MSSTS;
|
|
67
|
+
}
|
|
68
|
+
let clientInfo;
|
|
69
|
+
let dataBoundary;
|
|
70
|
+
if (accountDetails.clientInfo && base64Decode) {
|
|
71
|
+
clientInfo = buildClientInfo(accountDetails.clientInfo, base64Decode);
|
|
72
|
+
if (clientInfo.xms_tdbr) {
|
|
73
|
+
dataBoundary = clientInfo.xms_tdbr === "EU" ? "EU" : "None";
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
const env = accountDetails.environment ||
|
|
77
|
+
(authority && authority.getPreferredCache());
|
|
78
|
+
if (!env) {
|
|
79
|
+
throw createClientAuthError(invalidCacheEnvironment);
|
|
80
|
+
}
|
|
81
|
+
/*
|
|
82
|
+
* In B2C scenarios the emails claim is used instead of preferred_username and it is an array.
|
|
83
|
+
* In most cases it will contain a single email. This field should not be relied upon if a custom
|
|
84
|
+
* policy is configured to return more than 1 email.
|
|
85
|
+
*/
|
|
86
|
+
const preferredUsername = accountDetails.idTokenClaims?.preferred_username ||
|
|
87
|
+
accountDetails.idTokenClaims?.upn;
|
|
88
|
+
const email = accountDetails.idTokenClaims?.emails
|
|
89
|
+
? accountDetails.idTokenClaims.emails[0]
|
|
90
|
+
: null;
|
|
91
|
+
const username = preferredUsername || email || "";
|
|
92
|
+
const loginHint = accountDetails.idTokenClaims?.login_hint;
|
|
93
|
+
const realm = clientInfo?.utid ||
|
|
94
|
+
getTenantIdFromIdTokenClaims(accountDetails.idTokenClaims) ||
|
|
95
|
+
""; // non-AAD scenarios can have empty realm
|
|
96
|
+
// How do you account for MSA CID here?
|
|
97
|
+
const localAccountId = clientInfo?.uid ||
|
|
98
|
+
accountDetails.idTokenClaims?.oid ||
|
|
99
|
+
accountDetails.idTokenClaims?.sub ||
|
|
100
|
+
"";
|
|
101
|
+
let tenantProfiles;
|
|
102
|
+
if (accountDetails.tenantProfiles) {
|
|
103
|
+
tenantProfiles = accountDetails.tenantProfiles;
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const tenantProfile = buildTenantProfile(accountDetails.homeAccountId, localAccountId, realm, accountDetails.idTokenClaims);
|
|
107
|
+
tenantProfiles = [tenantProfile];
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
homeAccountId: accountDetails.homeAccountId,
|
|
111
|
+
environment: env,
|
|
112
|
+
realm: realm,
|
|
113
|
+
localAccountId: localAccountId,
|
|
114
|
+
username: username,
|
|
115
|
+
authorityType: authorityType,
|
|
116
|
+
loginHint: loginHint,
|
|
117
|
+
clientInfo: accountDetails.clientInfo,
|
|
118
|
+
name: accountDetails.idTokenClaims?.name || "",
|
|
119
|
+
lastModificationTime: undefined,
|
|
120
|
+
lastModificationApp: undefined,
|
|
121
|
+
cloudGraphHostName: accountDetails.cloudGraphHostName,
|
|
122
|
+
msGraphHost: accountDetails.msGraphHost,
|
|
123
|
+
nativeAccountId: accountDetails.nativeAccountId,
|
|
124
|
+
tenantProfiles: tenantProfiles,
|
|
125
|
+
dataBoundary,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Creates an AccountEntity object from AccountInfo
|
|
130
|
+
* @param accountInfo
|
|
131
|
+
* @param cloudGraphHostName
|
|
132
|
+
* @param msGraphHost
|
|
133
|
+
* @returns
|
|
134
|
+
*/
|
|
135
|
+
function createAccountEntityFromAccountInfo(accountInfo, cloudGraphHostName, msGraphHost) {
|
|
136
|
+
return {
|
|
137
|
+
authorityType: accountInfo.authorityType || CACHE_ACCOUNT_TYPE_GENERIC,
|
|
138
|
+
homeAccountId: accountInfo.homeAccountId,
|
|
139
|
+
localAccountId: accountInfo.localAccountId,
|
|
140
|
+
nativeAccountId: accountInfo.nativeAccountId,
|
|
141
|
+
realm: accountInfo.tenantId,
|
|
142
|
+
environment: accountInfo.environment,
|
|
143
|
+
username: accountInfo.username,
|
|
144
|
+
loginHint: accountInfo.loginHint,
|
|
145
|
+
name: accountInfo.name,
|
|
146
|
+
cloudGraphHostName: cloudGraphHostName,
|
|
147
|
+
msGraphHost: msGraphHost,
|
|
148
|
+
tenantProfiles: Array.from(accountInfo.tenantProfiles?.values() || []),
|
|
149
|
+
dataBoundary: accountInfo.dataBoundary,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Generate HomeAccountId from server response
|
|
154
|
+
* @param serverClientInfo
|
|
155
|
+
* @param authType
|
|
156
|
+
*/
|
|
157
|
+
function generateHomeAccountId(serverClientInfo, authType, logger, cryptoObj, correlationId, idTokenClaims) {
|
|
158
|
+
// since ADFS/DSTS do not have tid and does not set client_info
|
|
159
|
+
if (!(authType === AuthorityType.Adfs || authType === AuthorityType.Dsts)) {
|
|
160
|
+
// for cases where there is clientInfo
|
|
161
|
+
if (serverClientInfo) {
|
|
162
|
+
try {
|
|
163
|
+
const clientInfo = buildClientInfo(serverClientInfo, cryptoObj.base64Decode);
|
|
164
|
+
if (clientInfo.uid && clientInfo.utid) {
|
|
165
|
+
return `${clientInfo.uid}.${clientInfo.utid}`;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
catch (e) { }
|
|
169
|
+
}
|
|
170
|
+
logger.warning("No client info in response", correlationId);
|
|
171
|
+
}
|
|
172
|
+
// default to "sub" claim
|
|
173
|
+
return idTokenClaims?.sub || "";
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Validates an entity: checks for all expected params
|
|
177
|
+
* @param entity
|
|
178
|
+
*/
|
|
179
|
+
function isAccountEntity(entity) {
|
|
180
|
+
if (!entity) {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
return (entity.hasOwnProperty("homeAccountId") &&
|
|
184
|
+
entity.hasOwnProperty("environment") &&
|
|
185
|
+
entity.hasOwnProperty("realm") &&
|
|
186
|
+
entity.hasOwnProperty("localAccountId") &&
|
|
187
|
+
entity.hasOwnProperty("username") &&
|
|
188
|
+
entity.hasOwnProperty("authorityType"));
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
export { createAccountEntity, createAccountEntityFromAccountInfo, generateAccountId, generateHomeAccountId, getAccountInfo, isAccountEntity, isSingleTenant };
|
|
192
|
+
//# sourceMappingURL=AccountEntityUtils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AccountEntityUtils.mjs","sources":["../../../src/cache/utils/AccountEntityUtils.ts"],"sourcesContent":[null],"names":["Constants.CACHE_KEY_SEPARATOR","Constants.CACHE_ACCOUNT_TYPE_ADFS","Constants.CACHE_ACCOUNT_TYPE_GENERIC","Constants.CACHE_ACCOUNT_TYPE_MSSTS","ClientAuthErrorCodes.invalidCacheEnvironment"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CloudDiscoveryMetadata } from "../../authority/CloudDiscoveryMetadata.js";
|
|
2
2
|
import { OpenIdConfigResponse } from "../../authority/OpenIdConfigResponse.js";
|
|
3
|
-
import
|
|
3
|
+
import * as Constants from "../../utils/Constants.js";
|
|
4
4
|
import { AccessTokenEntity } from "../entities/AccessTokenEntity.js";
|
|
5
5
|
import { AppMetadataEntity } from "../entities/AppMetadataEntity.js";
|
|
6
6
|
import { AuthorityMetadataEntity } from "../entities/AuthorityMetadataEntity.js";
|
|
@@ -26,7 +26,7 @@ export declare function createIdTokenEntity(homeAccountId: string, environment:
|
|
|
26
26
|
* @param expiresOn
|
|
27
27
|
* @param extExpiresOn
|
|
28
28
|
*/
|
|
29
|
-
export declare function createAccessTokenEntity(homeAccountId: string, environment: string, accessToken: string, clientId: string, tenantId: string, scopes: string, expiresOn: number, extExpiresOn: number, base64Decode: (input: string) => string, refreshOn?: number, tokenType?: AuthenticationScheme, userAssertionHash?: string, keyId?: string
|
|
29
|
+
export declare function createAccessTokenEntity(homeAccountId: string, environment: string, accessToken: string, clientId: string, tenantId: string, scopes: string, expiresOn: number, extExpiresOn: number, base64Decode: (input: string) => string, refreshOn?: number, tokenType?: Constants.AuthenticationScheme, userAssertionHash?: string, keyId?: string): AccessTokenEntity;
|
|
30
30
|
/**
|
|
31
31
|
* Create RefreshTokenEntity
|
|
32
32
|
* @param homeAccountId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheHelpers.d.ts","sourceRoot":"","sources":["../../../src/cache/utils/CacheHelpers.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAK/E,OAAO,
|
|
1
|
+
{"version":3,"file":"CacheHelpers.d.ts","sourceRoot":"","sources":["../../../src/cache/utils/CacheHelpers.ts"],"names":[],"mappings":"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"}
|