@azure/msal-common 16.5.0 → 16.5.1

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 +7 -0
  20. package/dist/cache/CacheManager.d.ts.map +1 -1
  21. package/dist/cache/CacheManager.mjs +37 -9
  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 +7 -0
  98. package/dist-browser/cache/CacheManager.d.ts.map +1 -1
  99. package/dist-browser/cache/CacheManager.mjs +37 -9
  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-CJl1_QbT.js} +41 -12
  160. package/lib/index-node-CJl1_QbT.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 +7 -0
  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 +65 -10
  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
@@ -38,7 +38,7 @@ export type AccountFilter = Omit<Partial<AccountInfo>, "idToken" | "idTokenClaim
38
38
  sid?: string;
39
39
  isHomeTenant?: boolean;
40
40
  };
41
- export type TenantProfileFilter = Pick<AccountFilter, "localAccountId" | "loginHint" | "name" | "sid" | "isHomeTenant" | "username">;
41
+ export type TenantProfileFilter = Pick<AccountFilter, "localAccountId" | "loginHint" | "name" | "sid" | "isHomeTenant" | "username" | "upn">;
42
42
  /**
43
43
  * Credential: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<scheme*>
44
44
  */
@@ -1 +1 @@
1
- {"version":3,"file":"CacheTypes.d.ts","sourceRoot":"","sources":["../../../../src/cache/utils/CacheTypes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACzD,gBAAgB;AAChB,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACzD,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACjE,gBAAgB;AAChB,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AACnE,gBAAgB;AAChB,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,cAAc,GACpB,aAAa,GACb,aAAa,GACb,iBAAiB,GACjB,kBAAkB,GAClB,iBAAiB,GACjB,uBAAuB,GACvB,qBAAqB,GACrB,gBAAgB,GAChB,MAAM,CAAC;AAEb;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GACzB,aAAa,GACb,iBAAiB,GACjB,kBAAkB,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAC5B,OAAO,CAAC,WAAW,CAAC,EACpB,SAAS,GAAG,eAAe,CAC9B,GAAG;IACA,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAClC,aAAa,EACX,gBAAgB,GAChB,WAAW,GACX,MAAM,GACN,KAAK,GACL,cAAc,GACd,UAAU,CACf,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC"}
1
+ {"version":3,"file":"CacheTypes.d.ts","sourceRoot":"","sources":["../../../../src/cache/utils/CacheTypes.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  export declare const name = "@azure/msal-common";
2
- export declare const version = "16.5.0";
2
+ export declare const version = "16.5.1";
3
3
  //# sourceMappingURL=packageMetadata.d.ts.map
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "type": "git",
11
11
  "url": "https://github.com/AzureAD/microsoft-authentication-library-for-js.git"
12
12
  },
13
- "version": "16.5.0",
13
+ "version": "16.5.1",
14
14
  "description": "Microsoft Authentication Library for js",
15
15
  "keywords": [
16
16
  "implicit",
@@ -13,6 +13,7 @@ export type DataBoundary = "EU" | "None";
13
13
  * - environment - Entity which issued the token represented by the domain of the issuer (e.g. login.microsoftonline.com)
14
14
  * - tenantId - Full tenant or organizational id that this account belongs to
15
15
  * - username - preferred_username claim of the id_token that represents this account
16
+ * - upn - The user's UPN used to populate the account username in cases where preferred_username is not present in the ID token claims.
16
17
  * - localAccountId - Local, tenant-specific account identifer for this account object, usually used in legacy cases
17
18
  * - name - Full name for the account, including given name and family name
18
19
  * - idToken - raw ID token
@@ -29,6 +30,7 @@ export type AccountInfo = {
29
30
  localAccountId: string;
30
31
  loginHint?: string;
31
32
  name?: string;
33
+ upn?: string;
32
34
  idToken?: string;
33
35
  idTokenClaims?: TokenClaims & {
34
36
  [key: string]:
@@ -50,7 +52,7 @@ export type AccountInfo = {
50
52
  */
51
53
  export type TenantProfile = Pick<
52
54
  AccountInfo,
53
- "tenantId" | "localAccountId" | "name" | "username" | "loginHint"
55
+ "tenantId" | "localAccountId" | "name" | "username" | "loginHint" | "upn"
54
56
  > & {
55
57
  /**
56
58
  * - isHomeTenant - True if this is the home tenant profile of the account, false if it's a guest tenant profile
@@ -123,6 +125,7 @@ export function buildTenantProfile(
123
125
  username: preferred_username || upn || "",
124
126
  loginHint: login_hint,
125
127
  isHomeTenant: tenantIdMatchesHomeTenant(tenantId, homeAccountId),
128
+ upn: upn,
126
129
  };
127
130
  } else {
128
131
  return {
@@ -156,7 +159,7 @@ export function updateAccountTenantProfileData(
156
159
 
157
160
  // ID token claims override passed in account info and tenant profile
158
161
  if (idTokenClaims) {
159
- // Ignore isHomeTenant, loginHint, and sid which are part of tenant profile but not base account info
162
+ // Ignore isHomeTenant which is a utility property of tenant profile but not required in base account info
160
163
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
161
164
  const { isHomeTenant, ...claimsSourcedTenantProfile } =
162
165
  buildTenantProfile(
@@ -495,6 +495,39 @@ export abstract class CacheManager implements ICacheManager {
495
495
  return false;
496
496
  }
497
497
 
498
+ if (
499
+ !!tenantProfileFilter.username &&
500
+ !(
501
+ this.matchUsername(
502
+ tenantProfile.username,
503
+ tenantProfileFilter.username
504
+ ) ||
505
+ !this.matchUsername(
506
+ tenantProfile.upn,
507
+ tenantProfileFilter.username
508
+ )
509
+ )
510
+ ) {
511
+ return false;
512
+ }
513
+
514
+ if (
515
+ !!tenantProfileFilter.loginHint &&
516
+ !this.matchLoginHintWithTenantProfile(
517
+ tenantProfile,
518
+ tenantProfileFilter.loginHint
519
+ )
520
+ ) {
521
+ return false;
522
+ }
523
+
524
+ if (
525
+ !!tenantProfileFilter.upn &&
526
+ !(tenantProfile.upn === tenantProfileFilter.upn)
527
+ ) {
528
+ return false;
529
+ }
530
+
498
531
  return true;
499
532
  }
500
533
 
@@ -529,6 +562,10 @@ export abstract class CacheManager implements ICacheManager {
529
562
  !this.matchUsername(
530
563
  idTokenClaims.preferred_username,
531
564
  tenantProfileFilter.username
565
+ ) &&
566
+ !this.matchUsername(
567
+ idTokenClaims.upn,
568
+ tenantProfileFilter.username
532
569
  )
533
570
  ) {
534
571
  return false;
@@ -707,13 +744,6 @@ export abstract class CacheManager implements ICacheManager {
707
744
  return;
708
745
  }
709
746
 
710
- if (
711
- !!accountFilter.username &&
712
- !this.matchUsername(entity.username, accountFilter.username)
713
- ) {
714
- return;
715
- }
716
-
717
747
  if (
718
748
  !!accountFilter.environment &&
719
749
  !this.matchEnvironment(
@@ -753,6 +783,9 @@ export abstract class CacheManager implements ICacheManager {
753
783
  const tenantProfileFilter: TenantProfileFilter = {
754
784
  localAccountId: accountFilter?.localAccountId,
755
785
  name: accountFilter?.name,
786
+ username: accountFilter?.username,
787
+ loginHint: accountFilter?.loginHint,
788
+ upn: accountFilter?.upn,
756
789
  };
757
790
 
758
791
  const matchingTenantProfiles = entity.tenantProfiles?.filter(
@@ -1125,13 +1158,13 @@ export abstract class CacheManager implements ICacheManager {
1125
1158
  "CacheManager:getIdToken - Multiple ID tokens found for account but none match account entity tenant id, returning first result",
1126
1159
  correlationId
1127
1160
  );
1128
- return idTokenMap.values().next().value;
1161
+ return idTokenMap.values().next().value ?? null;
1129
1162
  } else if (numHomeIdTokens === 1) {
1130
1163
  this.commonLogger.info(
1131
1164
  "CacheManager:getIdToken - Multiple ID tokens found for account, defaulting to home tenant profile",
1132
1165
  correlationId
1133
1166
  );
1134
- return homeIdTokenMap.values().next().value;
1167
+ return homeIdTokenMap.values().next().value ?? null;
1135
1168
  } else {
1136
1169
  // Multiple ID tokens for home tenant profile, remove all and return null
1137
1170
  tokensToBeRemoved = homeIdTokenMap;
@@ -1156,7 +1189,7 @@ export abstract class CacheManager implements ICacheManager {
1156
1189
  "CacheManager:getIdToken - Returning ID token",
1157
1190
  correlationId
1158
1191
  );
1159
- return idTokenMap.values().next().value;
1192
+ return idTokenMap.values().next().value ?? null;
1160
1193
  }
1161
1194
 
1162
1195
  /**
@@ -1654,6 +1687,23 @@ export abstract class CacheManager implements ICacheManager {
1654
1687
  );
1655
1688
  }
1656
1689
 
1690
+ /**
1691
+ * helper to match loginhints
1692
+ * @param entity
1693
+ * @param loginHint
1694
+ * @returns
1695
+ */
1696
+ private matchLoginHintWithTenantProfile(
1697
+ tenantProfile: TenantProfile,
1698
+ loginHintFilter: string
1699
+ ): boolean {
1700
+ return (
1701
+ tenantProfile.loginHint === loginHintFilter ||
1702
+ tenantProfile.username === loginHintFilter ||
1703
+ tenantProfile.upn === loginHintFilter
1704
+ );
1705
+ }
1706
+
1657
1707
  /**
1658
1708
  * helper to match assertion
1659
1709
  * @param value
@@ -1799,6 +1849,11 @@ export abstract class CacheManager implements ICacheManager {
1799
1849
  return true;
1800
1850
  }
1801
1851
 
1852
+ // check login hint against list of emails in token claims
1853
+ if (tokenClaims.emails && tokenClaims.emails.includes(loginHint)) {
1854
+ return true;
1855
+ }
1856
+
1802
1857
  return false;
1803
1858
  }
1804
1859
 
@@ -71,6 +71,7 @@ export type TenantProfileFilter = Pick<
71
71
  | "sid"
72
72
  | "isHomeTenant"
73
73
  | "username"
74
+ | "upn"
74
75
  >;
75
76
 
76
77
  /**
@@ -1,3 +1,3 @@
1
1
  /* eslint-disable header/header */
2
2
  export const name = "@azure/msal-common";
3
- export const version = "16.5.0";
3
+ export const version = "16.5.1";