@azure/msal-common 14.0.3 → 14.1.0-alpha.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 (296) hide show
  1. package/dist/account/AccountInfo.d.ts +32 -32
  2. package/dist/account/AuthToken.d.ts +17 -17
  3. package/dist/account/AuthToken.d.ts.map +1 -1
  4. package/dist/account/AuthToken.mjs +60 -59
  5. package/dist/account/AuthToken.mjs.map +1 -1
  6. package/dist/account/CcsCredential.d.ts +9 -9
  7. package/dist/account/CcsCredential.mjs +8 -8
  8. package/dist/account/ClientCredentials.d.ts +14 -14
  9. package/dist/account/ClientInfo.d.ts +19 -19
  10. package/dist/account/ClientInfo.d.ts.map +1 -1
  11. package/dist/account/ClientInfo.mjs +39 -38
  12. package/dist/account/ClientInfo.mjs.map +1 -1
  13. package/dist/account/TokenClaims.d.ts +65 -65
  14. package/dist/authority/Authority.d.ts +235 -235
  15. package/dist/authority/Authority.d.ts.map +1 -1
  16. package/dist/authority/Authority.mjs +743 -765
  17. package/dist/authority/Authority.mjs.map +1 -1
  18. package/dist/authority/AuthorityFactory.d.ts +31 -31
  19. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  20. package/dist/authority/AuthorityFactory.mjs +52 -50
  21. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  22. package/dist/authority/AuthorityMetadata.d.ts +623 -623
  23. package/dist/authority/AuthorityMetadata.mjs +884 -884
  24. package/dist/authority/AuthorityOptions.d.ts +21 -21
  25. package/dist/authority/AuthorityOptions.mjs +18 -18
  26. package/dist/authority/AuthorityType.d.ts +10 -10
  27. package/dist/authority/AuthorityType.mjs +13 -13
  28. package/dist/authority/AzureRegion.d.ts +1 -1
  29. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  30. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  31. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  32. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  33. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  34. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  35. package/dist/authority/ImdsOptions.d.ts +5 -5
  36. package/dist/authority/OIDCOptions.d.ts +8 -8
  37. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  38. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  39. package/dist/authority/ProtocolMode.d.ts +8 -8
  40. package/dist/authority/ProtocolMode.mjs +11 -11
  41. package/dist/authority/RegionDiscovery.d.ts +32 -30
  42. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  43. package/dist/authority/RegionDiscovery.mjs +107 -108
  44. package/dist/authority/RegionDiscovery.mjs.map +1 -1
  45. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  46. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  47. package/dist/cache/CacheManager.d.ts +446 -446
  48. package/dist/cache/CacheManager.d.ts.map +1 -1
  49. package/dist/cache/CacheManager.mjs +1000 -1024
  50. package/dist/cache/CacheManager.mjs.map +1 -1
  51. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  52. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  53. package/dist/cache/entities/AccessTokenEntity.mjs +111 -110
  54. package/dist/cache/entities/AccessTokenEntity.mjs.map +1 -1
  55. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  56. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  57. package/dist/cache/entities/AccountEntity.mjs +222 -221
  58. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  59. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  60. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  61. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  62. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  63. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  64. package/dist/cache/entities/CacheRecord.mjs +14 -14
  65. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  66. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  67. package/dist/cache/entities/CredentialEntity.mjs +138 -137
  68. package/dist/cache/entities/CredentialEntity.mjs.map +1 -1
  69. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  70. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  71. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  72. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  73. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  74. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  75. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  76. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  77. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  78. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  79. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  80. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  81. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  82. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  83. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  84. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  85. package/dist/client/AuthorizationCodeClient.mjs +411 -410
  86. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  87. package/dist/client/BaseClient.d.ts +51 -51
  88. package/dist/client/BaseClient.d.ts.map +1 -1
  89. package/dist/client/BaseClient.mjs +100 -99
  90. package/dist/client/BaseClient.mjs.map +1 -1
  91. package/dist/client/RefreshTokenClient.d.ts +35 -35
  92. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  93. package/dist/client/RefreshTokenClient.mjs +185 -234
  94. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  95. package/dist/client/SilentFlowClient.d.ts +26 -25
  96. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  97. package/dist/client/SilentFlowClient.mjs +127 -103
  98. package/dist/client/SilentFlowClient.mjs.map +1 -1
  99. package/dist/config/AppTokenProvider.d.ts +38 -38
  100. package/dist/config/ClientConfiguration.d.ts +150 -150
  101. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  102. package/dist/config/ClientConfiguration.mjs +99 -100
  103. package/dist/config/ClientConfiguration.mjs.map +1 -1
  104. package/dist/crypto/ICrypto.d.ts +62 -62
  105. package/dist/crypto/ICrypto.d.ts.map +1 -1
  106. package/dist/crypto/ICrypto.mjs +35 -43
  107. package/dist/crypto/ICrypto.mjs.map +1 -1
  108. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  109. package/dist/crypto/JoseHeader.d.ts +22 -22
  110. package/dist/crypto/JoseHeader.d.ts.map +1 -1
  111. package/dist/crypto/JoseHeader.mjs +39 -38
  112. package/dist/crypto/JoseHeader.mjs.map +1 -1
  113. package/dist/crypto/PopTokenGenerator.d.ts +60 -59
  114. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  115. package/dist/crypto/PopTokenGenerator.mjs +83 -83
  116. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  117. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  118. package/dist/error/AuthError.d.ts +44 -47
  119. package/dist/error/AuthError.d.ts.map +1 -1
  120. package/dist/error/AuthError.mjs +50 -52
  121. package/dist/error/AuthError.mjs.map +1 -1
  122. package/dist/error/AuthErrorCodes.d.ts +6 -0
  123. package/dist/error/AuthErrorCodes.d.ts.map +1 -0
  124. package/dist/error/AuthErrorCodes.mjs +14 -0
  125. package/dist/error/AuthErrorCodes.mjs.map +1 -0
  126. package/dist/error/ClientAuthError.d.ts +232 -412
  127. package/dist/error/ClientAuthError.d.ts.map +1 -1
  128. package/dist/error/ClientAuthError.mjs +248 -520
  129. package/dist/error/ClientAuthError.mjs.map +1 -1
  130. package/dist/error/ClientAuthErrorCodes.d.ts +44 -0
  131. package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -0
  132. package/dist/error/ClientAuthErrorCodes.mjs +52 -0
  133. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -0
  134. package/dist/error/ClientConfigurationError.d.ts +128 -222
  135. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  136. package/dist/error/ClientConfigurationError.mjs +140 -281
  137. package/dist/error/ClientConfigurationError.mjs.map +1 -1
  138. package/dist/error/ClientConfigurationErrorCodes.d.ts +23 -0
  139. package/dist/error/ClientConfigurationErrorCodes.d.ts.map +1 -0
  140. package/dist/error/ClientConfigurationErrorCodes.mjs +31 -0
  141. package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -0
  142. package/dist/error/InteractionRequiredAuthError.d.ts +57 -59
  143. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  144. package/dist/error/InteractionRequiredAuthError.mjs +80 -79
  145. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  146. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +6 -0
  147. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -0
  148. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +16 -0
  149. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -0
  150. package/dist/error/JoseHeaderError.d.ts +15 -28
  151. package/dist/error/JoseHeaderError.d.ts.map +1 -1
  152. package/dist/error/JoseHeaderError.mjs +24 -40
  153. package/dist/error/JoseHeaderError.mjs.map +1 -1
  154. package/dist/error/JoseHeaderErrorCodes.d.ts +3 -0
  155. package/dist/error/JoseHeaderErrorCodes.d.ts.map +1 -0
  156. package/dist/error/JoseHeaderErrorCodes.mjs +11 -0
  157. package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -0
  158. package/dist/error/ServerError.d.ts +7 -7
  159. package/dist/error/ServerError.mjs +14 -14
  160. package/dist/index.cjs +8715 -9047
  161. package/dist/index.cjs.map +1 -1
  162. package/dist/index.d.ts +96 -96
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.mjs +13 -5
  165. package/dist/index.mjs.map +1 -1
  166. package/dist/logger/Logger.d.ts +95 -95
  167. package/dist/logger/Logger.mjs +188 -188
  168. package/dist/network/INetworkModule.d.ts +29 -29
  169. package/dist/network/INetworkModule.d.ts.map +1 -1
  170. package/dist/network/INetworkModule.mjs +14 -15
  171. package/dist/network/INetworkModule.mjs.map +1 -1
  172. package/dist/network/NetworkManager.d.ts +33 -33
  173. package/dist/network/NetworkManager.d.ts.map +1 -1
  174. package/dist/network/NetworkManager.mjs +36 -35
  175. package/dist/network/NetworkManager.mjs.map +1 -1
  176. package/dist/network/RequestThumbprint.d.ts +16 -16
  177. package/dist/network/ThrottlingUtils.d.ts +42 -42
  178. package/dist/network/ThrottlingUtils.mjs +95 -95
  179. package/dist/packageMetadata.d.ts +2 -2
  180. package/dist/packageMetadata.mjs +3 -3
  181. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  182. package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
  183. package/dist/request/AuthenticationHeaderParser.mjs +58 -57
  184. package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
  185. package/dist/request/BaseAuthRequest.d.ts +40 -40
  186. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  187. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  188. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  189. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  190. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  191. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  192. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  193. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  194. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  195. package/dist/request/NativeRequest.d.ts +19 -19
  196. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  197. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  198. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  199. package/dist/request/RequestParameterBuilder.mjs +383 -382
  200. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  201. package/dist/request/RequestValidator.d.ts +33 -33
  202. package/dist/request/RequestValidator.d.ts.map +1 -1
  203. package/dist/request/RequestValidator.mjs +83 -82
  204. package/dist/request/RequestValidator.mjs.map +1 -1
  205. package/dist/request/ScopeSet.d.ts +88 -88
  206. package/dist/request/ScopeSet.d.ts.map +1 -1
  207. package/dist/request/ScopeSet.mjs +201 -199
  208. package/dist/request/ScopeSet.mjs.map +1 -1
  209. package/dist/request/StoreInCache.d.ts +8 -8
  210. package/dist/response/AuthenticationResult.d.ts +41 -41
  211. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  212. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  213. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  214. package/dist/response/IMDSBadResponse.d.ts +4 -4
  215. package/dist/response/ResponseHandler.d.ts +67 -67
  216. package/dist/response/ResponseHandler.d.ts.map +1 -1
  217. package/dist/response/ResponseHandler.mjs +314 -313
  218. package/dist/response/ResponseHandler.mjs.map +1 -1
  219. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  220. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
  221. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  222. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  223. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  224. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  225. package/dist/telemetry/performance/PerformanceClient.mjs +409 -408
  226. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  227. package/dist/telemetry/performance/PerformanceEvent.d.ts +433 -433
  228. package/dist/telemetry/performance/PerformanceEvent.mjs +234 -234
  229. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  230. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  231. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  232. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  233. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -197
  234. package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  235. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  236. package/dist/url/IUri.d.ts +12 -12
  237. package/dist/url/UrlString.d.ts +83 -83
  238. package/dist/url/UrlString.d.ts.map +1 -1
  239. package/dist/url/UrlString.mjs +283 -281
  240. package/dist/url/UrlString.mjs.map +1 -1
  241. package/dist/utils/Constants.d.ts +366 -363
  242. package/dist/utils/Constants.d.ts.map +1 -1
  243. package/dist/utils/Constants.mjs +376 -368
  244. package/dist/utils/Constants.mjs.map +1 -1
  245. package/dist/utils/FunctionWrappers.d.ts +27 -27
  246. package/dist/utils/FunctionWrappers.mjs +85 -85
  247. package/dist/utils/MsalTypes.d.ts +6 -6
  248. package/dist/utils/ProtocolUtils.d.ts +42 -42
  249. package/dist/utils/ProtocolUtils.d.ts.map +1 -1
  250. package/dist/utils/ProtocolUtils.mjs +71 -70
  251. package/dist/utils/ProtocolUtils.mjs.map +1 -1
  252. package/dist/utils/StringUtils.d.ts +40 -40
  253. package/dist/utils/StringUtils.mjs +95 -95
  254. package/dist/utils/TimeUtils.d.ts +27 -27
  255. package/dist/utils/TimeUtils.mjs +45 -45
  256. package/package.json +1 -1
  257. package/src/account/AuthToken.ts +8 -7
  258. package/src/account/ClientInfo.ts +9 -6
  259. package/src/authority/Authority.ts +76 -94
  260. package/src/authority/AuthorityFactory.ts +21 -9
  261. package/src/authority/RegionDiscovery.ts +21 -18
  262. package/src/cache/CacheManager.ts +37 -77
  263. package/src/cache/entities/AccessTokenEntity.ts +7 -2
  264. package/src/cache/entities/AccountEntity.ts +7 -2
  265. package/src/cache/entities/CredentialEntity.ts +7 -2
  266. package/src/client/AuthorizationCodeClient.ts +32 -10
  267. package/src/client/BaseClient.ts +7 -4
  268. package/src/client/RefreshTokenClient.ts +81 -124
  269. package/src/client/SilentFlowClient.ts +72 -19
  270. package/src/config/ClientConfiguration.ts +6 -7
  271. package/src/crypto/ICrypto.ts +13 -28
  272. package/src/crypto/JoseHeader.ts +6 -3
  273. package/src/crypto/PopTokenGenerator.ts +10 -5
  274. package/src/error/AuthError.ts +24 -26
  275. package/src/error/AuthErrorCodes.ts +10 -0
  276. package/src/error/ClientAuthError.ts +227 -632
  277. package/src/error/ClientAuthErrorCodes.ts +51 -0
  278. package/src/error/ClientConfigurationError.ts +146 -332
  279. package/src/error/ClientConfigurationErrorCodes.ts +28 -0
  280. package/src/error/InteractionRequiredAuthError.ts +60 -55
  281. package/src/error/InteractionRequiredAuthErrorCodes.ts +13 -0
  282. package/src/error/JoseHeaderError.ts +11 -31
  283. package/src/error/JoseHeaderErrorCodes.ts +7 -0
  284. package/src/index.ts +12 -1
  285. package/src/network/INetworkModule.ts +10 -7
  286. package/src/network/NetworkManager.ts +5 -5
  287. package/src/request/AuthenticationHeaderParser.ts +11 -8
  288. package/src/request/RequestParameterBuilder.ts +10 -3
  289. package/src/request/RequestValidator.ts +19 -6
  290. package/src/request/ScopeSet.ts +23 -7
  291. package/src/response/ResponseHandler.ts +37 -17
  292. package/src/telemetry/performance/PerformanceClient.ts +2 -1
  293. package/src/telemetry/server/ServerTelemetryManager.ts +1 -1
  294. package/src/url/UrlString.ts +26 -16
  295. package/src/utils/Constants.ts +11 -3
  296. package/src/utils/ProtocolUtils.ts +8 -12
@@ -26,9 +26,11 @@ import { AccountEntity } from "./entities/AccountEntity";
26
26
  import { AccessTokenEntity } from "./entities/AccessTokenEntity";
27
27
  import { IdTokenEntity } from "./entities/IdTokenEntity";
28
28
  import { RefreshTokenEntity } from "./entities/RefreshTokenEntity";
29
- import { AuthError } from "../error/AuthError";
30
29
  import { ICacheManager } from "./interface/ICacheManager";
31
- import { ClientAuthError } from "../error/ClientAuthError";
30
+ import {
31
+ createClientAuthError,
32
+ ClientAuthErrorCodes,
33
+ } from "../error/ClientAuthError";
32
34
  import { AccountInfo } from "../account/AccountInfo";
33
35
  import { AppMetadataEntity } from "./entities/AppMetadataEntity";
34
36
  import { ServerTelemetryEntity } from "./entities/ServerTelemetryEntity";
@@ -288,7 +290,9 @@ export abstract class CacheManager implements ICacheManager {
288
290
  storeInCache?: StoreInCache
289
291
  ): Promise<void> {
290
292
  if (!cacheRecord) {
291
- throw ClientAuthError.createNullOrUndefinedCacheRecord();
293
+ throw createClientAuthError(
294
+ ClientAuthErrorCodes.invalidCacheRecord
295
+ );
292
296
  }
293
297
 
294
298
  if (!!cacheRecord.account) {
@@ -777,7 +781,9 @@ export abstract class CacheManager implements ICacheManager {
777
781
  try {
778
782
  await this.cryptoImpl.removeTokenBindingKey(kid);
779
783
  } catch (error) {
780
- throw ClientAuthError.createBindingKeyNotRemovedError();
784
+ throw createClientAuthError(
785
+ ClientAuthErrorCodes.bindingKeyNotRemoved
786
+ );
781
787
  }
782
788
  }
783
789
  }
@@ -1256,7 +1262,9 @@ export abstract class CacheManager implements ICacheManager {
1256
1262
  if (numAppMetadata < 1) {
1257
1263
  return null;
1258
1264
  } else if (numAppMetadata > 1) {
1259
- throw ClientAuthError.createMultipleMatchingAppMetadataInCacheError();
1265
+ throw createClientAuthError(
1266
+ ClientAuthErrorCodes.multipleMatchingAppMetadata
1267
+ );
1260
1268
  }
1261
1269
 
1262
1270
  return appMetadataEntries[0] as AppMetadataEntity;
@@ -1497,123 +1505,75 @@ export abstract class CacheManager implements ICacheManager {
1497
1505
  /** @internal */
1498
1506
  export class DefaultStorageClass extends CacheManager {
1499
1507
  setAccount(): void {
1500
- const notImplErr =
1501
- "Storage interface - setAccount() has not been implemented for the cacheStorage interface.";
1502
- throw AuthError.createUnexpectedError(notImplErr);
1508
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1503
1509
  }
1504
1510
  getAccount(): AccountEntity {
1505
- const notImplErr =
1506
- "Storage interface - getAccount() has not been implemented for the cacheStorage interface.";
1507
- throw AuthError.createUnexpectedError(notImplErr);
1511
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1508
1512
  }
1509
1513
  setIdTokenCredential(): void {
1510
- const notImplErr =
1511
- "Storage interface - setIdTokenCredential() has not been implemented for the cacheStorage interface.";
1512
- throw AuthError.createUnexpectedError(notImplErr);
1514
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1513
1515
  }
1514
1516
  getIdTokenCredential(): IdTokenEntity {
1515
- const notImplErr =
1516
- "Storage interface - getIdTokenCredential() has not been implemented for the cacheStorage interface.";
1517
- throw AuthError.createUnexpectedError(notImplErr);
1517
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1518
1518
  }
1519
1519
  setAccessTokenCredential(): void {
1520
- const notImplErr =
1521
- "Storage interface - setAccessTokenCredential() has not been implemented for the cacheStorage interface.";
1522
- throw AuthError.createUnexpectedError(notImplErr);
1520
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1523
1521
  }
1524
1522
  getAccessTokenCredential(): AccessTokenEntity {
1525
- const notImplErr =
1526
- "Storage interface - getAccessTokenCredential() has not been implemented for the cacheStorage interface.";
1527
- throw AuthError.createUnexpectedError(notImplErr);
1523
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1528
1524
  }
1529
1525
  setRefreshTokenCredential(): void {
1530
- const notImplErr =
1531
- "Storage interface - setRefreshTokenCredential() has not been implemented for the cacheStorage interface.";
1532
- throw AuthError.createUnexpectedError(notImplErr);
1526
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1533
1527
  }
1534
1528
  getRefreshTokenCredential(): RefreshTokenEntity {
1535
- const notImplErr =
1536
- "Storage interface - getRefreshTokenCredential() has not been implemented for the cacheStorage interface.";
1537
- throw AuthError.createUnexpectedError(notImplErr);
1529
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1538
1530
  }
1539
1531
  setAppMetadata(): void {
1540
- const notImplErr =
1541
- "Storage interface - setAppMetadata() has not been implemented for the cacheStorage interface.";
1542
- throw AuthError.createUnexpectedError(notImplErr);
1532
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1543
1533
  }
1544
1534
  getAppMetadata(): AppMetadataEntity {
1545
- const notImplErr =
1546
- "Storage interface - getAppMetadata() has not been implemented for the cacheStorage interface.";
1547
- throw AuthError.createUnexpectedError(notImplErr);
1535
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1548
1536
  }
1549
1537
  setServerTelemetry(): void {
1550
- const notImplErr =
1551
- "Storage interface - setServerTelemetry() has not been implemented for the cacheStorage interface.";
1552
- throw AuthError.createUnexpectedError(notImplErr);
1538
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1553
1539
  }
1554
1540
  getServerTelemetry(): ServerTelemetryEntity {
1555
- const notImplErr =
1556
- "Storage interface - getServerTelemetry() has not been implemented for the cacheStorage interface.";
1557
- throw AuthError.createUnexpectedError(notImplErr);
1541
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1558
1542
  }
1559
1543
  setAuthorityMetadata(): void {
1560
- const notImplErr =
1561
- "Storage interface - setAuthorityMetadata() has not been implemented for the cacheStorage interface.";
1562
- throw AuthError.createUnexpectedError(notImplErr);
1544
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1563
1545
  }
1564
1546
  getAuthorityMetadata(): AuthorityMetadataEntity | null {
1565
- const notImplErr =
1566
- "Storage interface - getAuthorityMetadata() has not been implemented for the cacheStorage interface.";
1567
- throw AuthError.createUnexpectedError(notImplErr);
1547
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1568
1548
  }
1569
1549
  getAuthorityMetadataKeys(): Array<string> {
1570
- const notImplErr =
1571
- "Storage interface - getAuthorityMetadataKeys() has not been implemented for the cacheStorage interface.";
1572
- throw AuthError.createUnexpectedError(notImplErr);
1550
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1573
1551
  }
1574
1552
  setThrottlingCache(): void {
1575
- const notImplErr =
1576
- "Storage interface - setThrottlingCache() has not been implemented for the cacheStorage interface.";
1577
- throw AuthError.createUnexpectedError(notImplErr);
1553
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1578
1554
  }
1579
1555
  getThrottlingCache(): ThrottlingEntity {
1580
- const notImplErr =
1581
- "Storage interface - getThrottlingCache() has not been implemented for the cacheStorage interface.";
1582
- throw AuthError.createUnexpectedError(notImplErr);
1556
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1583
1557
  }
1584
1558
  removeItem(): boolean {
1585
- const notImplErr =
1586
- "Storage interface - removeItem() has not been implemented for the cacheStorage interface.";
1587
- throw AuthError.createUnexpectedError(notImplErr);
1559
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1588
1560
  }
1589
1561
  containsKey(): boolean {
1590
- const notImplErr =
1591
- "Storage interface - containsKey() has not been implemented for the cacheStorage interface.";
1592
- throw AuthError.createUnexpectedError(notImplErr);
1562
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1593
1563
  }
1594
1564
  getKeys(): string[] {
1595
- const notImplErr =
1596
- "Storage interface - getKeys() has not been implemented for the cacheStorage interface.";
1597
- throw AuthError.createUnexpectedError(notImplErr);
1565
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1598
1566
  }
1599
1567
  getAccountKeys(): string[] {
1600
- const notImplErr =
1601
- "Storage interface - getAccountKeys() has not been implemented for the cacheStorage interface.";
1602
- throw AuthError.createUnexpectedError(notImplErr);
1568
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1603
1569
  }
1604
1570
  getTokenKeys(): TokenKeys {
1605
- const notImplErr =
1606
- "Storage interface - getTokenKeys() has not been implemented for the cacheStorage interface.";
1607
- throw AuthError.createUnexpectedError(notImplErr);
1571
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1608
1572
  }
1609
1573
  async clear(): Promise<void> {
1610
- const notImplErr =
1611
- "Storage interface - clear() has not been implemented for the cacheStorage interface.";
1612
- throw AuthError.createUnexpectedError(notImplErr);
1574
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1613
1575
  }
1614
1576
  updateCredentialCacheKey(): string {
1615
- const notImplErr =
1616
- "Storage interface - updateCredentialCacheKey() has not been implemented for the cacheStorage interface.";
1617
- throw AuthError.createUnexpectedError(notImplErr);
1577
+ throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
1618
1578
  }
1619
1579
  }
@@ -8,7 +8,10 @@ import { CredentialType, AuthenticationScheme } from "../../utils/Constants";
8
8
  import { TimeUtils } from "../../utils/TimeUtils";
9
9
  import { ICrypto } from "../../crypto/ICrypto";
10
10
  import { TokenClaims } from "../../account/TokenClaims";
11
- import { ClientAuthError } from "../../error/ClientAuthError";
11
+ import {
12
+ createClientAuthError,
13
+ ClientAuthErrorCodes,
14
+ } from "../../error/ClientAuthError";
12
15
  import { extractTokenClaims } from "../../account/AuthToken";
13
16
 
14
17
  /**
@@ -125,7 +128,9 @@ export class AccessTokenEntity extends CredentialEntity {
125
128
  cryptoUtils.base64Decode
126
129
  );
127
130
  if (!tokenClaims?.cnf?.kid) {
128
- throw ClientAuthError.createTokenClaimsRequiredError();
131
+ throw createClientAuthError(
132
+ ClientAuthErrorCodes.tokenClaimsCnfRequiredForSignedJwt
133
+ );
129
134
  }
130
135
  atEntity.keyId = tokenClaims.cnf.kid;
131
136
  break;
@@ -8,7 +8,10 @@ import { Authority } from "../../authority/Authority";
8
8
  import { ICrypto } from "../../crypto/ICrypto";
9
9
  import { buildClientInfo } from "../../account/ClientInfo";
10
10
  import { AccountInfo } from "../../account/AccountInfo";
11
- import { ClientAuthError } from "../../error/ClientAuthError";
11
+ import {
12
+ createClientAuthError,
13
+ ClientAuthErrorCodes,
14
+ } from "../../error/ClientAuthError";
12
15
  import { AuthorityType } from "../../authority/AuthorityType";
13
16
  import { Logger } from "../../logger/Logger";
14
17
  import { TokenClaims } from "../../account/TokenClaims";
@@ -140,7 +143,9 @@ export class AccountEntity {
140
143
  (authority && authority.getPreferredCache());
141
144
 
142
145
  if (!env) {
143
- throw ClientAuthError.createInvalidCacheEnvironmentError();
146
+ throw createClientAuthError(
147
+ ClientAuthErrorCodes.invalidCacheEnvironment
148
+ );
144
149
  }
145
150
 
146
151
  account.environment = env;
@@ -10,7 +10,10 @@ import {
10
10
  Constants,
11
11
  AuthenticationScheme,
12
12
  } from "../../utils/Constants";
13
- import { ClientAuthError } from "../../error/ClientAuthError";
13
+ import {
14
+ ClientAuthErrorCodes,
15
+ createClientAuthError,
16
+ } from "../../error/ClientAuthError";
14
17
 
15
18
  /**
16
19
  * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
@@ -107,7 +110,9 @@ export class CredentialEntity {
107
110
  case CredentialType.REFRESH_TOKEN:
108
111
  return CacheType.REFRESH_TOKEN;
109
112
  default: {
110
- throw ClientAuthError.createUnexpectedCredentialTypeError();
113
+ throw createClientAuthError(
114
+ ClientAuthErrorCodes.unexpectedCredentialType
115
+ );
111
116
  }
112
117
  }
113
118
  }
@@ -25,7 +25,10 @@ import { NetworkResponse } from "../network/NetworkManager";
25
25
  import { ResponseHandler } from "../response/ResponseHandler";
26
26
  import { AuthenticationResult } from "../response/AuthenticationResult";
27
27
  import { StringUtils } from "../utils/StringUtils";
28
- import { ClientAuthError } from "../error/ClientAuthError";
28
+ import {
29
+ ClientAuthErrorCodes,
30
+ createClientAuthError,
31
+ } from "../error/ClientAuthError";
29
32
  import { UrlString } from "../url/UrlString";
30
33
  import { ServerAuthorizationCodeResponse } from "../response/ServerAuthorizationCodeResponse";
31
34
  import { CommonEndSessionRequest } from "../request/CommonEndSessionRequest";
@@ -39,7 +42,10 @@ import {
39
42
  buildClientInfo,
40
43
  } from "../account/ClientInfo";
41
44
  import { CcsCredentialType, CcsCredential } from "../account/CcsCredential";
42
- import { ClientConfigurationError } from "../error/ClientConfigurationError";
45
+ import {
46
+ createClientConfigurationError,
47
+ ClientConfigurationErrorCodes,
48
+ } from "../error/ClientConfigurationError";
43
49
  import { RequestValidator } from "../request/RequestValidator";
44
50
  import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
45
51
  import { PerformanceEvents } from "../telemetry/performance/PerformanceEvent";
@@ -110,7 +116,9 @@ export class AuthorizationCodeClient extends BaseClient {
110
116
  );
111
117
 
112
118
  if (!request.code) {
113
- throw ClientAuthError.createTokenRequestCannotBeMadeError();
119
+ throw createClientAuthError(
120
+ ClientAuthErrorCodes.requestCannotBeMade
121
+ );
114
122
  }
115
123
 
116
124
  const reqTimestamp = TimeUtils.nowSeconds();
@@ -192,7 +200,9 @@ export class AuthorizationCodeClient extends BaseClient {
192
200
 
193
201
  // throw when there is no auth code in the response
194
202
  if (!serverParams.code) {
195
- throw ClientAuthError.createNoAuthCodeInServerResponseError();
203
+ throw createClientAuthError(
204
+ ClientAuthErrorCodes.authorizationCodeMissingFromServerResponse
205
+ );
196
206
  }
197
207
  return {
198
208
  ...serverParams,
@@ -209,7 +219,9 @@ export class AuthorizationCodeClient extends BaseClient {
209
219
  getLogoutUri(logoutRequest: CommonEndSessionRequest): string {
210
220
  // Throw error if logoutRequest is null/undefined
211
221
  if (!logoutRequest) {
212
- throw ClientConfigurationError.createEmptyLogoutRequestError();
222
+ throw createClientConfigurationError(
223
+ ClientConfigurationErrorCodes.logoutRequestEmpty
224
+ );
213
225
  }
214
226
  const queryString = this.createLogoutUrlQueryString(logoutRequest);
215
227
 
@@ -371,18 +383,22 @@ export class AuthorizationCodeClient extends BaseClient {
371
383
  this.performanceClient
372
384
  );
373
385
 
374
- this.performanceClient?.setPreQueueTime(
386
+ const reqCnfData = await invokeAsync(
387
+ popTokenGenerator.generateCnf.bind(popTokenGenerator),
375
388
  PerformanceEvents.PopTokenGenerateCnf,
389
+ this.logger,
390
+ this.performanceClient,
376
391
  request.correlationId
377
- );
378
- const reqCnfData = await popTokenGenerator.generateCnf(request);
392
+ )(request, this.logger);
379
393
  // SPA PoP requires full Base64Url encoded req_cnf string (unhashed)
380
394
  parameterBuilder.addPopToken(reqCnfData.reqCnfString);
381
395
  } else if (request.authenticationScheme === AuthenticationScheme.SSH) {
382
396
  if (request.sshJwk) {
383
397
  parameterBuilder.addSshJwk(request.sshJwk);
384
398
  } else {
385
- throw ClientConfigurationError.createMissingSshJwkError();
399
+ throw createClientConfigurationError(
400
+ ClientConfigurationErrorCodes.missingSshJwk
401
+ );
386
402
  }
387
403
  }
388
404
 
@@ -652,7 +668,13 @@ export class AuthorizationCodeClient extends BaseClient {
652
668
  this.cryptoUtils
653
669
  );
654
670
  // to reduce the URL length, it is recommended to send the hash of the req_cnf instead of the whole string
655
- const reqCnfData = await popTokenGenerator.generateCnf(request);
671
+ const reqCnfData = await invokeAsync(
672
+ popTokenGenerator.generateCnf.bind(popTokenGenerator),
673
+ PerformanceEvents.PopTokenGenerateCnf,
674
+ this.logger,
675
+ this.performanceClient,
676
+ request.correlationId
677
+ )(request, this.logger);
656
678
  parameterBuilder.addPopToken(reqCnfData.reqCnfHash);
657
679
  }
658
680
  }
@@ -19,7 +19,10 @@ import { CacheManager } from "../cache/CacheManager";
19
19
  import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager";
20
20
  import { RequestThumbprint } from "../network/RequestThumbprint";
21
21
  import { version, name } from "../packageMetadata";
22
- import { ClientAuthError } from "../error/ClientAuthError";
22
+ import {
23
+ createClientAuthError,
24
+ ClientAuthErrorCodes,
25
+ } from "../error/ClientAuthError";
23
26
  import { CcsCredential, CcsCredentialType } from "../account/CcsCredential";
24
27
  import { buildClientInfoFromHomeAccountId } from "../account/ClientInfo";
25
28
  import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
@@ -144,7 +147,7 @@ export abstract class BaseClient {
144
147
  correlationId: string
145
148
  ): Promise<NetworkResponse<ServerAuthorizationTokenResponse>> {
146
149
  this.performanceClient?.addQueueMeasurement(
147
- PerformanceEvents.BaseClientCreateTokenRequestHeaders,
150
+ PerformanceEvents.BaseClientExecutePostToTokenEndpoint,
148
151
  correlationId
149
152
  );
150
153
  const response =
@@ -180,8 +183,8 @@ export abstract class BaseClient {
180
183
  */
181
184
  updateAuthority(updatedAuthority: Authority): void {
182
185
  if (!updatedAuthority.discoveryComplete()) {
183
- throw ClientAuthError.createEndpointDiscoveryIncompleteError(
184
- "Updated authority has not completed endpoint discovery."
186
+ throw createClientAuthError(
187
+ ClientAuthErrorCodes.endpointResolutionError
185
188
  );
186
189
  }
187
190
  this.authority = updatedAuthority;