@azure/msal-common 16.5.0 → 16.5.2

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 (175) hide show
  1. package/dist/account/AccountInfo.d.ts +3 -1
  2. package/dist/account/AccountInfo.d.ts.map +1 -1
  3. package/dist/account/AccountInfo.mjs +3 -2
  4. package/dist/account/AccountInfo.mjs.map +1 -1
  5. package/dist/account/AuthToken.mjs +1 -1
  6. package/dist/account/CcsCredential.mjs +1 -1
  7. package/dist/account/ClientInfo.mjs +1 -1
  8. package/dist/account/TokenClaims.mjs +1 -1
  9. package/dist/authority/Authority.mjs +1 -1
  10. package/dist/authority/AuthorityFactory.mjs +1 -1
  11. package/dist/authority/AuthorityMetadata.mjs +1 -1
  12. package/dist/authority/AuthorityOptions.mjs +1 -1
  13. package/dist/authority/AuthorityType.mjs +1 -1
  14. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  15. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  16. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  17. package/dist/authority/ProtocolMode.mjs +1 -1
  18. package/dist/authority/RegionDiscovery.mjs +1 -1
  19. package/dist/cache/CacheManager.d.ts +20 -13
  20. package/dist/cache/CacheManager.d.ts.map +1 -1
  21. package/dist/cache/CacheManager.mjs +46 -16
  22. package/dist/cache/CacheManager.mjs.map +1 -1
  23. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  24. package/dist/cache/utils/AccountEntityUtils.mjs +1 -1
  25. package/dist/cache/utils/CacheHelpers.mjs +1 -1
  26. package/dist/cache/utils/CacheTypes.d.ts +1 -1
  27. package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
  28. package/dist/client/AuthorizationCodeClient.mjs +1 -1
  29. package/dist/client/RefreshTokenClient.mjs +1 -1
  30. package/dist/client/SilentFlowClient.mjs +1 -1
  31. package/dist/config/ClientConfiguration.mjs +1 -1
  32. package/dist/constants/AADServerParamKeys.mjs +1 -1
  33. package/dist/crypto/ICrypto.mjs +1 -1
  34. package/dist/crypto/JoseHeader.mjs +1 -1
  35. package/dist/crypto/PopTokenGenerator.mjs +1 -1
  36. package/dist/error/AuthError.mjs +1 -1
  37. package/dist/error/AuthErrorCodes.mjs +1 -1
  38. package/dist/error/CacheError.mjs +1 -1
  39. package/dist/error/CacheErrorCodes.mjs +1 -1
  40. package/dist/error/ClientAuthError.mjs +1 -1
  41. package/dist/error/ClientAuthErrorCodes.mjs +1 -1
  42. package/dist/error/ClientConfigurationError.mjs +1 -1
  43. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  44. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  45. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  46. package/dist/error/JoseHeaderError.mjs +1 -1
  47. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  48. package/dist/error/NetworkError.mjs +1 -1
  49. package/dist/error/PlatformBrokerError.mjs +1 -1
  50. package/dist/error/ServerError.mjs +1 -1
  51. package/dist/index-node.mjs +1 -1
  52. package/dist/index.mjs +1 -1
  53. package/dist/logger/Logger.mjs +1 -1
  54. package/dist/network/INetworkModule.mjs +1 -1
  55. package/dist/network/RequestThumbprint.mjs +1 -1
  56. package/dist/network/ThrottlingUtils.mjs +1 -1
  57. package/dist/packageMetadata.d.ts +1 -1
  58. package/dist/packageMetadata.mjs +2 -2
  59. package/dist/protocol/Authorize.mjs +1 -1
  60. package/dist/protocol/Token.mjs +1 -1
  61. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  62. package/dist/request/BaseAuthRequest.mjs +1 -1
  63. package/dist/request/RequestParameterBuilder.mjs +1 -1
  64. package/dist/request/ScopeSet.mjs +1 -1
  65. package/dist/response/ResponseHandler.mjs +1 -1
  66. package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  67. package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  68. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  69. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  70. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  71. package/dist/url/UrlString.mjs +1 -1
  72. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  73. package/dist/utils/Constants.mjs +1 -1
  74. package/dist/utils/FunctionWrappers.mjs +1 -1
  75. package/dist/utils/ProtocolUtils.mjs +1 -1
  76. package/dist/utils/StringUtils.mjs +1 -1
  77. package/dist/utils/TimeUtils.mjs +1 -1
  78. package/dist/utils/UrlUtils.mjs +1 -1
  79. package/dist-browser/account/AccountInfo.d.ts +3 -1
  80. package/dist-browser/account/AccountInfo.d.ts.map +1 -1
  81. package/dist-browser/account/AccountInfo.mjs +3 -2
  82. package/dist-browser/account/AccountInfo.mjs.map +1 -1
  83. package/dist-browser/account/AuthToken.mjs +1 -1
  84. package/dist-browser/account/CcsCredential.mjs +1 -1
  85. package/dist-browser/account/ClientInfo.mjs +1 -1
  86. package/dist-browser/account/TokenClaims.mjs +1 -1
  87. package/dist-browser/authority/Authority.mjs +1 -1
  88. package/dist-browser/authority/AuthorityFactory.mjs +1 -1
  89. package/dist-browser/authority/AuthorityMetadata.mjs +1 -1
  90. package/dist-browser/authority/AuthorityOptions.mjs +1 -1
  91. package/dist-browser/authority/AuthorityType.mjs +1 -1
  92. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  93. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  94. package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  95. package/dist-browser/authority/ProtocolMode.mjs +1 -1
  96. package/dist-browser/authority/RegionDiscovery.mjs +1 -1
  97. package/dist-browser/cache/CacheManager.d.ts +20 -13
  98. package/dist-browser/cache/CacheManager.d.ts.map +1 -1
  99. package/dist-browser/cache/CacheManager.mjs +46 -16
  100. package/dist-browser/cache/CacheManager.mjs.map +1 -1
  101. package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  102. package/dist-browser/cache/utils/AccountEntityUtils.mjs +1 -1
  103. package/dist-browser/cache/utils/CacheHelpers.mjs +1 -1
  104. package/dist-browser/cache/utils/CacheTypes.d.ts +1 -1
  105. package/dist-browser/cache/utils/CacheTypes.d.ts.map +1 -1
  106. package/dist-browser/client/AuthorizationCodeClient.mjs +1 -1
  107. package/dist-browser/client/RefreshTokenClient.mjs +1 -1
  108. package/dist-browser/client/SilentFlowClient.mjs +1 -1
  109. package/dist-browser/config/ClientConfiguration.mjs +1 -1
  110. package/dist-browser/constants/AADServerParamKeys.mjs +1 -1
  111. package/dist-browser/crypto/ICrypto.mjs +1 -1
  112. package/dist-browser/crypto/JoseHeader.mjs +1 -1
  113. package/dist-browser/crypto/PopTokenGenerator.mjs +1 -1
  114. package/dist-browser/error/AuthError.mjs +1 -1
  115. package/dist-browser/error/AuthErrorCodes.mjs +1 -1
  116. package/dist-browser/error/CacheError.mjs +1 -1
  117. package/dist-browser/error/CacheErrorCodes.mjs +1 -1
  118. package/dist-browser/error/ClientAuthError.mjs +1 -1
  119. package/dist-browser/error/ClientAuthErrorCodes.mjs +1 -1
  120. package/dist-browser/error/ClientConfigurationError.mjs +1 -1
  121. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
  122. package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
  123. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  124. package/dist-browser/error/JoseHeaderError.mjs +1 -1
  125. package/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
  126. package/dist-browser/error/NetworkError.mjs +1 -1
  127. package/dist-browser/error/PlatformBrokerError.mjs +1 -1
  128. package/dist-browser/error/ServerError.mjs +1 -1
  129. package/dist-browser/index-browser.mjs +1 -1
  130. package/dist-browser/index.mjs +1 -1
  131. package/dist-browser/log-strings-mapping.json +2 -2
  132. package/dist-browser/logger/Logger.mjs +1 -1
  133. package/dist-browser/network/INetworkModule.mjs +1 -1
  134. package/dist-browser/network/RequestThumbprint.mjs +1 -1
  135. package/dist-browser/network/ThrottlingUtils.mjs +1 -1
  136. package/dist-browser/packageMetadata.d.ts +1 -1
  137. package/dist-browser/packageMetadata.mjs +2 -2
  138. package/dist-browser/protocol/Authorize.mjs +1 -1
  139. package/dist-browser/protocol/Token.mjs +1 -1
  140. package/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
  141. package/dist-browser/request/BaseAuthRequest.mjs +1 -1
  142. package/dist-browser/request/RequestParameterBuilder.mjs +1 -1
  143. package/dist-browser/request/ScopeSet.mjs +1 -1
  144. package/dist-browser/response/ResponseHandler.mjs +1 -1
  145. package/dist-browser/telemetry/performance/PerformanceClient.mjs +1 -1
  146. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
  147. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  148. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  149. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  150. package/dist-browser/url/UrlString.mjs +1 -1
  151. package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
  152. package/dist-browser/utils/Constants.mjs +1 -1
  153. package/dist-browser/utils/FunctionWrappers.mjs +1 -1
  154. package/dist-browser/utils/ProtocolUtils.mjs +1 -1
  155. package/dist-browser/utils/StringUtils.mjs +1 -1
  156. package/dist-browser/utils/TimeUtils.mjs +1 -1
  157. package/dist-browser/utils/UrlUtils.mjs +1 -1
  158. package/lib/index-browser.cjs +2 -2
  159. package/lib/{index-node-Du5Fgpah.js → index-node-ByMjZ1FK.js} +45 -14
  160. package/lib/index-node-ByMjZ1FK.js.map +1 -0
  161. package/lib/index-node.cjs +2 -2
  162. package/lib/index.cjs +2 -2
  163. package/lib/types/account/AccountInfo.d.ts +3 -1
  164. package/lib/types/account/AccountInfo.d.ts.map +1 -1
  165. package/lib/types/cache/CacheManager.d.ts +20 -13
  166. package/lib/types/cache/CacheManager.d.ts.map +1 -1
  167. package/lib/types/cache/utils/CacheTypes.d.ts +1 -1
  168. package/lib/types/cache/utils/CacheTypes.d.ts.map +1 -1
  169. package/lib/types/packageMetadata.d.ts +1 -1
  170. package/package.json +1 -1
  171. package/src/account/AccountInfo.ts +5 -2
  172. package/src/cache/CacheManager.ts +101 -44
  173. package/src/cache/utils/CacheTypes.ts +1 -0
  174. package/src/packageMetadata.ts +1 -1
  175. package/lib/index-node-Du5Fgpah.js.map +0 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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 } from '../request/RequestParameterBuilder.mjs';
4
4
  import { INSTANCE_AWARE, CLIENT_ID } from '../constants/AADServerParamKeys.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  import { OIDC_DEFAULT_SCOPES, ResponseMode, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, X_MS_LIB_CAPABILITY_VALUE } from '../utils/Constants.mjs';
4
4
  import { CLIENT_ID, BROKER_CLIENT_ID, REDIRECT_URI, RESPONSE_TYPE, RESPONSE_MODE, NATIVE_BROKER, SCOPE, POST_LOGOUT_URI, ID_TOKEN_HINT, DOMAIN_HINT, LOGIN_HINT, SID, CLAIMS, CLIENT_REQUEST_ID, X_CLIENT_SKU, X_CLIENT_VER, X_CLIENT_OS, X_CLIENT_CPU, X_APP_NAME, X_APP_VER, PROMPT, STATE, NONCE, CODE_CHALLENGE, CODE_CHALLENGE_METHOD, CODE, DEVICE_CODE, REFRESH_TOKEN, CODE_VERIFIER, CLIENT_SECRET, CLIENT_ASSERTION, CLIENT_ASSERTION_TYPE, OBO_ASSERTION, REQUESTED_TOKEN_USE, GRANT_TYPE, CLI_DATA, INSTANCE_AWARE, TOKEN_TYPE, REQ_CNF, X_CLIENT_CURR_TELEM, X_CLIENT_LAST_TELEM, X_MS_LIB_CAPABILITY, LOGOUT_HINT, BROKER_REDIRECT_URI, EAR_JWK, EAR_JWE_CRYPTO, RESOURCE } from '../constants/AADServerParamKeys.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  import { updateAccountTenantProfileData, buildTenantProfile } from '../account/AccountInfo.mjs';
4
4
  import { extractTokenClaims, checkMaxAge, isKmsi } from '../account/AuthToken.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  import { PerformanceEventStatus } from './PerformanceEvent.mjs';
4
4
 
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  import { CacheOutcome, SERVER_TELEM_CACHE_KEY, CACHE_KEY_SEPARATOR, SERVER_TELEM_SCHEMA_VERSION, SERVER_TELEM_VALUE_SEPARATOR, SERVER_TELEM_CATEGORY_SEPARATOR, SERVER_TELEM_OVERFLOW_TRUE, SERVER_TELEM_OVERFLOW_FALSE, SERVER_TELEM_MAX_CACHED_ERRORS, SERVER_TELEM_UNKNOWN_ERROR, SERVER_TELEM_MAX_LAST_HEADER_BYTES } from '../../utils/Constants.mjs';
4
4
  import { AuthError } from '../../error/AuthError.mjs';
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
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.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  /*
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { StringUtils } from './StringUtils.mjs';
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
5
- var indexNode = require('./index-node-Du5Fgpah.js');
5
+ var indexNode = require('./index-node-ByMjZ1FK.js');
6
6
 
7
7
  /*
8
8
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v16.5.0 2026-04-16 */
1
+ /*! @azure/msal-common v16.5.2 2026-04-28 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
@@ -3018,6 +3018,7 @@ function buildTenantProfile(homeAccountId, localAccountId, tenantId, idTokenClai
3018
3018
  username: preferred_username || upn || "",
3019
3019
  loginHint: login_hint,
3020
3020
  isHomeTenant: tenantIdMatchesHomeTenant(tenantId, homeAccountId),
3021
+ upn: upn,
3021
3022
  };
3022
3023
  }
3023
3024
  else {
@@ -3045,7 +3046,7 @@ function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenC
3045
3046
  }
3046
3047
  // ID token claims override passed in account info and tenant profile
3047
3048
  if (idTokenClaims) {
3048
- // Ignore isHomeTenant, loginHint, and sid which are part of tenant profile but not base account info
3049
+ // Ignore isHomeTenant which is a utility property of tenant profile but not required in base account info
3049
3050
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
3050
3051
  const { isHomeTenant, ...claimsSourcedTenantProfile } = buildTenantProfile(baseAccountInfo.homeAccountId, baseAccountInfo.localAccountId, baseAccountInfo.tenantId, idTokenClaims);
3051
3052
  updatedAccountInfo = {
@@ -4264,7 +4265,7 @@ class Logger {
4264
4265
 
4265
4266
  /* eslint-disable header/header */
4266
4267
  const name = "@azure/msal-common";
4267
- const version = "16.5.0";
4268
+ const version = "16.5.2";
4268
4269
 
4269
4270
  /*
4270
4271
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4351,8 +4352,10 @@ class CacheManager {
4351
4352
  const allAccounts = this.getAllAccounts(accountFilter, correlationId);
4352
4353
  if (allAccounts.length > 1) {
4353
4354
  // If one or more accounts are found, prioritize accounts that have an ID token
4354
- const sortedAccounts = allAccounts.sort((account) => {
4355
- return account.idTokenClaims ? -1 : 1;
4355
+ const sortedAccounts = allAccounts.sort((a, b) => {
4356
+ const aHasClaims = a.idTokenClaims ? 1 : 0;
4357
+ const bHasClaims = b.idTokenClaims ? 1 : 0;
4358
+ return bHasClaims - aHasClaims;
4356
4359
  });
4357
4360
  return sortedAccounts[0];
4358
4361
  }
@@ -4450,6 +4453,19 @@ class CacheManager {
4450
4453
  !(tenantProfile.isHomeTenant === tenantProfileFilter.isHomeTenant)) {
4451
4454
  return false;
4452
4455
  }
4456
+ if (!!tenantProfileFilter.username &&
4457
+ !(this.matchUsername(tenantProfile.username, tenantProfileFilter.username) ||
4458
+ !this.matchUsername(tenantProfile.upn, tenantProfileFilter.username))) {
4459
+ return false;
4460
+ }
4461
+ if (!!tenantProfileFilter.loginHint &&
4462
+ !this.matchLoginHintWithTenantProfile(tenantProfile, tenantProfileFilter.loginHint)) {
4463
+ return false;
4464
+ }
4465
+ if (!!tenantProfileFilter.upn &&
4466
+ !(tenantProfile.upn === tenantProfileFilter.upn)) {
4467
+ return false;
4468
+ }
4453
4469
  return true;
4454
4470
  }
4455
4471
  idTokenClaimsMatchTenantProfileFilter(idTokenClaims, tenantProfileFilter) {
@@ -4464,7 +4480,8 @@ class CacheManager {
4464
4480
  return false;
4465
4481
  }
4466
4482
  if (!!tenantProfileFilter.username &&
4467
- !this.matchUsername(idTokenClaims.preferred_username, tenantProfileFilter.username)) {
4483
+ !this.matchUsername(idTokenClaims.preferred_username, tenantProfileFilter.username) &&
4484
+ !this.matchUsername(idTokenClaims.upn, tenantProfileFilter.username)) {
4468
4485
  return false;
4469
4486
  }
4470
4487
  if (!!tenantProfileFilter.name &&
@@ -4565,10 +4582,6 @@ class CacheManager {
4565
4582
  !this.matchHomeAccountId(entity, accountFilter.homeAccountId)) {
4566
4583
  return;
4567
4584
  }
4568
- if (!!accountFilter.username &&
4569
- !this.matchUsername(entity.username, accountFilter.username)) {
4570
- return;
4571
- }
4572
4585
  if (!!accountFilter.environment &&
4573
4586
  !this.matchEnvironment(entity, accountFilter.environment, correlationId)) {
4574
4587
  return;
@@ -4589,6 +4602,9 @@ class CacheManager {
4589
4602
  const tenantProfileFilter = {
4590
4603
  localAccountId: accountFilter?.localAccountId,
4591
4604
  name: accountFilter?.name,
4605
+ username: accountFilter?.username,
4606
+ loginHint: accountFilter?.loginHint,
4607
+ upn: accountFilter?.upn,
4592
4608
  };
4593
4609
  const matchingTenantProfiles = entity.tenantProfiles?.filter((tenantProfile) => {
4594
4610
  return this.tenantProfileMatchesFilter(tenantProfile, tenantProfileFilter);
@@ -4839,11 +4855,11 @@ class CacheManager {
4839
4855
  const numHomeIdTokens = homeIdTokenMap.size;
4840
4856
  if (numHomeIdTokens < 1) {
4841
4857
  this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result", correlationId);
4842
- return idTokenMap.values().next().value;
4858
+ return idTokenMap.values().next().value ?? null;
4843
4859
  }
4844
4860
  else if (numHomeIdTokens === 1) {
4845
4861
  this.commonLogger.info("CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile", correlationId);
4846
- return homeIdTokenMap.values().next().value;
4862
+ return homeIdTokenMap.values().next().value ?? null;
4847
4863
  }
4848
4864
  else {
4849
4865
  // Multiple ID tokens for home tenant profile, remove all and return null
@@ -4859,7 +4875,7 @@ class CacheManager {
4859
4875
  return null;
4860
4876
  }
4861
4877
  this.commonLogger.info("CacheManager:getIdToken - Returning ID token", correlationId);
4862
- return idTokenMap.values().next().value;
4878
+ return idTokenMap.values().next().value ?? null;
4863
4879
  }
4864
4880
  /**
4865
4881
  * Gets all idTokens matching the given filter
@@ -5172,6 +5188,17 @@ class CacheManager {
5172
5188
  typeof cachedUsername === "string" &&
5173
5189
  filterUsername?.toLowerCase() === cachedUsername.toLowerCase());
5174
5190
  }
5191
+ /**
5192
+ * helper to match loginhints
5193
+ * @param entity
5194
+ * @param loginHint
5195
+ * @returns
5196
+ */
5197
+ matchLoginHintWithTenantProfile(tenantProfile, loginHintFilter) {
5198
+ return (tenantProfile.loginHint === loginHintFilter ||
5199
+ tenantProfile.username === loginHintFilter ||
5200
+ tenantProfile.upn === loginHintFilter);
5201
+ }
5175
5202
  /**
5176
5203
  * helper to match assertion
5177
5204
  * @param value
@@ -5264,6 +5291,10 @@ class CacheManager {
5264
5291
  if (tokenClaims.upn === loginHint) {
5265
5292
  return true;
5266
5293
  }
5294
+ // check login hint against list of emails in token claims
5295
+ if (tokenClaims.emails && tokenClaims.emails.includes(loginHint)) {
5296
+ return true;
5297
+ }
5267
5298
  return false;
5268
5299
  }
5269
5300
  /**
@@ -7862,4 +7893,4 @@ exports.invokeAsync = invokeAsync;
7862
7893
  exports.tenantIdMatchesHomeTenant = tenantIdMatchesHomeTenant;
7863
7894
  exports.updateAccountTenantProfileData = updateAccountTenantProfileData;
7864
7895
  exports.version = version;
7865
- //# sourceMappingURL=index-node-Du5Fgpah.js.map
7896
+ //# sourceMappingURL=index-node-ByMjZ1FK.js.map