@azure/msal-common 16.11.3 → 16.12.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 (198) 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 +28 -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 +15 -2
  21. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  22. package/dist/client/AuthorizationCodeClient.mjs +8 -2
  23. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  24. package/dist/client/RefreshTokenClient.mjs +8 -2
  25. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  26. package/dist/client/SilentFlowClient.mjs +1 -1
  27. package/dist/config/ClientConfiguration.mjs +1 -1
  28. package/dist/constants/AADServerParamKeys.mjs +4 -3
  29. package/dist/constants/AADServerParamKeys.mjs.map +1 -1
  30. package/dist/crypto/ICrypto.mjs +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 +1 -1
  50. package/dist/logger/Logger.mjs +1 -1
  51. package/dist/network/INetworkModule.mjs +1 -1
  52. package/dist/network/RequestThumbprint.mjs +4 -1
  53. package/dist/network/RequestThumbprint.mjs.map +1 -1
  54. package/dist/network/ThrottlingUtils.mjs +1 -1
  55. package/dist/packageMetadata.mjs +2 -2
  56. package/dist/protocol/Authorize.mjs +1 -1
  57. package/dist/protocol/Token.mjs +1 -1
  58. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  59. package/dist/request/BaseAuthRequest.mjs +1 -1
  60. package/dist/request/BaseAuthRequest.mjs.map +1 -1
  61. package/dist/request/RequestParameterBuilder.mjs +94 -26
  62. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  63. package/dist/request/ScopeSet.mjs +1 -1
  64. package/dist/response/ResponseHandler.mjs +11 -3
  65. package/dist/response/ResponseHandler.mjs.map +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/PerformanceEvent.mjs.map +1 -1
  69. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  70. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  71. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  72. package/dist/url/UrlString.mjs +1 -1
  73. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  74. package/dist/utils/Constants.mjs +1 -1
  75. package/dist/utils/FunctionWrappers.mjs +1 -1
  76. package/dist/utils/ProtocolUtils.mjs +1 -1
  77. package/dist/utils/StringUtils.mjs +1 -1
  78. package/dist/utils/TimeUtils.mjs +1 -1
  79. package/dist/utils/UrlUtils.mjs +1 -1
  80. package/dist-browser/account/AccountInfo.mjs +1 -1
  81. package/dist-browser/account/AuthToken.mjs +1 -1
  82. package/dist-browser/account/CcsCredential.mjs +1 -1
  83. package/dist-browser/account/ClientInfo.mjs +1 -1
  84. package/dist-browser/account/TokenClaims.mjs +1 -1
  85. package/dist-browser/authority/Authority.mjs +1 -1
  86. package/dist-browser/authority/AuthorityFactory.mjs +1 -1
  87. package/dist-browser/authority/AuthorityMetadata.mjs +1 -1
  88. package/dist-browser/authority/AuthorityOptions.mjs +1 -1
  89. package/dist-browser/authority/AuthorityType.mjs +1 -1
  90. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  91. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  92. package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  93. package/dist-browser/authority/ProtocolMode.mjs +1 -1
  94. package/dist-browser/authority/RegionDiscovery.mjs +1 -1
  95. package/dist-browser/cache/CacheManager.mjs +28 -9
  96. package/dist-browser/cache/CacheManager.mjs.map +1 -1
  97. package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  98. package/dist-browser/cache/utils/AccountEntityUtils.mjs +1 -1
  99. package/dist-browser/cache/utils/CacheHelpers.mjs +15 -2
  100. package/dist-browser/cache/utils/CacheHelpers.mjs.map +1 -1
  101. package/dist-browser/client/AuthorizationCodeClient.mjs +8 -2
  102. package/dist-browser/client/AuthorizationCodeClient.mjs.map +1 -1
  103. package/dist-browser/client/RefreshTokenClient.mjs +8 -2
  104. package/dist-browser/client/RefreshTokenClient.mjs.map +1 -1
  105. package/dist-browser/client/SilentFlowClient.mjs +1 -1
  106. package/dist-browser/config/ClientConfiguration.mjs +1 -1
  107. package/dist-browser/constants/AADServerParamKeys.mjs +4 -3
  108. package/dist-browser/constants/AADServerParamKeys.mjs.map +1 -1
  109. package/dist-browser/crypto/ICrypto.mjs +1 -1
  110. package/dist-browser/crypto/JoseHeader.mjs +1 -1
  111. package/dist-browser/crypto/PopTokenGenerator.mjs +1 -1
  112. package/dist-browser/error/AuthError.mjs +1 -1
  113. package/dist-browser/error/AuthErrorCodes.mjs +1 -1
  114. package/dist-browser/error/CacheError.mjs +1 -1
  115. package/dist-browser/error/CacheErrorCodes.mjs +1 -1
  116. package/dist-browser/error/ClientAuthError.mjs +1 -1
  117. package/dist-browser/error/ClientAuthErrorCodes.mjs +1 -1
  118. package/dist-browser/error/ClientConfigurationError.mjs +1 -1
  119. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
  120. package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
  121. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  122. package/dist-browser/error/JoseHeaderError.mjs +1 -1
  123. package/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
  124. package/dist-browser/error/NetworkError.mjs +1 -1
  125. package/dist-browser/error/PlatformBrokerError.mjs +1 -1
  126. package/dist-browser/error/ServerError.mjs +1 -1
  127. package/dist-browser/index-browser.mjs +1 -1
  128. package/dist-browser/index.mjs +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 +4 -1
  133. package/dist-browser/network/RequestThumbprint.mjs.map +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/BaseAuthRequest.mjs.map +1 -1
  141. package/dist-browser/request/RequestParameterBuilder.mjs +94 -26
  142. package/dist-browser/request/RequestParameterBuilder.mjs.map +1 -1
  143. package/dist-browser/request/ScopeSet.mjs +1 -1
  144. package/dist-browser/response/ResponseHandler.mjs +11 -3
  145. package/dist-browser/response/ResponseHandler.mjs.map +1 -1
  146. package/dist-browser/telemetry/performance/PerformanceClient.mjs +1 -1
  147. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
  148. package/dist-browser/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  149. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  150. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  151. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  152. package/dist-browser/url/UrlString.mjs +1 -1
  153. package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
  154. package/dist-browser/utils/Constants.mjs +1 -1
  155. package/dist-browser/utils/FunctionWrappers.mjs +1 -1
  156. package/dist-browser/utils/ProtocolUtils.mjs +1 -1
  157. package/dist-browser/utils/StringUtils.mjs +1 -1
  158. package/dist-browser/utils/TimeUtils.mjs +1 -1
  159. package/dist-browser/utils/UrlUtils.mjs +1 -1
  160. package/lib/index-browser.cjs +2 -2
  161. package/lib/{index-node-JVUj78ag.js → index-node-3p7V__ym.js} +158 -35
  162. package/lib/index-node-3p7V__ym.js.map +1 -0
  163. package/lib/index-node.cjs +2 -2
  164. package/lib/index.cjs +2 -2
  165. package/package.json +1 -1
  166. package/src/cache/CacheManager.ts +54 -16
  167. package/src/cache/interface/ICacheManager.ts +7 -4
  168. package/src/cache/utils/CacheHelpers.ts +17 -0
  169. package/src/client/AuthorizationCodeClient.ts +13 -0
  170. package/src/client/RefreshTokenClient.ts +13 -0
  171. package/src/constants/AADServerParamKeys.ts +1 -0
  172. package/src/network/RequestThumbprint.ts +5 -0
  173. package/src/packageMetadata.ts +1 -1
  174. package/src/request/BaseAuthRequest.ts +4 -0
  175. package/src/request/RequestParameterBuilder.ts +119 -26
  176. package/src/response/ResponseHandler.ts +13 -1
  177. package/src/telemetry/performance/PerformanceEvent.ts +5 -0
  178. package/types/cache/CacheManager.d.ts +12 -7
  179. package/types/cache/CacheManager.d.ts.map +1 -1
  180. package/types/cache/interface/ICacheManager.d.ts +6 -4
  181. package/types/cache/interface/ICacheManager.d.ts.map +1 -1
  182. package/types/cache/utils/CacheHelpers.d.ts +7 -0
  183. package/types/cache/utils/CacheHelpers.d.ts.map +1 -1
  184. package/types/client/AuthorizationCodeClient.d.ts.map +1 -1
  185. package/types/client/RefreshTokenClient.d.ts.map +1 -1
  186. package/types/constants/AADServerParamKeys.d.ts +1 -0
  187. package/types/constants/AADServerParamKeys.d.ts.map +1 -1
  188. package/types/network/RequestThumbprint.d.ts +1 -0
  189. package/types/network/RequestThumbprint.d.ts.map +1 -1
  190. package/types/packageMetadata.d.ts +1 -1
  191. package/types/request/BaseAuthRequest.d.ts +4 -0
  192. package/types/request/BaseAuthRequest.d.ts.map +1 -1
  193. package/types/request/RequestParameterBuilder.d.ts +22 -4
  194. package/types/request/RequestParameterBuilder.d.ts.map +1 -1
  195. package/types/response/ResponseHandler.d.ts.map +1 -1
  196. package/types/telemetry/performance/PerformanceEvent.d.ts +4 -0
  197. package/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  198. package/lib/index-node-JVUj78ag.js.map +0 -1
@@ -38,6 +38,7 @@ import { ServerTelemetryEntity } from "./entities/ServerTelemetryEntity.js";
38
38
  import { ThrottlingEntity } from "./entities/ThrottlingEntity.js";
39
39
  import { ICacheManager } from "./interface/ICacheManager.js";
40
40
  import * as AccountEntityUtils from "./utils/AccountEntityUtils.js";
41
+ import * as CacheHelpers from "./utils/CacheHelpers.js";
41
42
  import {
42
43
  AccountFilter,
43
44
  AppMetadataCache,
@@ -125,14 +126,17 @@ export abstract class CacheManager implements ICacheManager {
125
126
  ): AccessTokenEntity | null;
126
127
 
127
128
  /**
128
- * set accessToken entity to the platform cache
129
- * @param accessToken
130
- * @param correlationId
129
+ * Set accessToken entity to the platform cache
130
+ * @param accessToken - the access token entity to cache
131
+ * @param correlationId - unique identifier for the request
132
+ * @param kmsi - keep me signed in flag
133
+ * @param additionalCacheKeyHash - hash of additionalCacheKeyComponents for credential key generation
131
134
  */
132
135
  abstract setAccessTokenCredential(
133
136
  accessToken: AccessTokenEntity,
134
137
  correlationId: string,
135
- kmsi: boolean
138
+ kmsi: boolean,
139
+ additionalCacheKeyHash?: string
136
140
  ): Promise<void>;
137
141
 
138
142
  /**
@@ -268,8 +272,12 @@ export abstract class CacheManager implements ICacheManager {
268
272
  /**
269
273
  * Returns credential cache key from the entity
270
274
  * @param credential
275
+ * @param additionalCacheKeyHash - optional precomputed hash of additionalCacheKeyComponents
271
276
  */
272
- abstract generateCredentialKey(credential: CredentialEntity): string;
277
+ abstract generateCredentialKey(
278
+ credential: CredentialEntity,
279
+ additionalCacheKeyHash?: string
280
+ ): string;
273
281
 
274
282
  /**
275
283
  * Returns the account cache key from the account info
@@ -673,13 +681,25 @@ export abstract class CacheManager implements ICacheManager {
673
681
 
674
682
  /**
675
683
  * saves access token credential
676
- * @param credential
684
+ * @param credential - the access token entity to save
685
+ * @param correlationId - unique identifier for the request
686
+ * @param kmsi - keep me signed in flag
677
687
  */
678
688
  private async saveAccessToken(
679
689
  credential: AccessTokenEntity,
680
690
  correlationId: string,
681
691
  kmsi: boolean
682
692
  ): Promise<void> {
693
+ // Compute hash from components on the entity itself — no need to thread externally.
694
+ let additionalCacheKeyHash: string | undefined;
695
+ if (
696
+ credential.additionalCacheKeyComponents &&
697
+ Object.keys(credential.additionalCacheKeyComponents).length > 0
698
+ ) {
699
+ additionalCacheKeyHash = await this.cryptoImpl.hashString(
700
+ JSON.stringify(credential.additionalCacheKeyComponents)
701
+ );
702
+ }
683
703
  const accessTokenFilter: CredentialFilter = {
684
704
  clientId: credential.clientId,
685
705
  credentialType: credential.credentialType,
@@ -724,7 +744,12 @@ export abstract class CacheManager implements ICacheManager {
724
744
  }
725
745
  }
726
746
  });
727
- await this.setAccessTokenCredential(credential, correlationId, kmsi);
747
+ await this.setAccessTokenCredential(
748
+ credential,
749
+ correlationId,
750
+ kmsi,
751
+ additionalCacheKeyHash
752
+ );
728
753
  }
729
754
 
730
755
  /**
@@ -1345,6 +1370,15 @@ export abstract class CacheManager implements ICacheManager {
1345
1370
  ? Constants.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME
1346
1371
  : Constants.CredentialType.ACCESS_TOKEN;
1347
1372
 
1373
+ const attributeTokenPartition = CacheHelpers.serializeAttributeTokens(
1374
+ request.attributeTokens
1375
+ );
1376
+ const additionalCacheKeyComponents = attributeTokenPartition
1377
+ ? {
1378
+ attribute_tokens: attributeTokenPartition,
1379
+ }
1380
+ : undefined;
1381
+
1348
1382
  const accessTokenFilter: CredentialFilter = {
1349
1383
  homeAccountId: account.homeAccountId,
1350
1384
  environment: account.environment,
@@ -1354,12 +1388,14 @@ export abstract class CacheManager implements ICacheManager {
1354
1388
  target: scopes,
1355
1389
  tokenType: authScheme,
1356
1390
  keyId: request.sshKid,
1391
+ additionalCacheKeyComponents: additionalCacheKeyComponents,
1357
1392
  };
1358
1393
 
1359
1394
  const accessTokenKeys =
1360
1395
  (tokenKeys && tokenKeys.accessToken) ||
1361
1396
  this.getTokenKeys().accessToken;
1362
1397
  const accessTokens: AccessTokenEntity[] = [];
1398
+ const matchedKeys: string[] = [];
1363
1399
 
1364
1400
  accessTokenKeys.forEach((key) => {
1365
1401
  // Validate key
@@ -1381,27 +1417,24 @@ export abstract class CacheManager implements ICacheManager {
1381
1417
  )
1382
1418
  ) {
1383
1419
  accessTokens.push(accessToken);
1420
+ matchedKeys.push(key);
1384
1421
  }
1385
1422
  }
1386
1423
  });
1387
1424
 
1388
- const numAccessTokens = accessTokens.length;
1389
- if (numAccessTokens < 1) {
1425
+ if (accessTokens.length < 1) {
1390
1426
  this.commonLogger.info(
1391
1427
  "CacheManager:getAccessToken - No token found",
1392
1428
  correlationId
1393
1429
  );
1394
1430
  return null;
1395
- } else if (numAccessTokens > 1) {
1431
+ } else if (accessTokens.length > 1) {
1396
1432
  this.commonLogger.info(
1397
1433
  "CacheManager:getAccessToken - Multiple access tokens found, clearing them",
1398
1434
  correlationId
1399
1435
  );
1400
- accessTokens.forEach((accessToken) => {
1401
- this.removeAccessToken(
1402
- this.generateCredentialKey(accessToken),
1403
- correlationId
1404
- );
1436
+ matchedKeys.forEach((key) => {
1437
+ this.removeAccessToken(key, correlationId);
1405
1438
  });
1406
1439
  this.performanceClient.addFields(
1407
1440
  { multiMatchedAT: accessTokens.length },
@@ -2113,7 +2146,12 @@ export class DefaultStorageClass extends CacheManager {
2113
2146
  ""
2114
2147
  );
2115
2148
  }
2116
- generateCredentialKey(): string {
2149
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2150
+ generateCredentialKey(
2151
+ _credential: CredentialEntity,
2152
+ _hash?: string
2153
+ ): string {
2154
+ /* eslint-enable @typescript-eslint/no-unused-vars */
2117
2155
  throw createClientAuthError(
2118
2156
  ClientAuthErrorCodes.methodNotImplemented,
2119
2157
  ""
@@ -69,14 +69,17 @@ export interface ICacheManager {
69
69
  ): AccessTokenEntity | null;
70
70
 
71
71
  /**
72
- * set idToken entity to the platform cache
73
- * @param accessToken
74
- * @param correlationId
72
+ * set accessToken entity to the platform cache
73
+ * @param accessToken - the access token entity to cache
74
+ * @param correlationId - unique identifier for the request
75
+ * @param kmsi - keep me signed in flag
76
+ * @param additionalCacheKeyHash - optional precomputed hash of additionalCacheKeyComponents used in key generation
75
77
  */
76
78
  setAccessTokenCredential(
77
79
  accessToken: AccessTokenEntity,
78
80
  correlationId: string,
79
- kmsi: boolean
81
+ kmsi: boolean,
82
+ additionalCacheKeyHash?: string
80
83
  ): Promise<void>;
81
84
 
82
85
  /**
@@ -390,3 +390,20 @@ export function isAuthorityMetadataExpired(
390
390
  ): boolean {
391
391
  return metadata.expiresAt <= TimeUtils.nowSeconds();
392
392
  }
393
+
394
+ /**
395
+ * Serialize attribute tokens synchronously (sort and join).
396
+ * This is a sync-only operation for use at request construction time.
397
+ * @param attributeTokens - array of tokens
398
+ * @returns serialized partition string or undefined if no tokens
399
+ */
400
+ export function serializeAttributeTokens(
401
+ attributeTokens?: Array<string>
402
+ ): string | undefined {
403
+ if (!attributeTokens || attributeTokens.length === 0) {
404
+ return undefined;
405
+ }
406
+
407
+ // Serialize: sort and join tokens
408
+ return [...attributeTokens].sort().join(" ");
409
+ }
@@ -344,6 +344,19 @@ export class AuthorizationCodeClient {
344
344
 
345
345
  RequestParameterBuilder.addResource(parameters, request.resource);
346
346
 
347
+ if (request.attributeTokens) {
348
+ RequestParameterBuilder.addAttributeTokens(
349
+ parameters,
350
+ request.attributeTokens
351
+ );
352
+ }
353
+ this.performanceClient?.addFields(
354
+ {
355
+ hasAttributeTokens: !!request.attributeTokens?.length,
356
+ },
357
+ request.correlationId
358
+ );
359
+
347
360
  // add code: user set, not validated
348
361
  RequestParameterBuilder.addAuthorizationCode(parameters, request.code);
349
362
 
@@ -445,6 +445,19 @@ export class RefreshTokenClient {
445
445
  request.refreshToken
446
446
  );
447
447
 
448
+ if (request.attributeTokens) {
449
+ RequestParameterBuilder.addAttributeTokens(
450
+ parameters,
451
+ request.attributeTokens
452
+ );
453
+ }
454
+ this.performanceClient?.addFields(
455
+ {
456
+ hasAttributeTokens: !!request.attributeTokens?.length,
457
+ },
458
+ request.correlationId
459
+ );
460
+
448
461
  if (this.config.clientCredentials.clientSecret) {
449
462
  RequestParameterBuilder.addClientSecret(
450
463
  parameters,
@@ -68,3 +68,4 @@ export const USER_FEDERATED_IDENTITY_CREDENTIAL =
68
68
  export const USERNAME = "username";
69
69
  export const USER_ID = "user_id";
70
70
  export const FMI_PATH = "fmi_path";
71
+ export const ATTRIBUTE_TOKENS = "attribute_tokens";
@@ -6,6 +6,7 @@
6
6
  import { ShrOptions } from "../crypto/SignedHttpRequest.js";
7
7
  import { BaseAuthRequest } from "../request/BaseAuthRequest.js";
8
8
  import { AuthenticationScheme } from "../utils/Constants.js";
9
+ import * as CacheHelpers from "../cache/utils/CacheHelpers.js";
9
10
 
10
11
  /**
11
12
  * Type representing a unique request thumbprint.
@@ -24,6 +25,7 @@ export type RequestThumbprint = {
24
25
  shrOptions?: ShrOptions;
25
26
  embeddedClientId?: string;
26
27
  resource?: string;
28
+ attributeTokens?: string;
27
29
  };
28
30
 
29
31
  export function getRequestThumbprint(
@@ -45,5 +47,8 @@ export function getRequestThumbprint(
45
47
  embeddedClientId:
46
48
  request.embeddedClientId || request.extraParameters?.clientId,
47
49
  resource: request.resource,
50
+ attributeTokens: CacheHelpers.serializeAttributeTokens(
51
+ request.attributeTokens
52
+ ),
48
53
  };
49
54
  }
@@ -1,3 +1,3 @@
1
1
  /* eslint-disable header/header */
2
2
  export const name = "@azure/msal-common";
3
- export const version = "16.11.3";
3
+ export const version = "16.12.0";
@@ -111,6 +111,10 @@ export type BaseAuthRequest = {
111
111
  * String to string map of custom parameters added to outgoing token service requests.
112
112
  */
113
113
  extraParameters?: StringDict;
114
+ /**
115
+ * Optional caller-provided attribute tokens (opaque assertions from external Attribute Authorities).
116
+ */
117
+ attributeTokens?: Array<string>;
114
118
  };
115
119
 
116
120
  /**
@@ -6,6 +6,7 @@
6
6
  import * as Constants from "../utils/Constants.js";
7
7
  import * as AADServerParamKeys from "../constants/AADServerParamKeys.js";
8
8
  import { ScopeSet } from "./ScopeSet.js";
9
+ import * as CacheHelpers from "../cache/utils/CacheHelpers.js";
9
10
  import {
10
11
  createClientConfigurationError,
11
12
  ClientConfigurationErrorCodes,
@@ -209,13 +210,15 @@ export function addSid(parameters: Map<string, string>, sid: string): void {
209
210
  * @param claims - The claims string from the request
210
211
  * @param clientCapabilities - The client capabilities from configuration
211
212
  * @param skipBrokerClaims - When true and BROKER_CLIENT_ID is present, excludes clientCapabilities from claims
213
+ * @param claimsToMerge - Optional client-originated claims JSON string (e.g. `claimsFromClient`) deep-merged into `claims` with precedence on conflicts
212
214
  */
213
215
  export function addClaims(
214
216
  parameters: Map<string, string>,
215
217
  correlationId: string,
216
218
  claims?: string,
217
219
  clientCapabilities?: Array<string>,
218
- skipBrokerClaims?: boolean
220
+ skipBrokerClaims?: boolean,
221
+ claimsToMerge?: string
219
222
  ): void {
220
223
  // Skip clientCapabilities if skipBrokerClaims is set to true and this is a brokered authentication flow
221
224
  const configClaims =
@@ -223,7 +226,12 @@ export function addClaims(
223
226
  ? undefined
224
227
  : clientCapabilities;
225
228
 
226
- const mergedClaims = buildMergedClaims(claims, configClaims, correlationId);
229
+ const mergedClaims = buildMergedClaims(
230
+ claims,
231
+ configClaims,
232
+ correlationId,
233
+ claimsToMerge
234
+ );
227
235
  parameters.set(AADServerParamKeys.CLAIMS, mergedClaims);
228
236
  }
229
237
 
@@ -491,40 +499,103 @@ const DEFAULT_ID_TOKEN_CLAIMS: Record<string, { essential: false }> = {
491
499
  };
492
500
 
493
501
  /**
494
- * Parses claims JSON, merges default optional idToken claims (signin_state, login_hint),
495
- * and appends client capabilities (xms_cc) to the access_token section.
502
+ * Parses a claims JSON string into an object, throwing a ClientConfigurationError
503
+ * (error code `invalid_claims`) if the value is not a valid JSON object. The raw
504
+ * claims value is never included in the error - it may contain sensitive data.
505
+ * @param claims - Claims JSON string. Must be valid JSON representing an object.
506
+ * @param correlationId - The request correlation id
507
+ * @returns The parsed claims object
508
+ */
509
+ function parseClaims(
510
+ claims: string,
511
+ correlationId: string = ""
512
+ ): Record<string, unknown> {
513
+ let parsed: unknown;
514
+ try {
515
+ parsed = JSON.parse(claims);
516
+ } catch (e) {
517
+ // Malformed JSON
518
+ throw createClientConfigurationError(
519
+ ClientConfigurationErrorCodes.invalidClaims,
520
+ correlationId
521
+ );
522
+ }
523
+
524
+ if (!isPlainObject(parsed)) {
525
+ // Valid JSON, but not an object (e.g. an array, a scalar, or the literal `null`).
526
+ throw createClientConfigurationError(
527
+ ClientConfigurationErrorCodes.invalidClaims,
528
+ correlationId
529
+ );
530
+ }
531
+
532
+ return parsed;
533
+ }
534
+
535
+ /**
536
+ * Type guard for a non-null, non-array object (a JSON "object" value).
537
+ * @param value - The value to test
538
+ * @returns True when value is a plain object that can be deep-merged
539
+ */
540
+ function isPlainObject(value: unknown): value is Record<string, unknown> {
541
+ return typeof value === "object" && value !== null && !Array.isArray(value);
542
+ }
543
+
544
+ /**
545
+ * Recursively deep-merges two parsed claims objects. Nested objects are merged key-by-key;
546
+ * for any other value type (arrays, scalars, null) the value from `claimsToMerge` replaces
547
+ * the base. This mirrors the deep merge used by msal-dotnet so that, for example, a server
548
+ * `access_token` challenge and a client-originated `access_token` claim are combined rather
549
+ * than one clobbering the other.
550
+ * @param baseClaims - The parsed base claims object
551
+ * @param claimsToMerge - The parsed claims object merged in with precedence
552
+ * @returns The deep-merged claims object
553
+ */
554
+ function deepMergeClaims(
555
+ baseClaims: Record<string, unknown>,
556
+ claimsToMerge: Record<string, unknown>
557
+ ): Record<string, unknown> {
558
+ const merged: Record<string, unknown> = { ...baseClaims };
559
+ for (const [key, mergeInValue] of Object.entries(claimsToMerge)) {
560
+ const baseValue = merged[key];
561
+ if (isPlainObject(baseValue) && isPlainObject(mergeInValue)) {
562
+ merged[key] = deepMergeClaims(baseValue, mergeInValue);
563
+ } else {
564
+ merged[key] = mergeInValue;
565
+ }
566
+ }
567
+ return merged;
568
+ }
569
+
570
+ /**
571
+ * Parses claims JSON, optionally deep-merges a second client-originated claims string
572
+ * (`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.
496
575
  * Does not overwrite idToken claims already specified by the caller.
497
576
  * @param claims - Existing claims JSON string from the request (may be undefined)
498
577
  * @param clientCapabilities - Client capabilities array from configuration
578
+ * @param correlationId - The request correlation id
579
+ * @param claimsToMerge - Optional second claims JSON string (e.g. client-originated `claimsFromClient`)
580
+ * deep-merged into `claims` with precedence on conflicts; parsed and validated when present. Nested
581
+ * objects are merged recursively; arrays and scalar values are replaced.
499
582
  * @returns Merged claims JSON string
500
583
  */
501
584
  export function buildMergedClaims(
502
585
  claims?: string,
503
586
  clientCapabilities?: Array<string>,
504
- correlationId: string = ""
587
+ correlationId: string = "",
588
+ claimsToMerge?: string
505
589
  ): string {
506
- let mergedClaims: object;
507
-
508
590
  // Parse provided claims into JSON object or initialize empty object
509
- if (!claims) {
510
- mergedClaims = {};
511
- } else {
512
- try {
513
- const parsed = JSON.parse(claims);
514
- if (
515
- typeof parsed !== "object" ||
516
- parsed === null ||
517
- Array.isArray(parsed)
518
- ) {
519
- throw new Error("Claims must be a JSON object");
520
- }
521
- mergedClaims = parsed;
522
- } catch (e) {
523
- throw createClientConfigurationError(
524
- ClientConfigurationErrorCodes.invalidClaims,
525
- correlationId
526
- );
527
- }
591
+ let mergedClaims: object = claims ? parseClaims(claims, correlationId) : {};
592
+
593
+ // Deep-merge client-originated claims (e.g. `claimsFromClient`) with precedence on conflicts
594
+ if (claimsToMerge?.trim()) {
595
+ mergedClaims = deepMergeClaims(
596
+ mergedClaims as Record<string, unknown>,
597
+ parseClaims(claimsToMerge, correlationId)
598
+ );
528
599
  }
529
600
 
530
601
  // Add default optional idToken claims
@@ -700,3 +771,25 @@ export function addResource(
700
771
  parameters.set(AADServerParamKeys.RESOURCE, resource);
701
772
  }
702
773
  }
774
+
775
+ /**
776
+ * Add the `attribute_tokens` parameter to a /token request body.
777
+ *
778
+ * When `attributeTokens` is a non-empty array the values are sorted lexicographically and joined
779
+ * with a single space, then written to the request body. When `attributeTokens` is an empty array
780
+ * the parameter is deleted from the request body.
781
+ *
782
+ * @param parameters - request parameter map that will be serialized into the /token body
783
+ * @param attributeTokens - caller-provided attribute token strings
784
+ */
785
+ export function addAttributeTokens(
786
+ parameters: Map<string, string>,
787
+ attributeTokens: Array<string>
788
+ ): void {
789
+ const serialized = CacheHelpers.serializeAttributeTokens(attributeTokens);
790
+ if (serialized) {
791
+ parameters.set(AADServerParamKeys.ATTRIBUTE_TOKENS, serialized);
792
+ } else {
793
+ parameters.delete(AADServerParamKeys.ATTRIBUTE_TOKENS);
794
+ }
795
+ }
@@ -238,6 +238,18 @@ export class ResponseHandler {
238
238
  serverTokenResponse.key_id =
239
239
  serverTokenResponse.key_id || request.sshKid || undefined;
240
240
 
241
+ // Compute components once for entity storage (fallback if hash not provided by client)
242
+ const attributeTokenPartition = CacheHelpers.serializeAttributeTokens(
243
+ request.attributeTokens
244
+ );
245
+ const cacheKeyComponents: Record<string, string> | undefined =
246
+ additionalCacheKeyComponents ??
247
+ (attributeTokenPartition
248
+ ? {
249
+ attribute_tokens: attributeTokenPartition,
250
+ }
251
+ : undefined);
252
+
241
253
  const cacheRecord = this.generateCacheRecord(
242
254
  serverTokenResponse,
243
255
  authority,
@@ -246,7 +258,7 @@ export class ResponseHandler {
246
258
  idTokenClaims,
247
259
  userAssertionHash,
248
260
  authCodePayload,
249
- additionalCacheKeyComponents
261
+ cacheKeyComponents
250
262
  );
251
263
  let cacheContext;
252
264
  try {
@@ -429,6 +429,11 @@ export type PerformanceEvent = {
429
429
  */
430
430
  deduped?: boolean;
431
431
 
432
+ /**
433
+ * Whether caller-provided attribute tokens are present on the request
434
+ */
435
+ hasAttributeTokens?: boolean;
436
+
432
437
  /**
433
438
  * Whether the user has "Keep Me Signed In" enabled
434
439
  */
@@ -56,11 +56,13 @@ export declare abstract class CacheManager implements ICacheManager {
56
56
  */
57
57
  abstract getAccessTokenCredential(accessTokenKey: string, correlationId: string): AccessTokenEntity | null;
58
58
  /**
59
- * set accessToken entity to the platform cache
60
- * @param accessToken
61
- * @param correlationId
59
+ * Set accessToken entity to the platform cache
60
+ * @param accessToken - the access token entity to cache
61
+ * @param correlationId - unique identifier for the request
62
+ * @param kmsi - keep me signed in flag
63
+ * @param additionalCacheKeyHash - hash of additionalCacheKeyComponents for credential key generation
62
64
  */
63
- abstract setAccessTokenCredential(accessToken: AccessTokenEntity, correlationId: string, kmsi: boolean): Promise<void>;
65
+ abstract setAccessTokenCredential(accessToken: AccessTokenEntity, correlationId: string, kmsi: boolean, additionalCacheKeyHash?: string): Promise<void>;
64
66
  /**
65
67
  * fetch the idToken entity from the platform cache
66
68
  * @param refreshTokenKey
@@ -145,8 +147,9 @@ export declare abstract class CacheManager implements ICacheManager {
145
147
  /**
146
148
  * Returns credential cache key from the entity
147
149
  * @param credential
150
+ * @param additionalCacheKeyHash - optional precomputed hash of additionalCacheKeyComponents
148
151
  */
149
- abstract generateCredentialKey(credential: CredentialEntity): string;
152
+ abstract generateCredentialKey(credential: CredentialEntity, additionalCacheKeyHash?: string): string;
150
153
  /**
151
154
  * Returns the account cache key from the account info
152
155
  * @param account
@@ -189,7 +192,9 @@ export declare abstract class CacheManager implements ICacheManager {
189
192
  saveCacheRecord(cacheRecord: CacheRecord, correlationId: string, kmsi: boolean, apiId: number, storeInCache?: StoreInCache): Promise<void>;
190
193
  /**
191
194
  * saves access token credential
192
- * @param credential
195
+ * @param credential - the access token entity to save
196
+ * @param correlationId - unique identifier for the request
197
+ * @param kmsi - keep me signed in flag
193
198
  */
194
199
  private saveAccessToken;
195
200
  /**
@@ -472,7 +477,7 @@ export declare class DefaultStorageClass extends CacheManager {
472
477
  getKeys(): string[];
473
478
  getAccountKeys(): string[];
474
479
  getTokenKeys(): TokenKeys;
475
- generateCredentialKey(): string;
480
+ generateCredentialKey(_credential: CredentialEntity, _hash?: string): string;
476
481
  generateAccountKey(): string;
477
482
  }
478
483
  //# sourceMappingURL=CacheManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"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"}
@@ -43,11 +43,13 @@ export interface ICacheManager {
43
43
  */
44
44
  getAccessTokenCredential(accessTokenKey: string, correlationId: string): AccessTokenEntity | null;
45
45
  /**
46
- * set idToken entity to the platform cache
47
- * @param accessToken
48
- * @param correlationId
46
+ * set accessToken entity to the platform cache
47
+ * @param accessToken - the access token entity to cache
48
+ * @param correlationId - unique identifier for the request
49
+ * @param kmsi - keep me signed in flag
50
+ * @param additionalCacheKeyHash - optional precomputed hash of additionalCacheKeyComponents used in key generation
49
51
  */
50
- setAccessTokenCredential(accessToken: AccessTokenEntity, correlationId: string, kmsi: boolean): Promise<void>;
52
+ setAccessTokenCredential(accessToken: AccessTokenEntity, correlationId: string, kmsi: boolean, additionalCacheKeyHash?: string): Promise<void>;
51
53
  /**
52
54
  * fetch the idToken entity from the platform cache
53
55
  * @param refreshTokenKey
@@ -1 +1 @@
1
- {"version":3,"file":"ICacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ICacheManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ICacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ICacheManager.ts"],"names":[],"mappings":"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"}