@azure/msal-common 16.15.0 → 16.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/account/AccountInfo.mjs +1 -1
  2. package/dist/account/AuthToken.mjs +1 -1
  3. package/dist/account/CcsCredential.mjs +1 -1
  4. package/dist/account/ClientInfo.mjs +1 -1
  5. package/dist/account/TokenClaims.mjs +1 -1
  6. package/dist/authority/Authority.mjs +1 -1
  7. package/dist/authority/AuthorityFactory.mjs +1 -1
  8. package/dist/authority/AuthorityMetadata.mjs +1 -1
  9. package/dist/authority/AuthorityOptions.mjs +1 -1
  10. package/dist/authority/AuthorityType.mjs +1 -1
  11. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  12. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  13. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  14. package/dist/authority/ProtocolMode.mjs +1 -1
  15. package/dist/authority/RegionDiscovery.mjs +1 -1
  16. package/dist/cache/CacheManager.mjs +46 -9
  17. package/dist/cache/CacheManager.mjs.map +1 -1
  18. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  19. package/dist/cache/utils/AccountEntityUtils.mjs +1 -1
  20. package/dist/cache/utils/CacheHelpers.mjs +1 -1
  21. package/dist/client/AuthorizationCodeClient.mjs +1 -1
  22. package/dist/client/RefreshTokenClient.mjs +1 -1
  23. package/dist/client/SilentFlowClient.mjs +1 -1
  24. package/dist/config/ClientConfiguration.mjs +1 -1
  25. package/dist/constants/AADServerParamKeys.mjs +1 -1
  26. package/dist/crypto/DpopProofGenerator.mjs +17 -7
  27. package/dist/crypto/DpopProofGenerator.mjs.map +1 -1
  28. package/dist/crypto/ICrypto.mjs +1 -1
  29. package/dist/crypto/ITokenBindingKeyManager.mjs +1 -1
  30. package/dist/crypto/ITokenBindingKeyManager.mjs.map +1 -1
  31. package/dist/crypto/JoseHeader.mjs +1 -1
  32. package/dist/crypto/PopTokenGenerator.mjs +1 -1
  33. package/dist/error/AuthError.mjs +1 -1
  34. package/dist/error/AuthErrorCodes.mjs +1 -1
  35. package/dist/error/CacheError.mjs +1 -1
  36. package/dist/error/CacheErrorCodes.mjs +1 -1
  37. package/dist/error/ClientAuthError.mjs +1 -1
  38. package/dist/error/ClientAuthErrorCodes.mjs +1 -1
  39. package/dist/error/ClientConfigurationError.mjs +1 -1
  40. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  41. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  42. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  43. package/dist/error/JoseHeaderError.mjs +1 -1
  44. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  45. package/dist/error/NetworkError.mjs +1 -1
  46. package/dist/error/PlatformBrokerError.mjs +1 -1
  47. package/dist/error/ServerError.mjs +1 -1
  48. package/dist/index-node.mjs +1 -1
  49. package/dist/index.mjs +2 -1
  50. package/dist/index.mjs.map +1 -1
  51. package/dist/logger/Logger.mjs +1 -1
  52. package/dist/network/INetworkModule.mjs +1 -1
  53. package/dist/network/RequestThumbprint.mjs +1 -1
  54. package/dist/network/ResponseHeaders.mjs +1 -1
  55. package/dist/network/ThrottlingUtils.mjs +1 -1
  56. package/dist/packageMetadata.mjs +2 -2
  57. package/dist/protocol/Authorize.mjs +1 -1
  58. package/dist/protocol/Token.mjs +1 -1
  59. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  60. package/dist/request/BaseAuthRequest.mjs +1 -1
  61. package/dist/request/RequestParameterBuilder.mjs +1 -1
  62. package/dist/request/ScopeSet.mjs +1 -1
  63. package/dist/response/ResponseHandler.mjs +1 -1
  64. package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  65. package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  66. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  67. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  68. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  69. package/dist/url/UrlString.mjs +1 -1
  70. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  71. package/dist/utils/Constants.mjs +1 -1
  72. package/dist/utils/FunctionWrappers.mjs +1 -1
  73. package/dist/utils/ObjectUtils.mjs +1 -1
  74. package/dist/utils/ProtocolUtils.mjs +1 -1
  75. package/dist/utils/StringUtils.mjs +1 -1
  76. package/dist/utils/TimeUtils.mjs +1 -1
  77. package/dist/utils/UrlUtils.mjs +1 -1
  78. package/dist-browser/account/AccountInfo.mjs +1 -1
  79. package/dist-browser/account/AuthToken.mjs +1 -1
  80. package/dist-browser/account/CcsCredential.mjs +1 -1
  81. package/dist-browser/account/ClientInfo.mjs +1 -1
  82. package/dist-browser/account/TokenClaims.mjs +1 -1
  83. package/dist-browser/authority/Authority.mjs +1 -1
  84. package/dist-browser/authority/AuthorityFactory.mjs +1 -1
  85. package/dist-browser/authority/AuthorityMetadata.mjs +1 -1
  86. package/dist-browser/authority/AuthorityOptions.mjs +1 -1
  87. package/dist-browser/authority/AuthorityType.mjs +1 -1
  88. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  89. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  90. package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  91. package/dist-browser/authority/ProtocolMode.mjs +1 -1
  92. package/dist-browser/authority/RegionDiscovery.mjs +1 -1
  93. package/dist-browser/cache/CacheManager.mjs +46 -9
  94. package/dist-browser/cache/CacheManager.mjs.map +1 -1
  95. package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  96. package/dist-browser/cache/utils/AccountEntityUtils.mjs +1 -1
  97. package/dist-browser/cache/utils/CacheHelpers.mjs +1 -1
  98. package/dist-browser/client/AuthorizationCodeClient.mjs +1 -1
  99. package/dist-browser/client/RefreshTokenClient.mjs +1 -1
  100. package/dist-browser/client/SilentFlowClient.mjs +1 -1
  101. package/dist-browser/config/ClientConfiguration.mjs +1 -1
  102. package/dist-browser/constants/AADServerParamKeys.mjs +1 -1
  103. package/dist-browser/crypto/DpopProofGenerator.mjs +17 -7
  104. package/dist-browser/crypto/DpopProofGenerator.mjs.map +1 -1
  105. package/dist-browser/crypto/ICrypto.mjs +1 -1
  106. package/dist-browser/crypto/ITokenBindingKeyManager.mjs +1 -1
  107. package/dist-browser/crypto/ITokenBindingKeyManager.mjs.map +1 -1
  108. package/dist-browser/crypto/JoseHeader.mjs +1 -1
  109. package/dist-browser/crypto/PopTokenGenerator.mjs +1 -1
  110. package/dist-browser/error/AuthError.mjs +1 -1
  111. package/dist-browser/error/AuthErrorCodes.mjs +1 -1
  112. package/dist-browser/error/CacheError.mjs +1 -1
  113. package/dist-browser/error/CacheErrorCodes.mjs +1 -1
  114. package/dist-browser/error/ClientAuthError.mjs +1 -1
  115. package/dist-browser/error/ClientAuthErrorCodes.mjs +1 -1
  116. package/dist-browser/error/ClientConfigurationError.mjs +1 -1
  117. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
  118. package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
  119. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  120. package/dist-browser/error/JoseHeaderError.mjs +1 -1
  121. package/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
  122. package/dist-browser/error/NetworkError.mjs +1 -1
  123. package/dist-browser/error/PlatformBrokerError.mjs +1 -1
  124. package/dist-browser/error/ServerError.mjs +1 -1
  125. package/dist-browser/index-browser.mjs +2 -1
  126. package/dist-browser/index-browser.mjs.map +1 -1
  127. package/dist-browser/index.mjs +2 -1
  128. package/dist-browser/index.mjs.map +1 -1
  129. package/dist-browser/log-strings-mapping.json +2 -2
  130. package/dist-browser/logger/Logger.mjs +1 -1
  131. package/dist-browser/network/INetworkModule.mjs +1 -1
  132. package/dist-browser/network/RequestThumbprint.mjs +1 -1
  133. package/dist-browser/network/ResponseHeaders.mjs +1 -1
  134. package/dist-browser/network/ThrottlingUtils.mjs +1 -1
  135. package/dist-browser/packageMetadata.mjs +2 -2
  136. package/dist-browser/protocol/Authorize.mjs +1 -1
  137. package/dist-browser/protocol/Token.mjs +1 -1
  138. package/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
  139. package/dist-browser/request/BaseAuthRequest.mjs +1 -1
  140. package/dist-browser/request/RequestParameterBuilder.mjs +1 -1
  141. package/dist-browser/request/ScopeSet.mjs +1 -1
  142. package/dist-browser/response/ResponseHandler.mjs +1 -1
  143. package/dist-browser/telemetry/performance/PerformanceClient.mjs +1 -1
  144. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
  145. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  146. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  147. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  148. package/dist-browser/url/UrlString.mjs +1 -1
  149. package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
  150. package/dist-browser/utils/Constants.mjs +1 -1
  151. package/dist-browser/utils/FunctionWrappers.mjs +1 -1
  152. package/dist-browser/utils/ObjectUtils.mjs +1 -1
  153. package/dist-browser/utils/ProtocolUtils.mjs +1 -1
  154. package/dist-browser/utils/StringUtils.mjs +1 -1
  155. package/dist-browser/utils/TimeUtils.mjs +1 -1
  156. package/dist-browser/utils/UrlUtils.mjs +1 -1
  157. package/lib/index-browser.cjs +4 -2
  158. package/lib/index-browser.cjs.map +1 -1
  159. package/lib/{index-node-DD4RzKVr.js → index-node-C1QI6fAD.js} +65 -16
  160. package/lib/{index-node-DD4RzKVr.js.map → index-node-C1QI6fAD.js.map} +1 -1
  161. package/lib/index-node.cjs +2 -2
  162. package/lib/index.cjs +4 -2
  163. package/lib/index.cjs.map +1 -1
  164. package/package.json +1 -1
  165. package/src/cache/CacheManager.ts +87 -15
  166. package/src/crypto/DpopProofGenerator.ts +36 -5
  167. package/src/crypto/ITokenBindingKeyManager.ts +11 -0
  168. package/src/exports-browser-only.ts +5 -0
  169. package/src/packageMetadata.ts +1 -1
  170. package/types/cache/CacheManager.d.ts +9 -0
  171. package/types/cache/CacheManager.d.ts.map +1 -1
  172. package/types/crypto/DpopProofGenerator.d.ts +20 -3
  173. package/types/crypto/DpopProofGenerator.d.ts.map +1 -1
  174. package/types/crypto/ITokenBindingKeyManager.d.ts +8 -0
  175. package/types/crypto/ITokenBindingKeyManager.d.ts.map +1 -1
  176. package/types/exports-browser-only.d.ts +2 -0
  177. package/types/exports-browser-only.d.ts.map +1 -1
  178. package/types/packageMetadata.d.ts +1 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { AuthError } from './AuthError.mjs';
4
4
  import { interactionRequired, consentRequired, loginRequired, badToken, uiNotAllowed, interruptedUser } from './InteractionRequiredAuthErrorCodes.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { AuthError } from './AuthError.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { AuthError } from './AuthError.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { AuthError } from './AuthError.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { AuthError } from './AuthError.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import * as AADServerParamKeys from './constants/AADServerParamKeys.mjs';
4
4
  export { AADServerParamKeys };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import * as AADServerParamKeys from './constants/AADServerParamKeys.mjs';
4
4
  export { AADServerParamKeys };
@@ -39,6 +39,7 @@ export { Constants };
39
39
  export { DEFAULT_CRYPTO_IMPLEMENTATION, JsonWebTokenAlgorithms } from './crypto/ICrypto.mjs';
40
40
  export { DEFAULT_SYSTEM_OPTIONS, buildClientConfiguration } from './config/ClientConfiguration.mjs';
41
41
  export { DEFAULT_TOKEN_BINDING_KEY_MANAGER } from './crypto/ITokenBindingKeyManager.mjs';
42
+ export { DpopProofGenerator, normalizeDpopResourceRequestContext } from './crypto/DpopProofGenerator.mjs';
42
43
  export { IntFields, PerformanceEventStatus } from './telemetry/performance/PerformanceEvent.mjs';
43
44
  export { InteractionRequiredAuthError, createInteractionRequiredAuthError } from './error/InteractionRequiredAuthError.mjs';
44
45
  import * as InteractionRequiredAuthErrorCodes from './error/InteractionRequiredAuthErrorCodes.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { serializeAttributeTokens } from '../cache/utils/CacheHelpers.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { THROTTLING_PREFIX, DEFAULT_THROTTLE_TIME_SECONDS, DEFAULT_MAX_THROTTLE_TIME_SECONDS, HeaderNames } from '../utils/Constants.mjs';
4
4
  import { ServerError } from '../error/ServerError.mjs';
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /* eslint-disable header/header */
4
4
  const name = "@azure/msal-common";
5
- const version = "16.15.0";
5
+ const version = "16.16.0";
6
6
 
7
7
  export { name, version };
8
8
  //# sourceMappingURL=packageMetadata.mjs.map
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { addClientId, addScopes, addResource, addRedirectUri, addCorrelationId, addResponseMode, addClientInfo, addCliData, addPrompt, addDomainHint, addSid, addLoginHint, addCcsOid, addCcsUpn, addNonce, addState, addBrokerParameters, addClaims, addInstanceAware, addPopupOriginCheckDone } from '../request/RequestParameterBuilder.mjs';
4
4
  import { INSTANCE_AWARE, CLIENT_ID } from '../constants/AADServerParamKeys.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { CcsCredentialType } from '../account/CcsCredential.mjs';
4
4
  import { buildClientInfoFromHomeAccountId } from '../account/ClientInfo.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
4
4
  import { HeaderNames } from '../utils/Constants.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { misplacedResourceParam, resourceParameterRequired } from '../error/ClientAuthErrorCodes.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { OIDC_DEFAULT_SCOPES, HeaderNames, CLIENT_INFO, PasswordGrantConstants, AuthenticationScheme, ResponseMode, X_MS_LIB_CAPABILITY_VALUE, ClaimsRequestKeys } from '../utils/Constants.mjs';
4
4
  import { X_APP_NAME, X_APP_VER, ATTRIBUTE_TOKENS, CODE, BROKER_CLIENT_ID, BROKER_REDIRECT_URI, CLAIMS, CLI_DATA, CLIENT_ASSERTION, CLIENT_ASSERTION_TYPE, CLIENT_ID, CLIENT_SECRET, CODE_CHALLENGE, CODE_CHALLENGE_METHOD, CODE_VERIFIER, CLIENT_REQUEST_ID, DEVICE_CODE, DOMAIN_HINT, EAR_JWK, EAR_JWE_CRYPTO, GRANT_TYPE, ID_TOKEN_HINT, INSTANCE_AWARE, X_CLIENT_SKU, X_CLIENT_VER, X_CLIENT_OS, X_CLIENT_CPU, LOGIN_HINT, LOGOUT_HINT, NATIVE_BROKER, NONCE, OBO_ASSERTION, TOKEN_TYPE, REQ_CNF, POPUP_ORIGIN_CHECK_DONE, POST_LOGOUT_URI, PROMPT, REDIRECT_URI, REFRESH_TOKEN, REQUESTED_TOKEN_USE, RESOURCE, RESPONSE_MODE, RESPONSE_TYPE, SCOPE, X_CLIENT_CURR_TELEM, X_CLIENT_LAST_TELEM, SID, STATE, X_MS_LIB_CAPABILITY } from '../constants/AADServerParamKeys.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
4
4
  import { StringUtils } from '../utils/StringUtils.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { updateAccountTenantProfileData, buildTenantProfile } from '../account/AccountInfo.mjs';
4
4
  import { extractTokenClaims, isKmsi } from '../account/AuthToken.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { getAndFlushLogsFromCache } from '../../logger/Logger.mjs';
4
4
  import { IntFields, PerformanceEventStatus, EXT_FIELD_PREFIX } from './PerformanceEvent.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { PerformanceEventStatus } from './PerformanceEvent.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { CacheOutcome, SERVER_TELEM_CACHE_KEY, CACHE_KEY_SEPARATOR, SERVER_TELEM_SCHEMA_VERSION, SERVER_TELEM_CATEGORY_SEPARATOR, SERVER_TELEM_VALUE_SEPARATOR, SERVER_TELEM_MAX_CACHED_ERRORS, SERVER_TELEM_UNKNOWN_ERROR, SERVER_TELEM_MAX_LAST_HEADER_BYTES, SERVER_TELEM_OVERFLOW_TRUE, SERVER_TELEM_OVERFLOW_FALSE } from '../../utils/Constants.mjs';
4
4
  import { AuthError } from '../../error/AuthError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
4
4
  import { StringUtils } from '../utils/StringUtils.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { RESOURCE_DELIM } from './Constants.mjs';
4
4
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { createClientConfigurationError } from '../error/ClientConfigurationError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { isKmsi } from './AuthToken.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { tokenParsingError, nullOrEmptyToken } from '../error/ClientAuthErrorCodes.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { CLIENT_INFO_SEPARATOR } from '../utils/Constants.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { AuthorityType } from './AuthorityType.mjs';
4
4
  import { isOpenIdConfigResponse } from './OpenIdConfigResponse.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { Authority, formatAuthorityUri } from './Authority.mjs';
4
4
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { UrlString } from '../url/UrlString.mjs';
4
4
  import { AuthorityMetadataSource } from '../utils/Constants.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { IMDS_VERSION, HTTP_SUCCESS, RegionDiscoverySources, HTTP_BAD_REQUEST, IMDS_ENDPOINT, IMDS_TIMEOUT } from '../utils/Constants.mjs';
4
4
  import { RegionDiscoveryGetRegionFromIMDS, RegionDiscoveryGetCurrentVersion } from '../telemetry/performance/PerformanceEvents.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.15.0 2026-10-27 */
1
+ /*! @azure/msal-common v16.16.0 2026-11-05 */
2
2
  'use strict';
3
3
  import { updateAccountTenantProfileData } from '../account/AccountInfo.mjs';
4
4
  import { extractTokenClaims } from '../account/AuthToken.mjs';
@@ -260,6 +260,7 @@ class CacheManager {
260
260
  };
261
261
  const tokenKeys = this.getTokenKeys();
262
262
  const currentScopes = ScopeSet.fromString(credential.target, correlationId);
263
+ const accessTokenKeysToRemove = [];
263
264
  tokenKeys.accessToken.forEach((key) => {
264
265
  if (!this.accessTokenKeyMatchesFilter(key, accessTokenFilter, false)) {
265
266
  return;
@@ -269,10 +270,13 @@ class CacheManager {
269
270
  this.credentialMatchesFilter(tokenEntity, accessTokenFilter, correlationId)) {
270
271
  const tokenScopeSet = ScopeSet.fromString(tokenEntity.target, correlationId);
271
272
  if (tokenScopeSet.intersectingScopeSets(currentScopes)) {
272
- this.removeAccessToken(key, correlationId);
273
+ accessTokenKeysToRemove.push(key);
273
274
  }
274
275
  }
275
276
  });
277
+ for (const key of accessTokenKeysToRemove) {
278
+ await this.removeAccessTokenAndTokenBindingKey(key, correlationId, credential.keyId);
279
+ }
276
280
  await this.setAccessTokenCredential(credential, correlationId, kmsi, additionalCacheKeyHash);
277
281
  }
278
282
  /**
@@ -508,12 +512,32 @@ class CacheManager {
508
512
  * @param correlationId
509
513
  */
510
514
  removeAccessToken(key, correlationId) {
515
+ const credential = this.removeAccessTokenCredential(key, correlationId);
516
+ if (credential) {
517
+ void this.removeTokenBindingKeyForCredential(credential, correlationId);
518
+ }
519
+ }
520
+ /**
521
+ * Removes an access token and waits for any unreferenced token-binding key
522
+ * cleanup. Internal callers that require deterministic cleanup should use
523
+ * this method instead of the synchronous public cache contract.
524
+ */
525
+ async removeAccessTokenAndTokenBindingKey(key, correlationId, preservedKeyId) {
526
+ const credential = this.removeAccessTokenCredential(key, correlationId);
527
+ if (credential) {
528
+ await this.removeTokenBindingKeyForCredential(credential, correlationId, preservedKeyId);
529
+ }
530
+ }
531
+ removeAccessTokenCredential(key, correlationId) {
511
532
  const credential = this.getAccessTokenCredential(key, correlationId);
512
533
  if (!credential) {
513
- return;
534
+ return null;
514
535
  }
515
536
  this.removeItem(key, correlationId);
516
537
  this.performanceClient.incrementFields({ accessTokensRemoved: 1 }, correlationId);
538
+ return credential;
539
+ }
540
+ async removeTokenBindingKeyForCredential(credential, correlationId, preservedKeyId) {
517
541
  // Remove Token Binding Key from key store for token-bound access token credentials
518
542
  if (credential.credentialType.toLowerCase() ===
519
543
  CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) {
@@ -523,19 +547,28 @@ class CacheManager {
523
547
  case AuthenticationScheme.DPOP.toLowerCase(): {
524
548
  const accessTokenWithAuthSchemeEntity = credential;
525
549
  const kid = accessTokenWithAuthSchemeEntity.keyId;
526
- if (kid) {
527
- void this.tokenBindingKeyManager
528
- .removeTokenBindingKey(kid, correlationId)
529
- .catch(() => {
550
+ if (kid &&
551
+ kid !== preservedKeyId &&
552
+ !this.isTokenBindingKeyReferenced(kid, correlationId)) {
553
+ try {
554
+ await this.tokenBindingKeyManager.removeTokenBindingKey(kid, correlationId);
555
+ }
556
+ catch {
530
557
  this.commonLogger.error("0id34f", correlationId);
531
558
  this.performanceClient?.incrementFields({ removeTokenBindingKeyFailure: 1 }, correlationId);
532
- });
559
+ }
533
560
  }
534
561
  break;
535
562
  }
536
563
  }
537
564
  }
538
565
  }
566
+ isTokenBindingKeyReferenced(keyId, correlationId) {
567
+ return this.getTokenKeys().accessToken.some((accessTokenKey) => {
568
+ const accessToken = this.getAccessTokenCredential(accessTokenKey, correlationId);
569
+ return accessToken?.keyId === keyId;
570
+ });
571
+ }
539
572
  /**
540
573
  * Removes all app metadata objects from cache.
541
574
  */
@@ -674,6 +707,7 @@ class CacheManager {
674
707
  const scopes = ScopeSet.createSearchScopes(request.scopes, correlationId);
675
708
  const authScheme = request.authenticationScheme ||
676
709
  AuthenticationScheme.BEARER;
710
+ const normalizedAuthScheme = authScheme.toLowerCase();
677
711
  /*
678
712
  * Distinguish between Bearer and PoP/SSH token cache types
679
713
  * Cast to lowercase to handle "bearer" from ADFS
@@ -699,7 +733,10 @@ class CacheManager {
699
733
  tokenType: authScheme,
700
734
  keyId: authScheme === AuthenticationScheme.SSH
701
735
  ? request.sshKid
702
- : undefined,
736
+ : normalizedAuthScheme ===
737
+ AuthenticationScheme.DPOP.toLowerCase()
738
+ ? request.popKid || request.dpopJkt
739
+ : undefined,
703
740
  additionalCacheKeyComponents: additionalCacheKeyComponents,
704
741
  };
705
742
  const accessTokenKeys = (tokenKeys && tokenKeys.accessToken) ||