@azure/msal-common 14.15.0 → 14.16.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 (225) hide show
  1. package/dist/account/AccountInfo.d.ts +1 -0
  2. package/dist/account/AccountInfo.d.ts.map +1 -1
  3. package/dist/account/AccountInfo.mjs +1 -1
  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/broker/nativeBroker/INativeBrokerPlugin.d.ts +1 -0
  20. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts.map +1 -1
  21. package/dist/cache/CacheManager.d.ts +34 -39
  22. package/dist/cache/CacheManager.d.ts.map +1 -1
  23. package/dist/cache/CacheManager.mjs +84 -102
  24. package/dist/cache/CacheManager.mjs.map +1 -1
  25. package/dist/cache/entities/AccountEntity.d.ts +1 -0
  26. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  27. package/dist/cache/entities/AccountEntity.mjs +1 -1
  28. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  29. package/dist/cache/entities/CredentialEntity.d.ts +2 -0
  30. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  31. package/dist/cache/interface/ICacheManager.d.ts +21 -21
  32. package/dist/cache/interface/ICacheManager.d.ts.map +1 -1
  33. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  34. package/dist/cache/utils/CacheHelpers.mjs +1 -1
  35. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  36. package/dist/client/AuthorizationCodeClient.mjs +24 -13
  37. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  38. package/dist/client/BaseClient.d.ts +10 -3
  39. package/dist/client/BaseClient.d.ts.map +1 -1
  40. package/dist/client/BaseClient.mjs +62 -10
  41. package/dist/client/BaseClient.mjs.map +1 -1
  42. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  43. package/dist/client/RefreshTokenClient.mjs +12 -6
  44. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  45. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  46. package/dist/client/SilentFlowClient.mjs +4 -4
  47. package/dist/client/SilentFlowClient.mjs.map +1 -1
  48. package/dist/config/ClientConfiguration.d.ts +2 -0
  49. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  50. package/dist/config/ClientConfiguration.mjs +1 -1
  51. package/dist/config/ClientConfiguration.mjs.map +1 -1
  52. package/dist/constants/AADServerParamKeys.d.ts +2 -0
  53. package/dist/constants/AADServerParamKeys.d.ts.map +1 -1
  54. package/dist/constants/AADServerParamKeys.mjs +5 -3
  55. package/dist/constants/AADServerParamKeys.mjs.map +1 -1
  56. package/dist/crypto/ICrypto.mjs +1 -1
  57. package/dist/crypto/JoseHeader.mjs +1 -1
  58. package/dist/crypto/PopTokenGenerator.mjs +1 -1
  59. package/dist/error/AuthError.mjs +1 -1
  60. package/dist/error/AuthErrorCodes.mjs +1 -1
  61. package/dist/error/CacheError.d.ts +6 -0
  62. package/dist/error/CacheError.d.ts.map +1 -1
  63. package/dist/error/CacheError.mjs +24 -6
  64. package/dist/error/CacheError.mjs.map +1 -1
  65. package/dist/error/CacheErrorCodes.d.ts +2 -2
  66. package/dist/error/CacheErrorCodes.d.ts.map +1 -1
  67. package/dist/error/CacheErrorCodes.mjs +4 -4
  68. package/dist/error/CacheErrorCodes.mjs.map +1 -1
  69. package/dist/error/ClientAuthError.mjs +1 -1
  70. package/dist/error/ClientAuthErrorCodes.mjs +1 -1
  71. package/dist/error/ClientConfigurationError.mjs +1 -1
  72. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  73. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  74. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  75. package/dist/error/JoseHeaderError.mjs +1 -1
  76. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  77. package/dist/error/NetworkError.d.ts +19 -0
  78. package/dist/error/NetworkError.d.ts.map +1 -0
  79. package/dist/error/NetworkError.mjs +34 -0
  80. package/dist/error/NetworkError.mjs.map +1 -0
  81. package/dist/error/ServerError.mjs +1 -1
  82. package/dist/exports-common.d.ts +3 -2
  83. package/dist/exports-common.d.ts.map +1 -1
  84. package/dist/index-browser.mjs +3 -3
  85. package/dist/index-node.mjs +3 -3
  86. package/dist/index.mjs +3 -3
  87. package/dist/logger/Logger.mjs +1 -1
  88. package/dist/network/INetworkModule.d.ts +1 -1
  89. package/dist/network/INetworkModule.d.ts.map +1 -1
  90. package/dist/network/INetworkModule.mjs +1 -1
  91. package/dist/network/NetworkResponse.d.ts +6 -0
  92. package/dist/network/NetworkResponse.d.ts.map +1 -0
  93. package/dist/network/ThrottlingUtils.d.ts +3 -3
  94. package/dist/network/ThrottlingUtils.d.ts.map +1 -1
  95. package/dist/network/ThrottlingUtils.mjs +6 -6
  96. package/dist/network/ThrottlingUtils.mjs.map +1 -1
  97. package/dist/packageMetadata.d.ts +1 -1
  98. package/dist/packageMetadata.mjs +2 -2
  99. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  100. package/dist/request/BaseAuthRequest.d.ts +2 -0
  101. package/dist/request/BaseAuthRequest.d.ts.map +1 -1
  102. package/dist/request/RequestParameterBuilder.d.ts +8 -1
  103. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  104. package/dist/request/RequestParameterBuilder.mjs +26 -3
  105. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  106. package/dist/request/RequestValidator.mjs +1 -1
  107. package/dist/request/ScopeSet.mjs +1 -1
  108. package/dist/response/ResponseHandler.d.ts +1 -1
  109. package/dist/response/ResponseHandler.d.ts.map +1 -1
  110. package/dist/response/ResponseHandler.mjs +6 -6
  111. package/dist/response/ResponseHandler.mjs.map +1 -1
  112. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  113. package/dist/telemetry/performance/PerformanceClient.mjs +29 -10
  114. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  115. package/dist/telemetry/performance/PerformanceEvent.d.ts +9 -0
  116. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  117. package/dist/telemetry/performance/PerformanceEvent.mjs +6 -1
  118. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  119. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  120. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  121. package/dist/telemetry/server/ServerTelemetryManager.mjs +7 -7
  122. package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  123. package/dist/url/UrlString.mjs +1 -1
  124. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  125. package/dist/utils/Constants.d.ts +1 -0
  126. package/dist/utils/Constants.d.ts.map +1 -1
  127. package/dist/utils/Constants.mjs +2 -1
  128. package/dist/utils/Constants.mjs.map +1 -1
  129. package/dist/utils/FunctionWrappers.mjs +1 -1
  130. package/dist/utils/ProtocolUtils.mjs +1 -1
  131. package/dist/utils/StringUtils.mjs +1 -1
  132. package/dist/utils/TimeUtils.mjs +1 -1
  133. package/dist/utils/UrlUtils.mjs +1 -1
  134. package/lib/index-browser.cjs +34 -13
  135. package/lib/index-browser.cjs.map +1 -1
  136. package/lib/{index-node-aee3f7b6.js → index-node-CebvEPer.js} +390 -298
  137. package/lib/index-node-CebvEPer.js.map +1 -0
  138. package/lib/index-node.cjs +6 -4
  139. package/lib/index-node.cjs.map +1 -1
  140. package/lib/index.cjs +6 -4
  141. package/lib/index.cjs.map +1 -1
  142. package/lib/types/account/AccountInfo.d.ts +1 -0
  143. package/lib/types/account/AccountInfo.d.ts.map +1 -1
  144. package/lib/types/broker/nativeBroker/INativeBrokerPlugin.d.ts +1 -0
  145. package/lib/types/broker/nativeBroker/INativeBrokerPlugin.d.ts.map +1 -1
  146. package/lib/types/cache/CacheManager.d.ts +34 -39
  147. package/lib/types/cache/CacheManager.d.ts.map +1 -1
  148. package/lib/types/cache/entities/AccountEntity.d.ts +1 -0
  149. package/lib/types/cache/entities/AccountEntity.d.ts.map +1 -1
  150. package/lib/types/cache/entities/CredentialEntity.d.ts +2 -0
  151. package/lib/types/cache/entities/CredentialEntity.d.ts.map +1 -1
  152. package/lib/types/cache/interface/ICacheManager.d.ts +21 -21
  153. package/lib/types/cache/interface/ICacheManager.d.ts.map +1 -1
  154. package/lib/types/client/AuthorizationCodeClient.d.ts.map +1 -1
  155. package/lib/types/client/BaseClient.d.ts +10 -3
  156. package/lib/types/client/BaseClient.d.ts.map +1 -1
  157. package/lib/types/client/RefreshTokenClient.d.ts.map +1 -1
  158. package/lib/types/client/SilentFlowClient.d.ts.map +1 -1
  159. package/lib/types/config/ClientConfiguration.d.ts +2 -0
  160. package/lib/types/config/ClientConfiguration.d.ts.map +1 -1
  161. package/lib/types/constants/AADServerParamKeys.d.ts +2 -0
  162. package/lib/types/constants/AADServerParamKeys.d.ts.map +1 -1
  163. package/lib/types/error/CacheError.d.ts +6 -0
  164. package/lib/types/error/CacheError.d.ts.map +1 -1
  165. package/lib/types/error/CacheErrorCodes.d.ts +2 -2
  166. package/lib/types/error/CacheErrorCodes.d.ts.map +1 -1
  167. package/lib/types/error/NetworkError.d.ts +19 -0
  168. package/lib/types/error/NetworkError.d.ts.map +1 -0
  169. package/lib/types/exports-common.d.ts +3 -2
  170. package/lib/types/exports-common.d.ts.map +1 -1
  171. package/lib/types/network/INetworkModule.d.ts +1 -1
  172. package/lib/types/network/INetworkModule.d.ts.map +1 -1
  173. package/lib/types/network/NetworkResponse.d.ts +6 -0
  174. package/lib/types/network/NetworkResponse.d.ts.map +1 -0
  175. package/lib/types/network/ThrottlingUtils.d.ts +3 -3
  176. package/lib/types/network/ThrottlingUtils.d.ts.map +1 -1
  177. package/lib/types/packageMetadata.d.ts +1 -1
  178. package/lib/types/request/BaseAuthRequest.d.ts +2 -0
  179. package/lib/types/request/BaseAuthRequest.d.ts.map +1 -1
  180. package/lib/types/request/RequestParameterBuilder.d.ts +8 -1
  181. package/lib/types/request/RequestParameterBuilder.d.ts.map +1 -1
  182. package/lib/types/response/ResponseHandler.d.ts +1 -1
  183. package/lib/types/response/ResponseHandler.d.ts.map +1 -1
  184. package/lib/types/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  185. package/lib/types/telemetry/performance/PerformanceEvent.d.ts +9 -0
  186. package/lib/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  187. package/lib/types/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  188. package/lib/types/utils/Constants.d.ts +1 -0
  189. package/lib/types/utils/Constants.d.ts.map +1 -1
  190. package/package.json +2 -4
  191. package/src/account/AccountInfo.ts +1 -0
  192. package/src/authority/RegionDiscovery.ts +1 -1
  193. package/src/cache/CacheManager.ts +184 -131
  194. package/src/cache/entities/AccountEntity.ts +1 -0
  195. package/src/cache/entities/CredentialEntity.ts +2 -0
  196. package/src/cache/interface/ICacheManager.ts +45 -20
  197. package/src/client/AuthorizationCodeClient.ts +37 -16
  198. package/src/client/BaseClient.ts +113 -22
  199. package/src/client/RefreshTokenClient.ts +20 -8
  200. package/src/client/SilentFlowClient.ts +7 -5
  201. package/src/config/ClientConfiguration.ts +2 -0
  202. package/src/constants/AADServerParamKeys.ts +2 -0
  203. package/src/error/CacheError.ts +24 -4
  204. package/src/error/CacheErrorCodes.ts +2 -2
  205. package/src/error/NetworkError.ts +44 -0
  206. package/src/exports-common.ts +7 -6
  207. package/src/network/INetworkModule.ts +1 -1
  208. package/src/network/NetworkResponse.ts +10 -0
  209. package/src/network/ThrottlingUtils.ts +9 -6
  210. package/src/packageMetadata.ts +1 -1
  211. package/src/request/BaseAuthRequest.ts +2 -0
  212. package/src/request/RequestParameterBuilder.ts +51 -1
  213. package/src/response/ResponseHandler.ts +14 -4
  214. package/src/telemetry/performance/PerformanceClient.ts +42 -12
  215. package/src/telemetry/performance/PerformanceEvent.ts +15 -0
  216. package/src/telemetry/server/ServerTelemetryManager.ts +14 -6
  217. package/src/utils/Constants.ts +1 -0
  218. package/dist/network/NetworkManager.d.ts +0 -34
  219. package/dist/network/NetworkManager.d.ts.map +0 -1
  220. package/dist/network/NetworkManager.mjs +0 -44
  221. package/dist/network/NetworkManager.mjs.map +0 -1
  222. package/lib/index-node-aee3f7b6.js.map +0 -1
  223. package/lib/types/network/NetworkManager.d.ts +0 -34
  224. package/lib/types/network/NetworkManager.d.ts.map +0 -1
  225. package/src/network/NetworkManager.ts +0 -76
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-common v14.15.0 2024-09-20 */
1
+ /*! @azure/msal-common v14.16.1 2025-08-05 */
2
2
  'use strict';
3
3
  import { Separators, CredentialType, AuthenticationScheme, THE_FAMILY_ID, APP_METADATA, AUTHORITY_METADATA_CONSTANTS } from '../utils/Constants.mjs';
4
4
  import { generateCredentialKey } from './utils/CacheHelpers.mjs';
@@ -9,9 +9,9 @@ import { updateAccountTenantProfileData, tenantIdMatchesHomeTenant } from '../ac
9
9
  import { extractTokenClaims } from '../account/AuthToken.mjs';
10
10
  import { name, version } from '../packageMetadata.mjs';
11
11
  import { getAliasesFromStaticSources } from '../authority/AuthorityMetadata.mjs';
12
- import { CacheError } from '../error/CacheError.mjs';
13
- import { invalidCacheRecord, bindingKeyNotRemoved, multipleMatchingAppMetadata, methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';
14
- import { cacheQuotaExceededErrorCode, cacheUnknownErrorCode } from '../error/CacheErrorCodes.mjs';
12
+ import { createCacheError } from '../error/CacheError.mjs';
13
+ import { AuthError } from '../error/AuthError.mjs';
14
+ import { invalidCacheRecord, multipleMatchingAppMetadata, methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';
15
15
 
16
16
  /*
17
17
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -33,14 +33,14 @@ class CacheManager {
33
33
  * @param accountFilter - (Optional) filter to narrow down the accounts returned
34
34
  * @returns Array of AccountInfo objects in cache
35
35
  */
36
- getAllAccounts(accountFilter) {
37
- return this.buildTenantProfiles(this.getAccountsFilteredBy(accountFilter || {}), accountFilter);
36
+ getAllAccounts(correlationId, accountFilter) {
37
+ return this.buildTenantProfiles(this.getAccountsFilteredBy(accountFilter || {}, correlationId), correlationId, accountFilter);
38
38
  }
39
39
  /**
40
40
  * Gets first tenanted AccountInfo object found based on provided filters
41
41
  */
42
- getAccountInfoFilteredBy(accountFilter) {
43
- const allAccounts = this.getAllAccounts(accountFilter);
42
+ getAccountInfoFilteredBy(accountFilter, correlationId) {
43
+ const allAccounts = this.getAllAccounts(correlationId, accountFilter);
44
44
  if (allAccounts.length > 1) {
45
45
  // If one or more accounts are found, prioritize accounts that have an ID token
46
46
  const sortedAccounts = allAccounts.sort((account) => {
@@ -61,8 +61,8 @@ class CacheManager {
61
61
  * @param accountFilter
62
62
  * @returns
63
63
  */
64
- getBaseAccountInfo(accountFilter) {
65
- const accountEntities = this.getAccountsFilteredBy(accountFilter);
64
+ getBaseAccountInfo(accountFilter, correlationId) {
65
+ const accountEntities = this.getAccountsFilteredBy(accountFilter, correlationId);
66
66
  if (accountEntities.length > 0) {
67
67
  return accountEntities[0].getAccountInfo();
68
68
  }
@@ -77,12 +77,12 @@ class CacheManager {
77
77
  * @param accountFilter
78
78
  * @returns Array of AccountInfo objects that match account and tenant profile filters
79
79
  */
80
- buildTenantProfiles(cachedAccounts, accountFilter) {
80
+ buildTenantProfiles(cachedAccounts, correlationId, accountFilter) {
81
81
  return cachedAccounts.flatMap((accountEntity) => {
82
- return this.getTenantProfilesFromAccountEntity(accountEntity, accountFilter?.tenantId, accountFilter);
82
+ return this.getTenantProfilesFromAccountEntity(accountEntity, correlationId, accountFilter?.tenantId, accountFilter);
83
83
  });
84
84
  }
85
- getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, tenantProfileFilter) {
85
+ getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, correlationId, tenantProfileFilter) {
86
86
  let tenantedAccountInfo = null;
87
87
  let idTokenClaims;
88
88
  if (tenantProfileFilter) {
@@ -90,7 +90,7 @@ class CacheManager {
90
90
  return null;
91
91
  }
92
92
  }
93
- const idToken = this.getIdToken(accountInfo, tokenKeys, tenantProfile.tenantId);
93
+ const idToken = this.getIdToken(accountInfo, correlationId, tokenKeys, tenantProfile.tenantId);
94
94
  if (idToken) {
95
95
  idTokenClaims = extractTokenClaims(idToken.secret, this.cryptoImpl.base64Decode);
96
96
  if (!this.idTokenClaimsMatchTenantProfileFilter(idTokenClaims, tenantProfileFilter)) {
@@ -102,7 +102,7 @@ class CacheManager {
102
102
  tenantedAccountInfo = updateAccountTenantProfileData(accountInfo, tenantProfile, idTokenClaims, idToken?.secret);
103
103
  return tenantedAccountInfo;
104
104
  }
105
- getTenantProfilesFromAccountEntity(accountEntity, targetTenantId, tenantProfileFilter) {
105
+ getTenantProfilesFromAccountEntity(accountEntity, correlationId, targetTenantId, tenantProfileFilter) {
106
106
  const accountInfo = accountEntity.getAccountInfo();
107
107
  let searchTenantProfiles = accountInfo.tenantProfiles || new Map();
108
108
  const tokenKeys = this.getTokenKeys();
@@ -122,7 +122,7 @@ class CacheManager {
122
122
  }
123
123
  const matchingTenantProfiles = [];
124
124
  searchTenantProfiles.forEach((tenantProfile) => {
125
- const tenantedAccountInfo = this.getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, tenantProfileFilter);
125
+ const tenantedAccountInfo = this.getTenantedAccountInfoByFilter(accountInfo, tokenKeys, tenantProfile, correlationId, tenantProfileFilter);
126
126
  if (tenantedAccountInfo) {
127
127
  matchingTenantProfiles.push(tenantedAccountInfo);
128
128
  }
@@ -176,46 +176,36 @@ class CacheManager {
176
176
  * @param storeInCache {?StoreInCache}
177
177
  * @param correlationId {?string} correlation id
178
178
  */
179
- async saveCacheRecord(cacheRecord, storeInCache, correlationId) {
179
+ async saveCacheRecord(cacheRecord, correlationId, storeInCache) {
180
180
  if (!cacheRecord) {
181
181
  throw createClientAuthError(invalidCacheRecord);
182
182
  }
183
183
  try {
184
184
  if (!!cacheRecord.account) {
185
- this.setAccount(cacheRecord.account);
185
+ this.setAccount(cacheRecord.account, correlationId);
186
186
  }
187
187
  if (!!cacheRecord.idToken && storeInCache?.idToken !== false) {
188
- this.setIdTokenCredential(cacheRecord.idToken);
188
+ this.setIdTokenCredential(cacheRecord.idToken, correlationId);
189
189
  }
190
190
  if (!!cacheRecord.accessToken &&
191
191
  storeInCache?.accessToken !== false) {
192
- await this.saveAccessToken(cacheRecord.accessToken);
192
+ await this.saveAccessToken(cacheRecord.accessToken, correlationId);
193
193
  }
194
194
  if (!!cacheRecord.refreshToken &&
195
195
  storeInCache?.refreshToken !== false) {
196
- this.setRefreshTokenCredential(cacheRecord.refreshToken);
196
+ this.setRefreshTokenCredential(cacheRecord.refreshToken, correlationId);
197
197
  }
198
198
  if (!!cacheRecord.appMetadata) {
199
- this.setAppMetadata(cacheRecord.appMetadata);
199
+ this.setAppMetadata(cacheRecord.appMetadata, correlationId);
200
200
  }
201
201
  }
202
202
  catch (e) {
203
203
  this.commonLogger?.error(`CacheManager.saveCacheRecord: failed`);
204
- if (e instanceof Error) {
205
- this.commonLogger?.errorPii(`CacheManager.saveCacheRecord: ${e.message}`, correlationId);
206
- if (e.name === "QuotaExceededError" ||
207
- e.name === "NS_ERROR_DOM_QUOTA_REACHED" ||
208
- e.message.includes("exceeded the quota")) {
209
- this.commonLogger?.error(`CacheManager.saveCacheRecord: exceeded storage quota`, correlationId);
210
- throw new CacheError(cacheQuotaExceededErrorCode);
211
- }
212
- else {
213
- throw new CacheError(e.name, e.message);
214
- }
204
+ if (e instanceof AuthError) {
205
+ throw e;
215
206
  }
216
207
  else {
217
- this.commonLogger?.errorPii(`CacheManager.saveCacheRecord: ${e}`, correlationId);
218
- throw new CacheError(cacheUnknownErrorCode);
208
+ throw createCacheError(e);
219
209
  }
220
210
  }
221
211
  }
@@ -223,7 +213,7 @@ class CacheManager {
223
213
  * saves access token credential
224
214
  * @param credential
225
215
  */
226
- async saveAccessToken(credential) {
216
+ async saveAccessToken(credential, correlationId) {
227
217
  const accessTokenFilter = {
228
218
  clientId: credential.clientId,
229
219
  credentialType: credential.credentialType,
@@ -235,29 +225,27 @@ class CacheManager {
235
225
  };
236
226
  const tokenKeys = this.getTokenKeys();
237
227
  const currentScopes = ScopeSet.fromString(credential.target);
238
- const removedAccessTokens = [];
239
228
  tokenKeys.accessToken.forEach((key) => {
240
229
  if (!this.accessTokenKeyMatchesFilter(key, accessTokenFilter, false)) {
241
230
  return;
242
231
  }
243
- const tokenEntity = this.getAccessTokenCredential(key);
232
+ const tokenEntity = this.getAccessTokenCredential(key, correlationId);
244
233
  if (tokenEntity &&
245
234
  this.credentialMatchesFilter(tokenEntity, accessTokenFilter)) {
246
235
  const tokenScopeSet = ScopeSet.fromString(tokenEntity.target);
247
236
  if (tokenScopeSet.intersectingScopeSets(currentScopes)) {
248
- removedAccessTokens.push(this.removeAccessToken(key));
237
+ this.removeAccessToken(key, correlationId);
249
238
  }
250
239
  }
251
240
  });
252
- await Promise.all(removedAccessTokens);
253
- this.setAccessTokenCredential(credential);
241
+ this.setAccessTokenCredential(credential, correlationId);
254
242
  }
255
243
  /**
256
244
  * Retrieve account entities matching all provided tenant-agnostic filters; if no filter is set, get all account entities in the cache
257
245
  * Not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
258
246
  * @param accountFilter - An object containing Account properties to filter by
259
247
  */
260
- getAccountsFilteredBy(accountFilter) {
248
+ getAccountsFilteredBy(accountFilter, correlationId) {
261
249
  const allAccountKeys = this.getAccountKeys();
262
250
  const matchingAccounts = [];
263
251
  allAccountKeys.forEach((cacheKey) => {
@@ -265,7 +253,7 @@ class CacheManager {
265
253
  // Don't parse value if the key doesn't match the account filters
266
254
  return;
267
255
  }
268
- const entity = this.getAccount(cacheKey, this.commonLogger);
256
+ const entity = this.getAccount(cacheKey, correlationId, this.commonLogger);
269
257
  // Match base account fields
270
258
  if (!entity) {
271
259
  return;
@@ -491,11 +479,11 @@ class CacheManager {
491
479
  /**
492
480
  * Removes all accounts and related tokens from cache.
493
481
  */
494
- async removeAllAccounts() {
482
+ async removeAllAccounts(correlationId) {
495
483
  const allAccountKeys = this.getAccountKeys();
496
484
  const removedAccounts = [];
497
485
  allAccountKeys.forEach((cacheKey) => {
498
- removedAccounts.push(this.removeAccount(cacheKey));
486
+ removedAccounts.push(this.removeAccount(cacheKey, correlationId));
499
487
  });
500
488
  await Promise.all(removedAccounts);
501
489
  }
@@ -503,38 +491,41 @@ class CacheManager {
503
491
  * Removes the account and related tokens for a given account key
504
492
  * @param account
505
493
  */
506
- async removeAccount(accountKey) {
507
- const account = this.getAccount(accountKey, this.commonLogger);
494
+ async removeAccount(accountKey, correlationId) {
495
+ const account = this.getAccount(accountKey, correlationId, this.commonLogger);
508
496
  if (!account) {
509
497
  return;
510
498
  }
511
- await this.removeAccountContext(account);
512
- this.removeItem(accountKey);
499
+ await this.removeAccountContext(account, correlationId);
500
+ this.removeItem(accountKey, correlationId);
513
501
  }
514
502
  /**
515
503
  * Removes credentials associated with the provided account
516
504
  * @param account
517
505
  */
518
- async removeAccountContext(account) {
506
+ async removeAccountContext(account, correlationId) {
519
507
  const allTokenKeys = this.getTokenKeys();
520
508
  const accountId = account.generateAccountId();
521
- const removedCredentials = [];
522
509
  allTokenKeys.idToken.forEach((key) => {
523
510
  if (key.indexOf(accountId) === 0) {
524
- this.removeIdToken(key);
511
+ this.removeIdToken(key, correlationId);
525
512
  }
526
513
  });
527
514
  allTokenKeys.accessToken.forEach((key) => {
528
515
  if (key.indexOf(accountId) === 0) {
529
- removedCredentials.push(this.removeAccessToken(key));
516
+ this.removeAccessToken(key, correlationId);
530
517
  }
531
518
  });
532
519
  allTokenKeys.refreshToken.forEach((key) => {
533
520
  if (key.indexOf(accountId) === 0) {
534
- this.removeRefreshToken(key);
521
+ this.removeRefreshToken(key, correlationId);
522
+ }
523
+ });
524
+ this.getKeys().forEach((key) => {
525
+ if (key.includes(accountId)) {
526
+ this.removeItem(key, correlationId);
535
527
  }
536
528
  });
537
- await Promise.all(removedCredentials);
538
529
  }
539
530
  /**
540
531
  * Migrates a single-tenant account and all it's associated alternate cross-tenant account objects in the
@@ -544,7 +535,7 @@ class CacheManager {
544
535
  * @param logger
545
536
  * @returns
546
537
  */
547
- updateOutdatedCachedAccount(accountKey, accountEntity, logger) {
538
+ updateOutdatedCachedAccount(accountKey, accountEntity, correlationId, logger) {
548
539
  // Only update if account entity is defined and has no tenantProfiles object (is outdated)
549
540
  if (accountEntity && accountEntity.isSingleTenant()) {
550
541
  this.commonLogger?.verbose("updateOutdatedCachedAccount: Found a single-tenant (outdated) account entity in the cache, migrating to multi-tenant account entity");
@@ -555,7 +546,7 @@ class CacheManager {
555
546
  // Get all account entities belonging to user
556
547
  const accountsToMerge = [];
557
548
  matchingAccountKeys.forEach((key) => {
558
- const account = this.getCachedAccountEntity(key);
549
+ const account = this.getCachedAccountEntity(key, correlationId);
559
550
  if (account) {
560
551
  accountsToMerge.push(account);
561
552
  }
@@ -580,11 +571,11 @@ class CacheManager {
580
571
  // Clear cache of legacy account objects that have been collpsed into tenant profiles
581
572
  matchingAccountKeys.forEach((key) => {
582
573
  if (key !== newAccountKey) {
583
- this.removeOutdatedAccount(accountKey);
574
+ this.removeOutdatedAccount(accountKey, correlationId);
584
575
  }
585
576
  });
586
577
  // Cache updated account object
587
- this.setAccount(updatedAccount);
578
+ this.setAccount(updatedAccount, correlationId);
588
579
  logger?.verbose("Updated an outdated account entity in the cache");
589
580
  return updatedAccount;
590
581
  }
@@ -595,37 +586,31 @@ class CacheManager {
595
586
  * returns a boolean if the given credential is removed
596
587
  * @param credential
597
588
  */
598
- async removeAccessToken(key) {
599
- const credential = this.getAccessTokenCredential(key);
600
- if (!credential) {
589
+ removeAccessToken(key, correlationId) {
590
+ const credential = this.getAccessTokenCredential(key, correlationId);
591
+ this.removeItem(key, correlationId);
592
+ if (!credential ||
593
+ credential.credentialType.toLowerCase() !==
594
+ CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase() ||
595
+ credential.tokenType !== AuthenticationScheme.POP) {
601
596
  return;
602
597
  }
603
598
  // Remove Token Binding Key from key store for PoP Tokens Credentials
604
- if (credential.credentialType.toLowerCase() ===
605
- CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()) {
606
- if (credential.tokenType === AuthenticationScheme.POP) {
607
- const accessTokenWithAuthSchemeEntity = credential;
608
- const kid = accessTokenWithAuthSchemeEntity.keyId;
609
- if (kid) {
610
- try {
611
- await this.cryptoImpl.removeTokenBindingKey(kid);
612
- }
613
- catch (error) {
614
- throw createClientAuthError(bindingKeyNotRemoved);
615
- }
616
- }
617
- }
599
+ const kid = credential.keyId;
600
+ if (kid) {
601
+ void this.cryptoImpl.removeTokenBindingKey(kid).catch(() => {
602
+ this.commonLogger.error("Binding key could not be removed");
603
+ });
618
604
  }
619
- return this.removeItem(key);
620
605
  }
621
606
  /**
622
607
  * Removes all app metadata objects from cache.
623
608
  */
624
- removeAppMetadata() {
609
+ removeAppMetadata(correlationId) {
625
610
  const allCacheKeys = this.getKeys();
626
611
  allCacheKeys.forEach((cacheKey) => {
627
612
  if (this.isAppMetadata(cacheKey)) {
628
- this.removeItem(cacheKey);
613
+ this.removeItem(cacheKey, correlationId);
629
614
  }
630
615
  });
631
616
  return true;
@@ -634,9 +619,9 @@ class CacheManager {
634
619
  * Retrieve AccountEntity from cache
635
620
  * @param account
636
621
  */
637
- readAccountFromCache(account) {
622
+ readAccountFromCache(account, correlationId) {
638
623
  const accountKey = AccountEntity.generateAccountCacheKey(account);
639
- return this.getAccount(accountKey, this.commonLogger);
624
+ return this.getAccount(accountKey, correlationId, this.commonLogger);
640
625
  }
641
626
  /**
642
627
  * Retrieve IdTokenEntity from cache
@@ -646,7 +631,7 @@ class CacheManager {
646
631
  * @param performanceClient {?IPerformanceClient}
647
632
  * @param correlationId {?string}
648
633
  */
649
- getIdToken(account, tokenKeys, targetRealm, performanceClient, correlationId) {
634
+ getIdToken(account, correlationId, tokenKeys, targetRealm, performanceClient) {
650
635
  this.commonLogger.trace("CacheManager - getIdToken called");
651
636
  const idTokenFilter = {
652
637
  homeAccountId: account.homeAccountId,
@@ -655,7 +640,7 @@ class CacheManager {
655
640
  clientId: this.clientId,
656
641
  realm: targetRealm,
657
642
  };
658
- const idTokenMap = this.getIdTokensByFilter(idTokenFilter, tokenKeys);
643
+ const idTokenMap = this.getIdTokensByFilter(idTokenFilter, correlationId, tokenKeys);
659
644
  const numIdTokens = idTokenMap.size;
660
645
  if (numIdTokens < 1) {
661
646
  this.commonLogger.info("CacheManager:getIdToken - No token found");
@@ -688,7 +673,7 @@ class CacheManager {
688
673
  // Multiple tokens for a single tenant profile, remove all and return null
689
674
  this.commonLogger.info("CacheManager:getIdToken - Multiple matching ID tokens found, clearing them");
690
675
  tokensToBeRemoved.forEach((idToken, key) => {
691
- this.removeIdToken(key);
676
+ this.removeIdToken(key, correlationId);
692
677
  });
693
678
  if (performanceClient && correlationId) {
694
679
  performanceClient.addFields({ multiMatchedID: idTokenMap.size }, correlationId);
@@ -703,7 +688,7 @@ class CacheManager {
703
688
  * @param filter
704
689
  * @returns
705
690
  */
706
- getIdTokensByFilter(filter, tokenKeys) {
691
+ getIdTokensByFilter(filter, correlationId, tokenKeys) {
707
692
  const idTokenKeys = (tokenKeys && tokenKeys.idToken) || this.getTokenKeys().idToken;
708
693
  const idTokens = new Map();
709
694
  idTokenKeys.forEach((key) => {
@@ -713,7 +698,7 @@ class CacheManager {
713
698
  })) {
714
699
  return;
715
700
  }
716
- const idToken = this.getIdTokenCredential(key);
701
+ const idToken = this.getIdTokenCredential(key, correlationId);
717
702
  if (idToken && this.credentialMatchesFilter(idToken, filter)) {
718
703
  idTokens.set(key, idToken);
719
704
  }
@@ -742,15 +727,15 @@ class CacheManager {
742
727
  * Removes idToken from the cache
743
728
  * @param key
744
729
  */
745
- removeIdToken(key) {
746
- this.removeItem(key);
730
+ removeIdToken(key, correlationId) {
731
+ this.removeItem(key, correlationId);
747
732
  }
748
733
  /**
749
734
  * Removes refresh token from the cache
750
735
  * @param key
751
736
  */
752
- removeRefreshToken(key) {
753
- this.removeItem(key);
737
+ removeRefreshToken(key, correlationId) {
738
+ this.removeItem(key, correlationId);
754
739
  }
755
740
  /**
756
741
  * Retrieve AccessTokenEntity from cache
@@ -760,7 +745,7 @@ class CacheManager {
760
745
  * @param performanceClient {?IPerformanceClient}
761
746
  * @param correlationId {?string}
762
747
  */
763
- getAccessToken(account, request, tokenKeys, targetRealm, performanceClient, correlationId) {
748
+ getAccessToken(account, request, tokenKeys, targetRealm, performanceClient) {
764
749
  this.commonLogger.trace("CacheManager - getAccessToken called");
765
750
  const scopes = ScopeSet.createSearchScopes(request.scopes);
766
751
  const authScheme = request.authenticationScheme || AuthenticationScheme.BEARER;
@@ -790,7 +775,7 @@ class CacheManager {
790
775
  accessTokenKeys.forEach((key) => {
791
776
  // Validate key
792
777
  if (this.accessTokenKeyMatchesFilter(key, accessTokenFilter, true)) {
793
- const accessToken = this.getAccessTokenCredential(key);
778
+ const accessToken = this.getAccessTokenCredential(key, request.correlationId);
794
779
  // Validate value
795
780
  if (accessToken &&
796
781
  this.credentialMatchesFilter(accessToken, accessTokenFilter)) {
@@ -806,10 +791,10 @@ class CacheManager {
806
791
  else if (numAccessTokens > 1) {
807
792
  this.commonLogger.info("CacheManager:getAccessToken - Multiple access tokens found, clearing them");
808
793
  accessTokens.forEach((accessToken) => {
809
- void this.removeAccessToken(generateCredentialKey(accessToken));
794
+ void this.removeAccessToken(generateCredentialKey(accessToken), request.correlationId);
810
795
  });
811
- if (performanceClient && correlationId) {
812
- performanceClient.addFields({ multiMatchedAT: accessTokens.length }, correlationId);
796
+ if (performanceClient && request.correlationId) {
797
+ performanceClient.addFields({ multiMatchedAT: accessTokens.length }, request.correlationId);
813
798
  }
814
799
  return null;
815
800
  }
@@ -862,14 +847,14 @@ class CacheManager {
862
847
  * @param filter
863
848
  * @returns
864
849
  */
865
- getAccessTokensByFilter(filter) {
850
+ getAccessTokensByFilter(filter, correlationId) {
866
851
  const tokenKeys = this.getTokenKeys();
867
852
  const accessTokens = [];
868
853
  tokenKeys.accessToken.forEach((key) => {
869
854
  if (!this.accessTokenKeyMatchesFilter(key, filter, true)) {
870
855
  return;
871
856
  }
872
- const accessToken = this.getAccessTokenCredential(key);
857
+ const accessToken = this.getAccessTokenCredential(key, correlationId);
873
858
  if (accessToken &&
874
859
  this.credentialMatchesFilter(accessToken, filter)) {
875
860
  accessTokens.push(accessToken);
@@ -885,7 +870,7 @@ class CacheManager {
885
870
  * @param performanceClient {?IPerformanceClient}
886
871
  * @param correlationId {?string}
887
872
  */
888
- getRefreshToken(account, familyRT, tokenKeys, performanceClient, correlationId) {
873
+ getRefreshToken(account, familyRT, correlationId, tokenKeys, performanceClient) {
889
874
  this.commonLogger.trace("CacheManager - getRefreshToken called");
890
875
  const id = familyRT ? THE_FAMILY_ID : undefined;
891
876
  const refreshTokenFilter = {
@@ -901,7 +886,7 @@ class CacheManager {
901
886
  refreshTokenKeys.forEach((key) => {
902
887
  // Validate key
903
888
  if (this.refreshTokenKeyMatchesFilter(key, refreshTokenFilter)) {
904
- const refreshToken = this.getRefreshTokenCredential(key);
889
+ const refreshToken = this.getRefreshTokenCredential(key, correlationId);
905
890
  // Validate value
906
891
  if (refreshToken &&
907
892
  this.credentialMatchesFilter(refreshToken, refreshTokenFilter)) {
@@ -1252,9 +1237,6 @@ class DefaultStorageClass extends CacheManager {
1252
1237
  getTokenKeys() {
1253
1238
  throw createClientAuthError(methodNotImplemented);
1254
1239
  }
1255
- async clear() {
1256
- throw createClientAuthError(methodNotImplemented);
1257
- }
1258
1240
  updateCredentialCacheKey() {
1259
1241
  throw createClientAuthError(methodNotImplemented);
1260
1242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CacheManager.mjs","sources":["../../src/cache/CacheManager.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.invalidCacheRecord","CacheErrorCodes.cacheQuotaExceededErrorCode","CacheErrorCodes.cacheUnknownErrorCode","ClientAuthErrorCodes.bindingKeyNotRemoved","ClientAuthErrorCodes.multipleMatchingAppMetadata","ClientAuthErrorCodes.methodNotImplemented"],"mappings":"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"}
1
+ {"version":3,"file":"CacheManager.mjs","sources":["../../src/cache/CacheManager.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.invalidCacheRecord","ClientAuthErrorCodes.multipleMatchingAppMetadata","ClientAuthErrorCodes.methodNotImplemented"],"mappings":"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"}