@azure/msal-common 16.12.0 → 16.14.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.mjs +1 -1
- package/dist/account/AuthToken.mjs +1 -1
- package/dist/account/CcsCredential.mjs +1 -1
- package/dist/account/ClientInfo.mjs +1 -1
- package/dist/account/TokenClaims.mjs +1 -1
- package/dist/authority/Authority.mjs +2 -4
- package/dist/authority/Authority.mjs.map +1 -1
- package/dist/authority/AuthorityFactory.mjs +1 -1
- package/dist/authority/AuthorityMetadata.mjs +2 -14
- package/dist/authority/AuthorityMetadata.mjs.map +1 -1
- package/dist/authority/AuthorityOptions.mjs +1 -3
- package/dist/authority/AuthorityOptions.mjs.map +1 -1
- package/dist/authority/AuthorityType.mjs +1 -2
- package/dist/authority/AuthorityType.mjs.map +1 -1
- package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist/authority/ProtocolMode.mjs +1 -1
- package/dist/authority/RegionDiscovery.mjs +1 -1
- package/dist/cache/CacheManager.mjs +45 -23
- package/dist/cache/CacheManager.mjs.map +1 -1
- package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist/cache/utils/AccountEntityUtils.mjs +3 -3
- package/dist/cache/utils/AccountEntityUtils.mjs.map +1 -1
- package/dist/cache/utils/CacheHelpers.mjs +10 -3
- package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
- package/dist/client/AuthorizationCodeClient.mjs +5 -4
- package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist/client/RefreshTokenClient.mjs +12 -4
- package/dist/client/RefreshTokenClient.mjs.map +1 -1
- package/dist/client/SilentFlowClient.mjs +22 -3
- package/dist/client/SilentFlowClient.mjs.map +1 -1
- package/dist/config/ClientConfiguration.mjs +6 -3
- package/dist/config/ClientConfiguration.mjs.map +1 -1
- package/dist/constants/AADServerParamKeys.mjs +3 -2
- package/dist/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist/crypto/DpopProofGenerator.mjs +153 -0
- package/dist/crypto/DpopProofGenerator.mjs.map +1 -0
- package/dist/crypto/ICrypto.mjs +16 -11
- package/dist/crypto/ICrypto.mjs.map +1 -1
- package/dist/crypto/ITokenBindingKeyManager.mjs +28 -0
- package/dist/crypto/ITokenBindingKeyManager.mjs.map +1 -0
- package/dist/crypto/JoseHeader.mjs +38 -11
- package/dist/crypto/JoseHeader.mjs.map +1 -1
- package/dist/crypto/PopTokenGenerator.mjs +28 -5
- package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
- package/dist/error/AuthError.mjs +1 -1
- package/dist/error/AuthErrorCodes.mjs +1 -1
- package/dist/error/CacheError.mjs +1 -1
- package/dist/error/CacheErrorCodes.mjs +1 -1
- package/dist/error/ClientAuthError.mjs +1 -1
- package/dist/error/ClientAuthErrorCodes.mjs +3 -2
- package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist/error/ClientConfigurationError.mjs +1 -1
- package/dist/error/ClientConfigurationErrorCodes.mjs +6 -3
- package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -1
- package/dist/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist/error/JoseHeaderError.mjs +1 -1
- package/dist/error/JoseHeaderErrorCodes.mjs +5 -3
- package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -1
- package/dist/error/NetworkError.mjs +1 -1
- package/dist/error/PlatformBrokerError.mjs +1 -1
- package/dist/error/ServerError.mjs +1 -1
- package/dist/index-node.mjs +3 -2
- package/dist/index-node.mjs.map +1 -1
- package/dist/index.mjs +3 -2
- package/dist/index.mjs.map +1 -1
- package/dist/logger/Logger.mjs +1 -1
- package/dist/network/INetworkModule.mjs +1 -1
- package/dist/network/RequestThumbprint.mjs +1 -1
- package/dist/network/ThrottlingUtils.mjs +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/protocol/Authorize.mjs +1 -1
- package/dist/protocol/Token.mjs +22 -4
- package/dist/protocol/Token.mjs.map +1 -1
- package/dist/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist/request/BaseAuthRequest.mjs +1 -1
- package/dist/request/BaseAuthRequest.mjs.map +1 -1
- package/dist/request/RequestParameterBuilder.mjs +8 -4
- package/dist/request/RequestParameterBuilder.mjs.map +1 -1
- package/dist/request/ScopeSet.mjs +1 -1
- package/dist/response/ResponseHandler.mjs +65 -9
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
- package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
- package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
- package/dist/url/UrlString.mjs +1 -1
- package/dist/utils/ClientAssertionUtils.mjs +1 -1
- package/dist/utils/Constants.mjs +6 -3
- package/dist/utils/Constants.mjs.map +1 -1
- package/dist/utils/FunctionWrappers.mjs +1 -1
- package/dist/utils/ObjectUtils.mjs +28 -0
- package/dist/utils/ObjectUtils.mjs.map +1 -0
- package/dist/utils/ProtocolUtils.mjs +1 -1
- package/dist/utils/StringUtils.mjs +1 -1
- package/dist/utils/TimeUtils.mjs +1 -1
- package/dist/utils/UrlUtils.mjs +1 -1
- package/dist-browser/account/AccountInfo.mjs +1 -1
- package/dist-browser/account/AuthToken.mjs +1 -1
- package/dist-browser/account/CcsCredential.mjs +1 -1
- package/dist-browser/account/ClientInfo.mjs +1 -1
- package/dist-browser/account/TokenClaims.mjs +1 -1
- package/dist-browser/authority/Authority.mjs +2 -4
- package/dist-browser/authority/Authority.mjs.map +1 -1
- package/dist-browser/authority/AuthorityFactory.mjs +1 -1
- package/dist-browser/authority/AuthorityMetadata.mjs +2 -14
- package/dist-browser/authority/AuthorityMetadata.mjs.map +1 -1
- package/dist-browser/authority/AuthorityOptions.mjs +1 -3
- package/dist-browser/authority/AuthorityOptions.mjs.map +1 -1
- package/dist-browser/authority/AuthorityType.mjs +1 -2
- package/dist-browser/authority/AuthorityType.mjs.map +1 -1
- package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
- package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
- package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
- package/dist-browser/authority/ProtocolMode.mjs +1 -1
- package/dist-browser/authority/RegionDiscovery.mjs +1 -1
- package/dist-browser/cache/CacheManager.mjs +45 -23
- package/dist-browser/cache/CacheManager.mjs.map +1 -1
- package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
- package/dist-browser/cache/utils/AccountEntityUtils.mjs +3 -3
- package/dist-browser/cache/utils/AccountEntityUtils.mjs.map +1 -1
- package/dist-browser/cache/utils/CacheHelpers.mjs +10 -3
- package/dist-browser/cache/utils/CacheHelpers.mjs.map +1 -1
- package/dist-browser/client/AuthorizationCodeClient.mjs +5 -4
- package/dist-browser/client/AuthorizationCodeClient.mjs.map +1 -1
- package/dist-browser/client/RefreshTokenClient.mjs +12 -4
- package/dist-browser/client/RefreshTokenClient.mjs.map +1 -1
- package/dist-browser/client/SilentFlowClient.mjs +22 -3
- package/dist-browser/client/SilentFlowClient.mjs.map +1 -1
- package/dist-browser/config/ClientConfiguration.mjs +6 -3
- package/dist-browser/config/ClientConfiguration.mjs.map +1 -1
- package/dist-browser/constants/AADServerParamKeys.mjs +3 -2
- package/dist-browser/constants/AADServerParamKeys.mjs.map +1 -1
- package/dist-browser/crypto/DpopProofGenerator.mjs +153 -0
- package/dist-browser/crypto/DpopProofGenerator.mjs.map +1 -0
- package/dist-browser/crypto/ICrypto.mjs +16 -11
- package/dist-browser/crypto/ICrypto.mjs.map +1 -1
- package/dist-browser/crypto/ITokenBindingKeyManager.mjs +28 -0
- package/dist-browser/crypto/ITokenBindingKeyManager.mjs.map +1 -0
- package/dist-browser/crypto/JoseHeader.mjs +38 -11
- package/dist-browser/crypto/JoseHeader.mjs.map +1 -1
- package/dist-browser/crypto/PopTokenGenerator.mjs +28 -5
- package/dist-browser/crypto/PopTokenGenerator.mjs.map +1 -1
- package/dist-browser/error/AuthError.mjs +1 -1
- package/dist-browser/error/AuthErrorCodes.mjs +1 -1
- package/dist-browser/error/CacheError.mjs +1 -1
- package/dist-browser/error/CacheErrorCodes.mjs +1 -1
- package/dist-browser/error/ClientAuthError.mjs +1 -1
- package/dist-browser/error/ClientAuthErrorCodes.mjs +3 -2
- package/dist-browser/error/ClientAuthErrorCodes.mjs.map +1 -1
- package/dist-browser/error/ClientConfigurationError.mjs +1 -1
- package/dist-browser/error/ClientConfigurationErrorCodes.mjs +6 -3
- package/dist-browser/error/ClientConfigurationErrorCodes.mjs.map +1 -1
- package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
- package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
- package/dist-browser/error/JoseHeaderError.mjs +1 -1
- package/dist-browser/error/JoseHeaderErrorCodes.mjs +5 -3
- package/dist-browser/error/JoseHeaderErrorCodes.mjs.map +1 -1
- package/dist-browser/error/NetworkError.mjs +1 -1
- package/dist-browser/error/PlatformBrokerError.mjs +1 -1
- package/dist-browser/error/ServerError.mjs +1 -1
- package/dist-browser/index-browser.mjs +3 -2
- package/dist-browser/index-browser.mjs.map +1 -1
- package/dist-browser/index.mjs +3 -2
- package/dist-browser/index.mjs.map +1 -1
- package/dist-browser/log-strings-mapping.json +13 -5
- package/dist-browser/logger/Logger.mjs +1 -1
- package/dist-browser/network/INetworkModule.mjs +1 -1
- package/dist-browser/network/RequestThumbprint.mjs +1 -1
- package/dist-browser/network/ThrottlingUtils.mjs +1 -1
- package/dist-browser/packageMetadata.mjs +2 -2
- package/dist-browser/protocol/Authorize.mjs +1 -1
- package/dist-browser/protocol/Token.mjs +22 -4
- package/dist-browser/protocol/Token.mjs.map +1 -1
- package/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
- package/dist-browser/request/BaseAuthRequest.mjs +1 -1
- package/dist-browser/request/BaseAuthRequest.mjs.map +1 -1
- package/dist-browser/request/RequestParameterBuilder.mjs +8 -4
- package/dist-browser/request/RequestParameterBuilder.mjs.map +1 -1
- package/dist-browser/request/ScopeSet.mjs +1 -1
- package/dist-browser/response/ResponseHandler.mjs +65 -9
- package/dist-browser/response/ResponseHandler.mjs.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceClient.mjs +1 -1
- package/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
- package/dist-browser/telemetry/performance/PerformanceEvent.mjs.map +1 -1
- package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
- package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
- package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
- package/dist-browser/url/UrlString.mjs +1 -1
- package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
- package/dist-browser/utils/Constants.mjs +6 -3
- package/dist-browser/utils/Constants.mjs.map +1 -1
- package/dist-browser/utils/FunctionWrappers.mjs +1 -1
- package/dist-browser/utils/ObjectUtils.mjs +28 -0
- package/dist-browser/utils/ObjectUtils.mjs.map +1 -0
- package/dist-browser/utils/ProtocolUtils.mjs +1 -1
- package/dist-browser/utils/StringUtils.mjs +1 -1
- package/dist-browser/utils/TimeUtils.mjs +1 -1
- package/dist-browser/utils/UrlUtils.mjs +1 -1
- package/lib/index-browser.cjs +5 -67
- package/lib/index-browser.cjs.map +1 -1
- package/lib/{index-node-3p7V__ym.js → index-node-l_NIe8t5.js} +520 -83
- package/lib/index-node-l_NIe8t5.js.map +1 -0
- package/lib/index-node.cjs +4 -2
- package/lib/index-node.cjs.map +1 -1
- package/lib/index.cjs +5 -3
- package/lib/index.cjs.map +1 -1
- package/package.json +1 -1
- package/src/authority/Authority.ts +0 -2
- package/src/authority/AuthorityMetadata.ts +1 -13
- package/src/authority/AuthorityOptions.ts +0 -3
- package/src/authority/AuthorityType.ts +0 -1
- package/src/cache/CacheManager.ts +73 -35
- package/src/cache/utils/AccountEntityUtils.ts +2 -2
- package/src/cache/utils/CacheHelpers.ts +11 -1
- package/src/client/AuthorizationCodeClient.ts +11 -1
- package/src/client/RefreshTokenClient.ts +25 -1
- package/src/client/SilentFlowClient.ts +44 -2
- package/src/config/ClientConfiguration.ts +14 -1
- package/src/constants/AADServerParamKeys.ts +1 -0
- package/src/crypto/DpopProofGenerator.ts +92 -60
- package/src/crypto/ICrypto.ts +31 -26
- package/src/crypto/ITokenBindingKeyManager.ts +85 -0
- package/src/crypto/JoseHeader.ts +75 -14
- package/src/crypto/PopTokenGenerator.ts +62 -18
- package/src/crypto/PublicJsonWebKey.ts +24 -0
- package/src/error/ClientAuthErrorCodes.ts +1 -0
- package/src/error/ClientConfigurationErrorCodes.ts +4 -0
- package/src/error/JoseHeaderErrorCodes.ts +2 -0
- package/src/exports-common.ts +8 -0
- package/src/packageMetadata.ts +1 -1
- package/src/protocol/Token.ts +44 -1
- package/src/request/BaseAuthRequest.ts +5 -0
- package/src/request/CommonAuthorizationUrlRequest.ts +5 -0
- package/src/request/RequestParameterBuilder.ts +7 -3
- package/src/response/AuthenticationResult.ts +2 -0
- package/src/response/ResponseHandler.ts +115 -16
- package/src/telemetry/performance/PerformanceEvent.ts +22 -0
- package/src/utils/Constants.ts +4 -1
- package/src/utils/ObjectUtils.ts +31 -0
- package/types/authority/Authority.d.ts.map +1 -1
- package/types/authority/AuthorityMetadata.d.ts.map +1 -1
- package/types/authority/AuthorityOptions.d.ts +0 -1
- package/types/authority/AuthorityOptions.d.ts.map +1 -1
- package/types/authority/AuthorityType.d.ts +0 -1
- package/types/authority/AuthorityType.d.ts.map +1 -1
- package/types/cache/CacheManager.d.ts +5 -1
- package/types/cache/CacheManager.d.ts.map +1 -1
- package/types/cache/utils/CacheHelpers.d.ts.map +1 -1
- package/types/client/AuthorizationCodeClient.d.ts.map +1 -1
- package/types/client/RefreshTokenClient.d.ts.map +1 -1
- package/types/client/SilentFlowClient.d.ts.map +1 -1
- package/types/config/ClientConfiguration.d.ts +5 -1
- package/types/config/ClientConfiguration.d.ts.map +1 -1
- package/types/constants/AADServerParamKeys.d.ts +1 -0
- package/types/constants/AADServerParamKeys.d.ts.map +1 -1
- package/types/crypto/DpopProofGenerator.d.ts +16 -36
- package/types/crypto/DpopProofGenerator.d.ts.map +1 -1
- package/types/crypto/ICrypto.d.ts +10 -9
- package/types/crypto/ICrypto.d.ts.map +1 -1
- package/types/crypto/ITokenBindingKeyManager.d.ts +42 -0
- package/types/crypto/ITokenBindingKeyManager.d.ts.map +1 -0
- package/types/crypto/JoseHeader.d.ts +18 -5
- package/types/crypto/JoseHeader.d.ts.map +1 -1
- package/types/crypto/PopTokenGenerator.d.ts +3 -1
- package/types/crypto/PopTokenGenerator.d.ts.map +1 -1
- package/types/crypto/PublicJsonWebKey.d.ts +20 -0
- package/types/crypto/PublicJsonWebKey.d.ts.map +1 -0
- package/types/error/ClientAuthErrorCodes.d.ts +1 -0
- package/types/error/ClientAuthErrorCodes.d.ts.map +1 -1
- package/types/error/ClientConfigurationErrorCodes.d.ts +3 -0
- package/types/error/ClientConfigurationErrorCodes.d.ts.map +1 -1
- package/types/error/JoseHeaderErrorCodes.d.ts +2 -0
- package/types/error/JoseHeaderErrorCodes.d.ts.map +1 -1
- package/types/exports-common.d.ts +4 -2
- package/types/exports-common.d.ts.map +1 -1
- package/types/packageMetadata.d.ts +1 -1
- package/types/protocol/Token.d.ts +7 -0
- package/types/protocol/Token.d.ts.map +1 -1
- package/types/request/BaseAuthRequest.d.ts +5 -0
- package/types/request/BaseAuthRequest.d.ts.map +1 -1
- package/types/request/CommonAuthorizationUrlRequest.d.ts +5 -0
- package/types/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
- package/types/request/RequestParameterBuilder.d.ts +2 -2
- package/types/request/RequestParameterBuilder.d.ts.map +1 -1
- package/types/response/AuthenticationResult.d.ts +2 -0
- package/types/response/AuthenticationResult.d.ts.map +1 -1
- package/types/response/ResponseHandler.d.ts +12 -2
- package/types/response/ResponseHandler.d.ts.map +1 -1
- package/types/telemetry/performance/PerformanceEvent.d.ts +18 -0
- package/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
- package/types/utils/Constants.d.ts +4 -1
- package/types/utils/Constants.d.ts.map +1 -1
- package/types/utils/ObjectUtils.d.ts +6 -0
- package/types/utils/ObjectUtils.d.ts.map +1 -0
- package/lib/index-node-3p7V__ym.js.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Environment-neutral representation of the public asymmetric JWK fields
|
|
8
|
+
* used by token-binding implementations.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export type PublicJsonWebKey = {
|
|
13
|
+
alg?: string;
|
|
14
|
+
crv?: string;
|
|
15
|
+
e?: string;
|
|
16
|
+
ext?: boolean;
|
|
17
|
+
key_ops?: string[];
|
|
18
|
+
kid?: string;
|
|
19
|
+
kty?: string;
|
|
20
|
+
n?: string;
|
|
21
|
+
use?: string;
|
|
22
|
+
x?: string;
|
|
23
|
+
y?: string;
|
|
24
|
+
};
|
|
@@ -27,6 +27,7 @@ export const invalidCacheEnvironment = "invalid_cache_environment";
|
|
|
27
27
|
export const noAccountFound = "no_account_found";
|
|
28
28
|
export const noCryptoObject = "no_crypto_object";
|
|
29
29
|
export const unexpectedCredentialType = "unexpected_credential_type";
|
|
30
|
+
export const dpopTokenTypeMismatch = "dpop_token_type_mismatch";
|
|
30
31
|
export const tokenRefreshRequired = "token_refresh_required";
|
|
31
32
|
export const tokenClaimsCnfRequiredForSignedJwt =
|
|
32
33
|
"token_claims_cnf_required_for_signedjwt";
|
|
@@ -19,6 +19,8 @@ export const invalidAuthorityMetadata = "invalid_authority_metadata";
|
|
|
19
19
|
export const untrustedAuthority = "untrusted_authority";
|
|
20
20
|
export const missingSshJwk = "missing_ssh_jwk";
|
|
21
21
|
export const missingSshKid = "missing_ssh_kid";
|
|
22
|
+
export const unsupportedAuthenticationScheme =
|
|
23
|
+
"unsupported_authentication_scheme";
|
|
22
24
|
export const missingNonceAuthenticationHeader =
|
|
23
25
|
"missing_nonce_authentication_header";
|
|
24
26
|
export const invalidAuthenticationHeader = "invalid_authentication_header";
|
|
@@ -32,3 +34,5 @@ export const issuerValidationFailed = "issuer_validation_failed";
|
|
|
32
34
|
export const invalidResponseMode = "invalid_response_mode";
|
|
33
35
|
export const invalidDpopHtm = "invalid_dpop_htm";
|
|
34
36
|
export const invalidDpopHtu = "invalid_dpop_htu";
|
|
37
|
+
export const invalidDpopNonce = "invalid_dpop_nonce";
|
|
38
|
+
export const dpopMissingResourceContext = "dpop_missing_resource_context";
|
package/src/exports-common.ts
CHANGED
|
@@ -104,7 +104,14 @@ export {
|
|
|
104
104
|
PkceCodes,
|
|
105
105
|
DEFAULT_CRYPTO_IMPLEMENTATION,
|
|
106
106
|
SignedHttpRequestParameters,
|
|
107
|
+
JsonWebTokenAlgorithms,
|
|
107
108
|
} from "./crypto/ICrypto.js";
|
|
109
|
+
export {
|
|
110
|
+
ITokenBindingKeyManager,
|
|
111
|
+
DEFAULT_TOKEN_BINDING_KEY_MANAGER,
|
|
112
|
+
TokenBindingKeyProvisioningParameters,
|
|
113
|
+
} from "./crypto/ITokenBindingKeyManager.js";
|
|
114
|
+
export { PublicJsonWebKey } from "./crypto/PublicJsonWebKey.js";
|
|
108
115
|
|
|
109
116
|
export * as AuthorizeProtocol from "./protocol/Authorize.js";
|
|
110
117
|
export * as TokenProtocol from "./protocol/Token.js";
|
|
@@ -127,6 +134,7 @@ export { AuthorizationCodePayload } from "./response/AuthorizationCodePayload.js
|
|
|
127
134
|
export { AuthorizeResponse } from "./response/AuthorizeResponse.js";
|
|
128
135
|
export { ServerAuthorizationTokenResponse } from "./response/ServerAuthorizationTokenResponse.js";
|
|
129
136
|
export {
|
|
137
|
+
GenerateAuthenticationResultOptions,
|
|
130
138
|
ResponseHandler,
|
|
131
139
|
buildAccountToCache,
|
|
132
140
|
} from "./response/ResponseHandler.js";
|
package/src/packageMetadata.ts
CHANGED
package/src/protocol/Token.ts
CHANGED
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
import { CcsCredential, CcsCredentialType } from "../account/CcsCredential.js";
|
|
7
7
|
import { buildClientInfoFromHomeAccountId } from "../account/ClientInfo.js";
|
|
8
|
+
import { DpopProofGenerator } from "../crypto/DpopProofGenerator.js";
|
|
8
9
|
import { Logger } from "../logger/Logger.js";
|
|
9
10
|
import { BaseAuthRequest } from "../request/BaseAuthRequest.js";
|
|
10
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
AuthenticationScheme,
|
|
13
|
+
HeaderNames,
|
|
14
|
+
URL_FORM_CONTENT_TYPE,
|
|
15
|
+
} from "../utils/Constants.js";
|
|
11
16
|
import * as RequestParameterBuilder from "../request/RequestParameterBuilder.js";
|
|
12
17
|
import * as UrlUtils from "../utils/UrlUtils.js";
|
|
13
18
|
import { IPerformanceClient } from "../exports-browser-only.js";
|
|
@@ -29,6 +34,8 @@ import { invokeAsync } from "../utils/FunctionWrappers.js";
|
|
|
29
34
|
import * as PerformanceEvents from "../telemetry/performance/PerformanceEvents.js";
|
|
30
35
|
import { CacheManager } from "../cache/CacheManager.js";
|
|
31
36
|
import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager.js";
|
|
37
|
+
import { ICrypto } from "../crypto/ICrypto.js";
|
|
38
|
+
import { ITokenBindingKeyManager } from "../crypto/ITokenBindingKeyManager.js";
|
|
32
39
|
|
|
33
40
|
/**
|
|
34
41
|
* Creates default headers for requests to token endpoint
|
|
@@ -65,6 +72,42 @@ export function createTokenRequestHeaders(
|
|
|
65
72
|
return headers;
|
|
66
73
|
}
|
|
67
74
|
|
|
75
|
+
/**
|
|
76
|
+
* Adds the DPoP proof header for token endpoint requests when DPoP is requested.
|
|
77
|
+
* @internal
|
|
78
|
+
*/
|
|
79
|
+
export async function addDpopTokenProofHeader(
|
|
80
|
+
headers: Record<string, string>,
|
|
81
|
+
request: BaseAuthRequest,
|
|
82
|
+
tokenEndpoint: string,
|
|
83
|
+
cryptoUtils: ICrypto,
|
|
84
|
+
tokenBindingKeyManager: ITokenBindingKeyManager
|
|
85
|
+
): Promise<void> {
|
|
86
|
+
if (request.authenticationScheme !== AuthenticationScheme.DPOP) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const dpopProofGenerator = new DpopProofGenerator(
|
|
91
|
+
cryptoUtils,
|
|
92
|
+
tokenBindingKeyManager
|
|
93
|
+
);
|
|
94
|
+
const keyId = request.dpopJkt;
|
|
95
|
+
if (!keyId?.trim()) {
|
|
96
|
+
throw createClientAuthError(
|
|
97
|
+
ClientAuthErrorCodes.keyIdMissing,
|
|
98
|
+
request.correlationId
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
headers[HeaderNames.DPOP] = await dpopProofGenerator.generateTokenProof(
|
|
103
|
+
{
|
|
104
|
+
tokenEndpoint,
|
|
105
|
+
},
|
|
106
|
+
keyId,
|
|
107
|
+
request.correlationId
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
68
111
|
/**
|
|
69
112
|
* Creates query string for the /token request
|
|
70
113
|
* @param request
|
|
@@ -87,6 +87,11 @@ export type BaseAuthRequest = {
|
|
|
87
87
|
* Key ID to identify the public key for PoP token request
|
|
88
88
|
*/
|
|
89
89
|
popKid?: string;
|
|
90
|
+
/**
|
|
91
|
+
* JWK thumbprint for the browser-managed DPoP key bound to this request.
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
dpopJkt?: string;
|
|
90
95
|
/**
|
|
91
96
|
* Embedded client id. When specified, broker client id (brk_client_id) and redirect uri (brk_redirect_uri) params are set with values from the config, overriding the corresponding extra parameters, if present.
|
|
92
97
|
*/
|
|
@@ -73,4 +73,9 @@ export type CommonAuthorizationUrlRequest = BaseAuthRequest & {
|
|
|
73
73
|
* Indicates whether this authorization request is being initiated by a platform authentication broker instead of a standard web flow.
|
|
74
74
|
*/
|
|
75
75
|
platformBroker?: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Precomputed req_cnf value for platform-broker PoP authorization requests.
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
reqCnf?: string;
|
|
76
81
|
};
|
|
@@ -491,11 +491,15 @@ export function addExtraParameters(
|
|
|
491
491
|
|
|
492
492
|
/**
|
|
493
493
|
* Default optional idToken claims requested on all auth requests.
|
|
494
|
-
* signin_state enables KMSI detection; login_hint enables login hint propagation
|
|
494
|
+
* signin_state enables KMSI detection; login_hint enables login hint propagation;
|
|
495
|
+
* tenant_region_sub_scope identifies the sovereign enclave a tenant belongs to.
|
|
495
496
|
*/
|
|
496
497
|
const DEFAULT_ID_TOKEN_CLAIMS: Record<string, { essential: false }> = {
|
|
497
498
|
[Constants.ClaimsRequestKeys.SIGNIN_STATE]: { essential: false },
|
|
498
499
|
[Constants.ClaimsRequestKeys.LOGIN_HINT]: { essential: false },
|
|
500
|
+
[Constants.ClaimsRequestKeys.TENANT_REGION_SUB_SCOPE]: {
|
|
501
|
+
essential: false,
|
|
502
|
+
},
|
|
499
503
|
};
|
|
500
504
|
|
|
501
505
|
/**
|
|
@@ -570,8 +574,8 @@ function deepMergeClaims(
|
|
|
570
574
|
/**
|
|
571
575
|
* Parses claims JSON, optionally deep-merges a second client-originated claims string
|
|
572
576
|
* (`claimsToMerge`, e.g. `claimsFromClient`) with precedence on conflicting keys, merges
|
|
573
|
-
* default optional idToken claims (signin_state, login_hint), and appends client
|
|
574
|
-
* capabilities (xms_cc) to the access_token section
|
|
577
|
+
* default optional idToken claims (signin_state, login_hint, tenant_region_sub_scope), and appends client
|
|
578
|
+
* capabilities (xms_cc) to the access_token section
|
|
575
579
|
* Does not overwrite idToken claims already specified by the caller.
|
|
576
580
|
* @param claims - Existing claims JSON string from the request (may be undefined)
|
|
577
581
|
* @param clientCapabilities - Client capabilities array from configuration
|
|
@@ -14,6 +14,7 @@ import { AccountInfo } from "../account/AccountInfo.js";
|
|
|
14
14
|
* - idToken - Id token received as part of the response
|
|
15
15
|
* - idTokenClaims - MSAL-relevant ID token claims
|
|
16
16
|
* - accessToken - Access token or SSH certificate received as part of the response
|
|
17
|
+
* - dpopProof - DPoP proof JWT to send with the access token for resource requests
|
|
17
18
|
* - fromCache - Boolean denoting whether token came from cache
|
|
18
19
|
* - expiresOn - Javascript Date object representing relative expiration of access token
|
|
19
20
|
* - extExpiresOn - Javascript Date object representing extended relative expiration of access token in case of server outage
|
|
@@ -31,6 +32,7 @@ export type AuthenticationResult = {
|
|
|
31
32
|
idToken: string;
|
|
32
33
|
idTokenClaims: object;
|
|
33
34
|
accessToken: string;
|
|
35
|
+
dpopProof?: string;
|
|
34
36
|
fromCache: boolean;
|
|
35
37
|
expiresOn: Date | null;
|
|
36
38
|
extExpiresOn?: Date;
|
|
@@ -28,6 +28,11 @@ import * as AccountEntityUtils from "../cache/utils/AccountEntityUtils.js";
|
|
|
28
28
|
import * as CacheHelpers from "../cache/utils/CacheHelpers.js";
|
|
29
29
|
import { ICrypto } from "../crypto/ICrypto.js";
|
|
30
30
|
import { PopTokenGenerator } from "../crypto/PopTokenGenerator.js";
|
|
31
|
+
import { DpopProofGenerator } from "../crypto/DpopProofGenerator.js";
|
|
32
|
+
import {
|
|
33
|
+
DEFAULT_TOKEN_BINDING_KEY_MANAGER,
|
|
34
|
+
ITokenBindingKeyManager,
|
|
35
|
+
} from "../crypto/ITokenBindingKeyManager.js";
|
|
31
36
|
import {
|
|
32
37
|
ClientAuthErrorCodes,
|
|
33
38
|
createClientAuthError,
|
|
@@ -49,6 +54,15 @@ import { AuthenticationResult } from "./AuthenticationResult.js";
|
|
|
49
54
|
import { AuthorizationCodePayload } from "./AuthorizationCodePayload.js";
|
|
50
55
|
import { ServerAuthorizationTokenResponse } from "./ServerAuthorizationTokenResponse.js";
|
|
51
56
|
|
|
57
|
+
/** @internal */
|
|
58
|
+
export type GenerateAuthenticationResultOptions = {
|
|
59
|
+
idTokenClaims?: TokenClaims;
|
|
60
|
+
requestState?: RequestStateObject;
|
|
61
|
+
serverTokenResponse?: ServerAuthorizationTokenResponse;
|
|
62
|
+
requestId?: string;
|
|
63
|
+
tokenBindingKeyManager?: ITokenBindingKeyManager;
|
|
64
|
+
};
|
|
65
|
+
|
|
52
66
|
/**
|
|
53
67
|
* Class that handles response parsing.
|
|
54
68
|
* @internal
|
|
@@ -57,6 +71,7 @@ export class ResponseHandler {
|
|
|
57
71
|
private clientId: string;
|
|
58
72
|
private cacheStorage: CacheManager;
|
|
59
73
|
private cryptoObj: ICrypto;
|
|
74
|
+
private tokenBindingKeyManager: ITokenBindingKeyManager;
|
|
60
75
|
private logger: Logger;
|
|
61
76
|
private homeAccountIdentifier: string;
|
|
62
77
|
private performanceClient: IPerformanceClient;
|
|
@@ -70,11 +85,13 @@ export class ResponseHandler {
|
|
|
70
85
|
logger: Logger,
|
|
71
86
|
performanceClient: IPerformanceClient,
|
|
72
87
|
serializableCache: ISerializableTokenCache | null,
|
|
73
|
-
persistencePlugin: ICachePlugin | null
|
|
88
|
+
persistencePlugin: ICachePlugin | null,
|
|
89
|
+
tokenBindingKeyManager: ITokenBindingKeyManager = DEFAULT_TOKEN_BINDING_KEY_MANAGER
|
|
74
90
|
) {
|
|
75
91
|
this.clientId = clientId;
|
|
76
92
|
this.cacheStorage = cacheStorage;
|
|
77
93
|
this.cryptoObj = cryptoObj;
|
|
94
|
+
this.tokenBindingKeyManager = tokenBindingKeyManager;
|
|
78
95
|
this.logger = logger;
|
|
79
96
|
this.performanceClient = performanceClient;
|
|
80
97
|
this.serializableCache = serializableCache;
|
|
@@ -236,7 +253,31 @@ export class ResponseHandler {
|
|
|
236
253
|
|
|
237
254
|
// Add keyId from request to serverTokenResponse if defined
|
|
238
255
|
serverTokenResponse.key_id =
|
|
239
|
-
serverTokenResponse.key_id ||
|
|
256
|
+
serverTokenResponse.key_id ||
|
|
257
|
+
request.dpopJkt ||
|
|
258
|
+
request.sshKid ||
|
|
259
|
+
undefined;
|
|
260
|
+
if (
|
|
261
|
+
request.authenticationScheme === Constants.AuthenticationScheme.DPOP
|
|
262
|
+
) {
|
|
263
|
+
if (
|
|
264
|
+
serverTokenResponse.token_type?.toLowerCase() !==
|
|
265
|
+
Constants.AuthenticationScheme.DPOP.toLowerCase()
|
|
266
|
+
) {
|
|
267
|
+
this.performanceClient?.addFields(
|
|
268
|
+
{
|
|
269
|
+
dpopTokenTypeMismatch: serverTokenResponse.token_type,
|
|
270
|
+
},
|
|
271
|
+
request.correlationId
|
|
272
|
+
);
|
|
273
|
+
throw createClientAuthError(
|
|
274
|
+
ClientAuthErrorCodes.dpopTokenTypeMismatch,
|
|
275
|
+
request.correlationId
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
serverTokenResponse.token_type =
|
|
279
|
+
Constants.AuthenticationScheme.DPOP;
|
|
280
|
+
}
|
|
240
281
|
|
|
241
282
|
// Compute components once for entity storage (fallback if hash not provided by client)
|
|
242
283
|
const attributeTokenPartition = CacheHelpers.serializeAttributeTokens(
|
|
@@ -310,10 +351,12 @@ export class ResponseHandler {
|
|
|
310
351
|
false,
|
|
311
352
|
request,
|
|
312
353
|
this.performanceClient,
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
354
|
+
{
|
|
355
|
+
idTokenClaims,
|
|
356
|
+
requestState: requestStateObj,
|
|
357
|
+
requestId: serverRequestId,
|
|
358
|
+
tokenBindingKeyManager: this.tokenBindingKeyManager,
|
|
359
|
+
}
|
|
317
360
|
);
|
|
318
361
|
}
|
|
319
362
|
}
|
|
@@ -345,10 +388,13 @@ export class ResponseHandler {
|
|
|
345
388
|
false,
|
|
346
389
|
request,
|
|
347
390
|
this.performanceClient,
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
391
|
+
{
|
|
392
|
+
idTokenClaims,
|
|
393
|
+
requestState: requestStateObj,
|
|
394
|
+
serverTokenResponse,
|
|
395
|
+
requestId: serverRequestId,
|
|
396
|
+
tokenBindingKeyManager: this.tokenBindingKeyManager,
|
|
397
|
+
}
|
|
352
398
|
);
|
|
353
399
|
}
|
|
354
400
|
|
|
@@ -534,19 +580,26 @@ export class ResponseHandler {
|
|
|
534
580
|
fromTokenCache: boolean,
|
|
535
581
|
request: BaseAuthRequest,
|
|
536
582
|
performanceClient: IPerformanceClient,
|
|
537
|
-
|
|
538
|
-
requestState?: RequestStateObject,
|
|
539
|
-
serverTokenResponse?: ServerAuthorizationTokenResponse,
|
|
540
|
-
requestId?: string
|
|
583
|
+
options: GenerateAuthenticationResultOptions = {}
|
|
541
584
|
): Promise<AuthenticationResult> {
|
|
585
|
+
const {
|
|
586
|
+
idTokenClaims,
|
|
587
|
+
requestState,
|
|
588
|
+
serverTokenResponse,
|
|
589
|
+
requestId,
|
|
590
|
+
tokenBindingKeyManager = DEFAULT_TOKEN_BINDING_KEY_MANAGER,
|
|
591
|
+
} = options;
|
|
542
592
|
let accessToken: string = "";
|
|
543
593
|
let responseScopes: Array<string> = [];
|
|
544
594
|
let expiresOn: Date | null = null;
|
|
545
595
|
let extExpiresOn: Date | undefined;
|
|
546
596
|
let refreshOn: Date | undefined;
|
|
547
597
|
let familyId: string = "";
|
|
598
|
+
let dpopProof: string | undefined;
|
|
548
599
|
|
|
549
600
|
if (cacheRecord.accessToken) {
|
|
601
|
+
const accessTokenType =
|
|
602
|
+
cacheRecord.accessToken.tokenType?.toLowerCase();
|
|
550
603
|
/*
|
|
551
604
|
* if the request object has `popKid` property, `signPopToken` will be set to false and
|
|
552
605
|
* the token will be returned unsigned
|
|
@@ -557,7 +610,11 @@ export class ResponseHandler {
|
|
|
557
610
|
!request.popKid
|
|
558
611
|
) {
|
|
559
612
|
const popTokenGenerator: PopTokenGenerator =
|
|
560
|
-
new PopTokenGenerator(
|
|
613
|
+
new PopTokenGenerator(
|
|
614
|
+
cryptoObj,
|
|
615
|
+
tokenBindingKeyManager,
|
|
616
|
+
performanceClient
|
|
617
|
+
);
|
|
561
618
|
const { secret, keyId } = cacheRecord.accessToken;
|
|
562
619
|
|
|
563
620
|
if (!keyId) {
|
|
@@ -575,6 +632,30 @@ export class ResponseHandler {
|
|
|
575
632
|
} else {
|
|
576
633
|
accessToken = cacheRecord.accessToken.secret;
|
|
577
634
|
}
|
|
635
|
+
if (
|
|
636
|
+
accessTokenType ===
|
|
637
|
+
Constants.AuthenticationScheme.DPOP.toLowerCase()
|
|
638
|
+
) {
|
|
639
|
+
if (!cacheRecord.accessToken.keyId) {
|
|
640
|
+
throw createClientAuthError(
|
|
641
|
+
ClientAuthErrorCodes.keyIdMissing,
|
|
642
|
+
request.correlationId
|
|
643
|
+
);
|
|
644
|
+
}
|
|
645
|
+
const dpopProofGenerator = new DpopProofGenerator(
|
|
646
|
+
cryptoObj,
|
|
647
|
+
tokenBindingKeyManager
|
|
648
|
+
);
|
|
649
|
+
dpopProof = await dpopProofGenerator.generateResourceProof(
|
|
650
|
+
{
|
|
651
|
+
htu: request.resourceRequestUri,
|
|
652
|
+
htm: request.resourceRequestMethod,
|
|
653
|
+
accessToken: cacheRecord.accessToken.secret,
|
|
654
|
+
},
|
|
655
|
+
cacheRecord.accessToken.keyId,
|
|
656
|
+
request.correlationId
|
|
657
|
+
);
|
|
658
|
+
}
|
|
578
659
|
responseScopes = ScopeSet.fromString(
|
|
579
660
|
cacheRecord.accessToken.target,
|
|
580
661
|
request.correlationId
|
|
@@ -602,6 +683,19 @@ export class ResponseHandler {
|
|
|
602
683
|
const uid = idTokenClaims?.oid || idTokenClaims?.sub || "";
|
|
603
684
|
const tid = idTokenClaims?.tid || "";
|
|
604
685
|
|
|
686
|
+
/*
|
|
687
|
+
* Surface the sovereign enclave for telemetry. This runs for both freshly acquired
|
|
688
|
+
* and cache-served tokens because SilentFlowClient shares this method, so the field
|
|
689
|
+
* is present on silent requests that never hit the network.
|
|
690
|
+
*/
|
|
691
|
+
const regionSubScope = idTokenClaims?.tenant_region_sub_scope;
|
|
692
|
+
if (typeof regionSubScope === "string") {
|
|
693
|
+
performanceClient?.addFields(
|
|
694
|
+
{ regionSubScope },
|
|
695
|
+
request.correlationId
|
|
696
|
+
);
|
|
697
|
+
}
|
|
698
|
+
|
|
605
699
|
// for hybrid + native bridge enablement, send back the native account Id
|
|
606
700
|
if (serverTokenResponse?.spa_accountid && !!cacheRecord.account) {
|
|
607
701
|
// Set on deprecated top-level for downgrade compat
|
|
@@ -638,6 +732,7 @@ export class ResponseHandler {
|
|
|
638
732
|
idToken: cacheRecord?.idToken?.secret || "",
|
|
639
733
|
idTokenClaims: idTokenClaims || {},
|
|
640
734
|
accessToken: accessToken,
|
|
735
|
+
dpopProof,
|
|
641
736
|
fromCache: fromTokenCache,
|
|
642
737
|
expiresOn: expiresOn,
|
|
643
738
|
extExpiresOn: extExpiresOn,
|
|
@@ -645,7 +740,11 @@ export class ResponseHandler {
|
|
|
645
740
|
correlationId: request.correlationId,
|
|
646
741
|
requestId: requestId || "",
|
|
647
742
|
familyId: familyId,
|
|
648
|
-
tokenType:
|
|
743
|
+
tokenType:
|
|
744
|
+
cacheRecord.accessToken?.tokenType?.toLowerCase() ===
|
|
745
|
+
Constants.AuthenticationScheme.DPOP.toLowerCase()
|
|
746
|
+
? Constants.AuthenticationScheme.DPOP
|
|
747
|
+
: cacheRecord.accessToken?.tokenType || "",
|
|
649
748
|
state: requestState ? requestState.userRequestState : "",
|
|
650
749
|
cloudGraphHostName: cacheRecord.account?.cloudGraphHostName || "",
|
|
651
750
|
msGraphHost: cacheRecord.account?.msGraphHost || "",
|
|
@@ -202,6 +202,16 @@ export type PerformanceEvent = {
|
|
|
202
202
|
*/
|
|
203
203
|
cacheOutcome?: number;
|
|
204
204
|
|
|
205
|
+
/**
|
|
206
|
+
* Token binding key type used by crypto operations.
|
|
207
|
+
*/
|
|
208
|
+
tokenBindingKeyType?: string;
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* JOSE algorithm used by token binding crypto operations.
|
|
212
|
+
*/
|
|
213
|
+
tokenBindingKeyAlgorithm?: string;
|
|
214
|
+
|
|
205
215
|
/**
|
|
206
216
|
* Sub-measurements for internal use. To be deleted before flushing.
|
|
207
217
|
*/
|
|
@@ -434,11 +444,23 @@ export type PerformanceEvent = {
|
|
|
434
444
|
*/
|
|
435
445
|
hasAttributeTokens?: boolean;
|
|
436
446
|
|
|
447
|
+
/**
|
|
448
|
+
* Mismatched token_type returned for a DPoP request.
|
|
449
|
+
*/
|
|
450
|
+
dpopTokenTypeMismatch?: string;
|
|
451
|
+
|
|
437
452
|
/**
|
|
438
453
|
* Whether the user has "Keep Me Signed In" enabled
|
|
439
454
|
*/
|
|
440
455
|
kmsi?: boolean;
|
|
441
456
|
|
|
457
|
+
/**
|
|
458
|
+
* Sovereign enclave the authenticating tenant belongs to, taken verbatim from the
|
|
459
|
+
* `tenant_region_sub_scope` id token claim. Known values include "GCC", "DODCON"
|
|
460
|
+
* (GCC High) and "DOD".
|
|
461
|
+
*/
|
|
462
|
+
regionSubScope?: string;
|
|
463
|
+
|
|
442
464
|
/**
|
|
443
465
|
* Cached SSO capability status from the most recent SSO verification
|
|
444
466
|
*/
|
package/src/utils/Constants.ts
CHANGED
|
@@ -10,7 +10,6 @@ export const DEFAULT_AUTHORITY_HOST = "login.microsoftonline.com";
|
|
|
10
10
|
export const DEFAULT_COMMON_TENANT = "common";
|
|
11
11
|
// ADFS String
|
|
12
12
|
export const ADFS = "adfs";
|
|
13
|
-
export const DSTS = "dstsv2";
|
|
14
13
|
// Default AAD Instance Discovery Endpoint
|
|
15
14
|
export const AAD_INSTANCE_DISCOVERY_ENDPT = `${DEFAULT_AUTHORITY}discovery/instance?api-version=1.1&authorization_endpoint=`;
|
|
16
15
|
// CIAM URL
|
|
@@ -87,6 +86,7 @@ export const OIDC_SCOPES = [...OIDC_DEFAULT_SCOPES, EMAIL_SCOPE];
|
|
|
87
86
|
export const HeaderNames = {
|
|
88
87
|
CONTENT_TYPE: "Content-Type",
|
|
89
88
|
CONTENT_LENGTH: "Content-Length",
|
|
89
|
+
DPOP: "DPoP",
|
|
90
90
|
RETRY_AFTER: "Retry-After",
|
|
91
91
|
CCS_HEADER: "X-AnchorMailbox",
|
|
92
92
|
WWWAuthenticate: "WWW-Authenticate",
|
|
@@ -124,6 +124,7 @@ export const ClaimsRequestKeys = {
|
|
|
124
124
|
ID_TOKEN: "id_token",
|
|
125
125
|
SIGNIN_STATE: "signin_state",
|
|
126
126
|
LOGIN_HINT: "login_hint",
|
|
127
|
+
TENANT_REGION_SUB_SCOPE: "tenant_region_sub_scope",
|
|
127
128
|
} as const;
|
|
128
129
|
export type ClaimsRequestKeys =
|
|
129
130
|
(typeof ClaimsRequestKeys)[keyof typeof ClaimsRequestKeys];
|
|
@@ -264,6 +265,7 @@ export const SERVER_TELEM_UNKNOWN_ERROR: string = "unknown_error";
|
|
|
264
265
|
export const AuthenticationScheme = {
|
|
265
266
|
BEARER: "Bearer",
|
|
266
267
|
POP: "pop",
|
|
268
|
+
DPOP: "DPoP",
|
|
267
269
|
SSH: "ssh-cert",
|
|
268
270
|
} as const;
|
|
269
271
|
export type AuthenticationScheme =
|
|
@@ -342,6 +344,7 @@ export const JsonWebTokenTypes = {
|
|
|
342
344
|
Jwt: "JWT",
|
|
343
345
|
Jwk: "JWK",
|
|
344
346
|
Pop: "pop",
|
|
347
|
+
Dpop: "dpop+jwt",
|
|
345
348
|
} as const;
|
|
346
349
|
export type JsonWebTokenTypes =
|
|
347
350
|
(typeof JsonWebTokenTypes)[keyof typeof JsonWebTokenTypes];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Checks whether a value is a plain JSON-like object.
|
|
8
|
+
* Allows objects with null prototypes, but rejects arrays and object subclasses.
|
|
9
|
+
*/
|
|
10
|
+
export function isPlainObject(
|
|
11
|
+
value: unknown
|
|
12
|
+
): value is Record<string, unknown> {
|
|
13
|
+
if (
|
|
14
|
+
typeof value !== "object" ||
|
|
15
|
+
value === null ||
|
|
16
|
+
Object.prototype.toString.call(value) !== "[object Object]"
|
|
17
|
+
) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (Object.getPrototypeOf(value) === null) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
let proto = value;
|
|
26
|
+
while (Object.getPrototypeOf(proto) !== null) {
|
|
27
|
+
proto = Object.getPrototypeOf(proto);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return Object.getPrototypeOf(value) === proto;
|
|
31
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../../src/authority/Authority.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAY9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EACH,gBAAgB,EAEhB,sBAAsB,EACzB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF;;;;GAIG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,mBAAmB,CAAY;IAEvC,OAAO,CAAC,gCAAgC,CAAc;IAEtD,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC;IAEtC,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,QAAQ,CAA0B;IAE1C,OAAO,CAAC,eAAe,CAAkB;IAElC,uBAAuB,EAAE,uBAAuB,CAAC;IAExD,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAEhD,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAMjC;gBAGC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,cAAc,EAChC,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,kBAAkB,EACrC,eAAe,CAAC,EAAE,OAAO;IAwB7B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;
|
|
1
|
+
{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../../src/authority/Authority.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAEH,oBAAoB,EACvB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAKtC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAY9D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,EACH,gBAAgB,EAEhB,sBAAsB,EACzB,MAAM,uBAAuB,CAAC;AAS/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAKpF;;;;GAIG;AACH,qBAAa,SAAS;IAElB,OAAO,CAAC,mBAAmB,CAAY;IAEvC,OAAO,CAAC,gCAAgC,CAAc;IAEtD,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC;IAEtC,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,QAAQ,CAA0B;IAE1C,OAAO,CAAC,eAAe,CAAkB;IAElC,uBAAuB,EAAE,uBAAuB,CAAC;IAExD,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAS,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAEhD,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;IAEhC,OAAO,CAAC,eAAe,CAAU;IAEjC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAMjC;gBAGC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,cAAc,EAChC,YAAY,EAAE,aAAa,EAC3B,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,iBAAiB,EAAE,kBAAkB,EACrC,eAAe,CAAC,EAAE,OAAO;IAwB7B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAmBxB,IAAW,aAAa,IAAI,aAAa,CAExC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,gBAAgB,CAErC;IAED;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAIxC;IAED;;OAEG;IACH,IAAW,+BAA+B,IAAI,IAAI,CAOjD;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAW,qBAAqB,IAAI,MAAM,CASzC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CASjC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAWtC;IAED;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAgBtC;IAED;;OAEG;IACH,IAAW,qBAAqB,IAAI,MAAM,CASzC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,MAAM,CAS3B;IAED;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IA8CnB;;OAEG;IACH,SAAS,KAAK,kCAAkC,IAAI,MAAM,CAWzD;IAED;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACU,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCnD;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;IA0BhC;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;;OAGG;YACW,sBAAsB;IA8EpC;;;;;OAKG;IACH,OAAO,CAAC,sCAAsC;IAmE9C;;;;;OAKG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAiBrC;;;;OAIG;YACW,8BAA8B;IAwC5C;;OAEG;IACH,OAAO,CAAC,sCAAsC;IAQ9C;;;OAGG;YACW,qCAAqC;IAqDnD;;;;;OAKG;YACW,4BAA4B;IAkC1C,OAAO,CAAC,4CAA4C;IAwFpD;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAqE3C;;;;OAIG;YACW,oCAAoC;IA6GlD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CACpB,eAAe,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,MAAM;IAkBT;;;OAGG;IACH,MAAM,CAAC,oCAAoC,CACvC,IAAI,EAAE,MAAM,GACb,sBAAsB;IAQzB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAa3B;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI9B;;;OAGG;IACH,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIvD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,OAAO,CAAC,cAAc;IAqFtB;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAS9B;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IASpC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,wBAAwB;IAoDhC;;;;;OAKG;IACH,MAAM,CAAC,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIpD;;;;;OAKG;IACH,MAAM,CAAC,4BAA4B,CAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,MAAM,GACrB,MAAM;IA4BT;;;;;OAKG;IACH,MAAM,CAAC,8BAA8B,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,GACtB,oBAAoB;IA4BvB;;;;;;;;OAQG;IACH,MAAM,CAAC,sBAAsB,CACzB,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,MAAM;CAmBZ;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CACxC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACtB,MAAM,GAAG,SAAS,CAsBpB;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAI/D;AAED,wBAAgB,2BAA2B,CACvC,WAAW,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACvC,sBAAsB,CAqBxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorityMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,KAAK,WAAW,GAAG;IACf,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;IAC1D,yBAAyB,EAAE,8BAA8B,CAAC;CAC7D,CAAC;
|
|
1
|
+
{"version":3,"file":"AuthorityMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityMetadata.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,KAAK,WAAW,GAAG;IACf,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAAA;KAAE,CAAC;IAC1D,yBAAyB,EAAE,8BAA8B,CAAC;CAC7D,CAAC;AA+BF,eAAO,MAAM,cAAc,EAAE,WA2D5B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;CAAkC,CAAC;AAChE,eAAO,MAAM,yBAAyB,gCACM,CAAC;AAE7C,eAAO,MAAM,gCAAgC,EAAE,GAAG,CAAC,MAAM,CAAa,CAAC;AASvE;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACvC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACtB,MAAM,EAAE,CA2BV;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,sBAAsB,CAAC,EAAE,sBAAsB,EAAE,EACjD,MAAM,CAAC,EAAE,uBAAuB,GACjC,MAAM,EAAE,GAAG,IAAI,CA0BjB;AAED;;GAEG;AACH,wBAAgB,4CAA4C,CACxD,aAAa,EAAE,MAAM,GACtB,sBAAsB,GAAG,IAAI,CAM/B;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CACxD,QAAQ,EAAE,sBAAsB,EAAE,EAClC,aAAa,EAAE,MAAM,GACtB,sBAAsB,GAAG,IAAI,CAS/B"}
|
|
@@ -18,7 +18,6 @@ export type StaticAuthorityOptions = Partial<Pick<AuthorityOptions, "knownAuthor
|
|
|
18
18
|
export declare const AzureCloudInstance: {
|
|
19
19
|
readonly None: "none";
|
|
20
20
|
readonly AzurePublic: "https://login.microsoftonline.com";
|
|
21
|
-
readonly AzurePpe: "https://login.windows-ppe.net";
|
|
22
21
|
readonly AzureChina: "https://login.chinacloudapi.cn";
|
|
23
22
|
readonly AzureGermany: "https://login.microsoftonline.de";
|
|
24
23
|
readonly AzureUsGovernment: "https://login.microsoftonline.us";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorityOptions.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CACxC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAC7C,GAAG;IACA,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,8BAA8B,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,kBAAkB
|
|
1
|
+
{"version":3,"file":"AuthorityOptions.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAErF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,OAAO,CACxC,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAC7C,GAAG;IACA,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,8BAA8B,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;CAerB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAC1B,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorityType.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityType.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"AuthorityType.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityType.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AccountInfo } from "../account/AccountInfo.js";
|
|
2
2
|
import { StaticAuthorityOptions } from "../authority/AuthorityOptions.js";
|
|
3
3
|
import { ICrypto } from "../crypto/ICrypto.js";
|
|
4
|
+
import { ITokenBindingKeyManager } from "../crypto/ITokenBindingKeyManager.js";
|
|
4
5
|
import { Logger } from "../logger/Logger.js";
|
|
5
6
|
import { BaseAuthRequest } from "../request/BaseAuthRequest.js";
|
|
6
7
|
import { StoreInCache } from "../request/StoreInCache.js";
|
|
@@ -24,10 +25,11 @@ import { AccountFilter, AppMetadataCache, AppMetadataFilter, CredentialFilter, T
|
|
|
24
25
|
export declare abstract class CacheManager implements ICacheManager {
|
|
25
26
|
protected clientId: string;
|
|
26
27
|
protected cryptoImpl: ICrypto;
|
|
28
|
+
protected tokenBindingKeyManager: ITokenBindingKeyManager;
|
|
27
29
|
private commonLogger;
|
|
28
30
|
private staticAuthorityOptions?;
|
|
29
31
|
protected performanceClient: IPerformanceClient;
|
|
30
|
-
constructor(clientId: string, cryptoImpl: ICrypto, logger: Logger, performanceClient: IPerformanceClient, staticAuthorityOptions
|
|
32
|
+
constructor(clientId: string, cryptoImpl: ICrypto, logger: Logger, performanceClient: IPerformanceClient, staticAuthorityOptions: StaticAuthorityOptions | undefined, tokenBindingKeyManager: ITokenBindingKeyManager);
|
|
31
33
|
/**
|
|
32
34
|
* fetch the account entity from the platform cache
|
|
33
35
|
* @param accountKey
|
|
@@ -427,6 +429,8 @@ export declare abstract class CacheManager implements ICacheManager {
|
|
|
427
429
|
* @param tokenType
|
|
428
430
|
*/
|
|
429
431
|
private matchTokenType;
|
|
432
|
+
private matchAccessTokenWithAuthScheme;
|
|
433
|
+
private matchKeyBoundAccessToken;
|
|
430
434
|
/**
|
|
431
435
|
* Returns true if the credential's keyId matches the one in the request, false otherwise
|
|
432
436
|
* @param entity
|