@azure/msal-common 16.8.0 → 16.10.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 (364) hide show
  1. package/dist/account/AccountInfo.mjs +9 -3
  2. package/dist/account/AccountInfo.mjs.map +1 -1
  3. package/dist/account/AuthToken.mjs +9 -23
  4. package/dist/account/AuthToken.mjs.map +1 -1
  5. package/dist/account/CcsCredential.mjs +1 -1
  6. package/dist/account/ClientInfo.mjs +4 -4
  7. package/dist/account/ClientInfo.mjs.map +1 -1
  8. package/dist/account/TokenClaims.mjs +1 -1
  9. package/dist/authority/Authority.mjs +36 -37
  10. package/dist/authority/Authority.mjs.map +1 -1
  11. package/dist/authority/AuthorityFactory.mjs +3 -3
  12. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  13. package/dist/authority/AuthorityMetadata.mjs +2 -2
  14. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  15. package/dist/authority/AuthorityOptions.mjs +1 -1
  16. package/dist/authority/AuthorityType.mjs +1 -1
  17. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  18. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  19. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  20. package/dist/authority/ProtocolMode.mjs +1 -1
  21. package/dist/authority/RegionDiscovery.mjs +16 -10
  22. package/dist/authority/RegionDiscovery.mjs.map +1 -1
  23. package/dist/cache/CacheManager.mjs +62 -46
  24. package/dist/cache/CacheManager.mjs.map +1 -1
  25. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  26. package/dist/cache/utils/AccountEntityUtils.mjs +23 -7
  27. package/dist/cache/utils/AccountEntityUtils.mjs.map +1 -1
  28. package/dist/cache/utils/CacheHelpers.mjs +12 -4
  29. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  30. package/dist/client/AuthorizationCodeClient.mjs +7 -7
  31. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  32. package/dist/client/RefreshTokenClient.mjs +8 -8
  33. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  34. package/dist/client/SilentFlowClient.mjs +10 -18
  35. package/dist/client/SilentFlowClient.mjs.map +1 -1
  36. package/dist/config/ClientConfiguration.mjs +6 -5
  37. package/dist/config/ClientConfiguration.mjs.map +1 -1
  38. package/dist/constants/AADServerParamKeys.mjs +7 -3
  39. package/dist/constants/AADServerParamKeys.mjs.map +1 -1
  40. package/dist/crypto/ICrypto.mjs +11 -11
  41. package/dist/crypto/ICrypto.mjs.map +1 -1
  42. package/dist/crypto/JoseHeader.mjs +3 -3
  43. package/dist/crypto/JoseHeader.mjs.map +1 -1
  44. package/dist/crypto/PopTokenGenerator.mjs +2 -2
  45. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  46. package/dist/error/AuthError.mjs +5 -7
  47. package/dist/error/AuthError.mjs.map +1 -1
  48. package/dist/error/AuthErrorCodes.mjs +1 -1
  49. package/dist/error/CacheError.mjs +1 -1
  50. package/dist/error/CacheErrorCodes.mjs +1 -1
  51. package/dist/error/ClientAuthError.mjs +5 -5
  52. package/dist/error/ClientAuthError.mjs.map +1 -1
  53. package/dist/error/ClientAuthErrorCodes.mjs +2 -4
  54. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
  55. package/dist/error/ClientConfigurationError.mjs +5 -5
  56. package/dist/error/ClientConfigurationError.mjs.map +1 -1
  57. package/dist/error/ClientConfigurationErrorCodes.mjs +1 -1
  58. package/dist/error/InteractionRequiredAuthError.mjs +5 -6
  59. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  60. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  61. package/dist/error/JoseHeaderError.mjs +5 -5
  62. package/dist/error/JoseHeaderError.mjs.map +1 -1
  63. package/dist/error/JoseHeaderErrorCodes.mjs +1 -1
  64. package/dist/error/NetworkError.mjs +2 -2
  65. package/dist/error/NetworkError.mjs.map +1 -1
  66. package/dist/error/PlatformBrokerError.mjs +3 -3
  67. package/dist/error/PlatformBrokerError.mjs.map +1 -1
  68. package/dist/error/ServerError.mjs +3 -3
  69. package/dist/error/ServerError.mjs.map +1 -1
  70. package/dist/index-node.mjs +1 -1
  71. package/dist/index.mjs +1 -1
  72. package/dist/logger/Logger.mjs +25 -11
  73. package/dist/logger/Logger.mjs.map +1 -1
  74. package/dist/network/INetworkModule.mjs +4 -3
  75. package/dist/network/INetworkModule.mjs.map +1 -1
  76. package/dist/network/RequestThumbprint.mjs +1 -1
  77. package/dist/network/ThrottlingUtils.mjs +2 -2
  78. package/dist/network/ThrottlingUtils.mjs.map +1 -1
  79. package/dist/packageMetadata.mjs +2 -2
  80. package/dist/protocol/Authorize.mjs +18 -14
  81. package/dist/protocol/Authorize.mjs.map +1 -1
  82. package/dist/protocol/Token.mjs +4 -2
  83. package/dist/protocol/Token.mjs.map +1 -1
  84. package/dist/request/AuthenticationHeaderParser.mjs +4 -4
  85. package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
  86. package/dist/request/BaseAuthRequest.mjs +3 -3
  87. package/dist/request/BaseAuthRequest.mjs.map +1 -1
  88. package/dist/request/RequestParameterBuilder.mjs +50 -31
  89. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  90. package/dist/request/ScopeSet.mjs +13 -12
  91. package/dist/request/ScopeSet.mjs.map +1 -1
  92. package/dist/response/ResponseHandler.mjs +30 -27
  93. package/dist/response/ResponseHandler.mjs.map +1 -1
  94. package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  95. package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  96. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  97. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  98. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  99. package/dist/url/UrlString.mjs +15 -14
  100. package/dist/url/UrlString.mjs.map +1 -1
  101. package/dist/utils/ClientAssertionUtils.mjs +3 -2
  102. package/dist/utils/ClientAssertionUtils.mjs.map +1 -1
  103. package/dist/utils/Constants.mjs +7 -3
  104. package/dist/utils/Constants.mjs.map +1 -1
  105. package/dist/utils/FunctionWrappers.mjs +1 -1
  106. package/dist/utils/ProtocolUtils.mjs +12 -9
  107. package/dist/utils/ProtocolUtils.mjs.map +1 -1
  108. package/dist/utils/StringUtils.mjs +1 -1
  109. package/dist/utils/TimeUtils.mjs +1 -1
  110. package/dist/utils/UrlUtils.mjs +4 -4
  111. package/dist/utils/UrlUtils.mjs.map +1 -1
  112. package/dist-browser/account/AccountInfo.mjs +9 -3
  113. package/dist-browser/account/AccountInfo.mjs.map +1 -1
  114. package/dist-browser/account/AuthToken.mjs +9 -23
  115. package/dist-browser/account/AuthToken.mjs.map +1 -1
  116. package/dist-browser/account/CcsCredential.mjs +1 -1
  117. package/dist-browser/account/ClientInfo.mjs +4 -4
  118. package/dist-browser/account/ClientInfo.mjs.map +1 -1
  119. package/dist-browser/account/TokenClaims.mjs +1 -1
  120. package/dist-browser/authority/Authority.mjs +52 -50
  121. package/dist-browser/authority/Authority.mjs.map +1 -1
  122. package/dist-browser/authority/AuthorityFactory.mjs +3 -3
  123. package/dist-browser/authority/AuthorityFactory.mjs.map +1 -1
  124. package/dist-browser/authority/AuthorityMetadata.mjs +8 -7
  125. package/dist-browser/authority/AuthorityMetadata.mjs.map +1 -1
  126. package/dist-browser/authority/AuthorityOptions.mjs +1 -1
  127. package/dist-browser/authority/AuthorityType.mjs +1 -1
  128. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  129. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  130. package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  131. package/dist-browser/authority/ProtocolMode.mjs +1 -1
  132. package/dist-browser/authority/RegionDiscovery.mjs +16 -10
  133. package/dist-browser/authority/RegionDiscovery.mjs.map +1 -1
  134. package/dist-browser/cache/CacheManager.mjs +63 -47
  135. package/dist-browser/cache/CacheManager.mjs.map +1 -1
  136. package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  137. package/dist-browser/cache/utils/AccountEntityUtils.mjs +23 -7
  138. package/dist-browser/cache/utils/AccountEntityUtils.mjs.map +1 -1
  139. package/dist-browser/cache/utils/CacheHelpers.mjs +12 -4
  140. package/dist-browser/cache/utils/CacheHelpers.mjs.map +1 -1
  141. package/dist-browser/client/AuthorizationCodeClient.mjs +10 -10
  142. package/dist-browser/client/AuthorizationCodeClient.mjs.map +1 -1
  143. package/dist-browser/client/RefreshTokenClient.mjs +9 -9
  144. package/dist-browser/client/RefreshTokenClient.mjs.map +1 -1
  145. package/dist-browser/client/SilentFlowClient.mjs +11 -19
  146. package/dist-browser/client/SilentFlowClient.mjs.map +1 -1
  147. package/dist-browser/config/ClientConfiguration.mjs +6 -5
  148. package/dist-browser/config/ClientConfiguration.mjs.map +1 -1
  149. package/dist-browser/constants/AADServerParamKeys.mjs +7 -3
  150. package/dist-browser/constants/AADServerParamKeys.mjs.map +1 -1
  151. package/dist-browser/crypto/ICrypto.mjs +11 -11
  152. package/dist-browser/crypto/ICrypto.mjs.map +1 -1
  153. package/dist-browser/crypto/JoseHeader.mjs +3 -3
  154. package/dist-browser/crypto/JoseHeader.mjs.map +1 -1
  155. package/dist-browser/crypto/PopTokenGenerator.mjs +2 -2
  156. package/dist-browser/crypto/PopTokenGenerator.mjs.map +1 -1
  157. package/dist-browser/error/AuthError.mjs +5 -7
  158. package/dist-browser/error/AuthError.mjs.map +1 -1
  159. package/dist-browser/error/AuthErrorCodes.mjs +1 -1
  160. package/dist-browser/error/CacheError.mjs +1 -1
  161. package/dist-browser/error/CacheErrorCodes.mjs +1 -1
  162. package/dist-browser/error/ClientAuthError.mjs +5 -5
  163. package/dist-browser/error/ClientAuthError.mjs.map +1 -1
  164. package/dist-browser/error/ClientAuthErrorCodes.mjs +2 -4
  165. package/dist-browser/error/ClientAuthErrorCodes.mjs.map +1 -1
  166. package/dist-browser/error/ClientConfigurationError.mjs +5 -5
  167. package/dist-browser/error/ClientConfigurationError.mjs.map +1 -1
  168. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +1 -1
  169. package/dist-browser/error/InteractionRequiredAuthError.mjs +5 -6
  170. package/dist-browser/error/InteractionRequiredAuthError.mjs.map +1 -1
  171. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  172. package/dist-browser/error/JoseHeaderError.mjs +5 -5
  173. package/dist-browser/error/JoseHeaderError.mjs.map +1 -1
  174. package/dist-browser/error/JoseHeaderErrorCodes.mjs +1 -1
  175. package/dist-browser/error/NetworkError.mjs +2 -2
  176. package/dist-browser/error/NetworkError.mjs.map +1 -1
  177. package/dist-browser/error/PlatformBrokerError.mjs +3 -3
  178. package/dist-browser/error/PlatformBrokerError.mjs.map +1 -1
  179. package/dist-browser/error/ServerError.mjs +3 -3
  180. package/dist-browser/error/ServerError.mjs.map +1 -1
  181. package/dist-browser/index-browser.mjs +1 -1
  182. package/dist-browser/index.mjs +1 -1
  183. package/dist-browser/log-strings-mapping.json +2 -2
  184. package/dist-browser/logger/Logger.mjs +25 -11
  185. package/dist-browser/logger/Logger.mjs.map +1 -1
  186. package/dist-browser/network/INetworkModule.mjs +4 -3
  187. package/dist-browser/network/INetworkModule.mjs.map +1 -1
  188. package/dist-browser/network/RequestThumbprint.mjs +1 -1
  189. package/dist-browser/network/ThrottlingUtils.mjs +2 -2
  190. package/dist-browser/network/ThrottlingUtils.mjs.map +1 -1
  191. package/dist-browser/packageMetadata.mjs +2 -2
  192. package/dist-browser/protocol/Authorize.mjs +18 -14
  193. package/dist-browser/protocol/Authorize.mjs.map +1 -1
  194. package/dist-browser/protocol/Token.mjs +5 -3
  195. package/dist-browser/protocol/Token.mjs.map +1 -1
  196. package/dist-browser/request/AuthenticationHeaderParser.mjs +4 -4
  197. package/dist-browser/request/AuthenticationHeaderParser.mjs.map +1 -1
  198. package/dist-browser/request/BaseAuthRequest.mjs +3 -3
  199. package/dist-browser/request/BaseAuthRequest.mjs.map +1 -1
  200. package/dist-browser/request/RequestParameterBuilder.mjs +50 -31
  201. package/dist-browser/request/RequestParameterBuilder.mjs.map +1 -1
  202. package/dist-browser/request/ScopeSet.mjs +13 -12
  203. package/dist-browser/request/ScopeSet.mjs.map +1 -1
  204. package/dist-browser/response/ResponseHandler.mjs +32 -29
  205. package/dist-browser/response/ResponseHandler.mjs.map +1 -1
  206. package/dist-browser/telemetry/performance/PerformanceClient.mjs +9 -9
  207. package/dist-browser/telemetry/performance/PerformanceClient.mjs.map +1 -1
  208. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
  209. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  210. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  211. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  212. package/dist-browser/url/UrlString.mjs +15 -14
  213. package/dist-browser/url/UrlString.mjs.map +1 -1
  214. package/dist-browser/utils/ClientAssertionUtils.mjs +3 -2
  215. package/dist-browser/utils/ClientAssertionUtils.mjs.map +1 -1
  216. package/dist-browser/utils/Constants.mjs +7 -3
  217. package/dist-browser/utils/Constants.mjs.map +1 -1
  218. package/dist-browser/utils/FunctionWrappers.mjs +7 -7
  219. package/dist-browser/utils/FunctionWrappers.mjs.map +1 -1
  220. package/dist-browser/utils/ProtocolUtils.mjs +12 -9
  221. package/dist-browser/utils/ProtocolUtils.mjs.map +1 -1
  222. package/dist-browser/utils/StringUtils.mjs +1 -1
  223. package/dist-browser/utils/TimeUtils.mjs +1 -1
  224. package/dist-browser/utils/UrlUtils.mjs +6 -6
  225. package/dist-browser/utils/UrlUtils.mjs.map +1 -1
  226. package/lib/index-browser.cjs +8 -8
  227. package/lib/index-browser.cjs.map +1 -1
  228. package/lib/{index-node-7wFgJ2eB.js → index-node-BSFEsmmC.js} +407 -325
  229. package/lib/index-node-BSFEsmmC.js.map +1 -0
  230. package/lib/index-node.cjs +2 -2
  231. package/lib/index.cjs +2 -2
  232. package/package.json +3 -5
  233. package/src/account/AccountInfo.ts +19 -1
  234. package/src/account/AuthToken.ts +19 -21
  235. package/src/account/ClientCredentials.ts +1 -0
  236. package/src/account/ClientInfo.ts +8 -3
  237. package/src/authority/Authority.ts +73 -38
  238. package/src/authority/AuthorityFactory.ts +4 -2
  239. package/src/authority/AuthorityMetadata.ts +2 -1
  240. package/src/authority/RegionDiscovery.ts +18 -11
  241. package/src/cache/CacheManager.ts +160 -57
  242. package/src/cache/entities/AccountEntity.ts +4 -0
  243. package/src/cache/entities/CredentialEntity.ts +2 -0
  244. package/src/cache/interface/ICacheManager.ts +1 -0
  245. package/src/cache/utils/AccountEntityUtils.ts +29 -3
  246. package/src/cache/utils/CacheHelpers.ts +18 -3
  247. package/src/cache/utils/CacheTypes.ts +2 -0
  248. package/src/client/AuthorizationCodeClient.ts +10 -4
  249. package/src/client/RefreshTokenClient.ts +12 -5
  250. package/src/client/SilentFlowClient.ts +17 -20
  251. package/src/config/ClientConfiguration.ts +14 -4
  252. package/src/constants/AADServerParamKeys.ts +5 -0
  253. package/src/crypto/ICrypto.ts +40 -10
  254. package/src/crypto/JoseHeader.ts +8 -2
  255. package/src/crypto/PopTokenGenerator.ts +1 -1
  256. package/src/error/AuthError.ts +9 -5
  257. package/src/error/ClientAuthError.ts +8 -3
  258. package/src/error/ClientAuthErrorCodes.ts +0 -2
  259. package/src/error/ClientConfigurationError.ts +5 -4
  260. package/src/error/InteractionRequiredAuthError.ts +9 -5
  261. package/src/error/JoseHeaderError.ts +11 -4
  262. package/src/error/NetworkError.ts +6 -1
  263. package/src/error/PlatformBrokerError.ts +2 -1
  264. package/src/error/ServerError.ts +3 -2
  265. package/src/logger/Logger.ts +25 -10
  266. package/src/network/INetworkModule.ts +3 -2
  267. package/src/network/ThrottlingUtils.ts +1 -0
  268. package/src/packageMetadata.ts +1 -1
  269. package/src/protocol/Authorize.ts +23 -6
  270. package/src/protocol/Token.ts +6 -1
  271. package/src/request/AuthenticationHeaderParser.ts +6 -3
  272. package/src/request/BaseAuthRequest.ts +8 -2
  273. package/src/request/RequestParameterBuilder.ts +67 -43
  274. package/src/request/ScopeSet.ts +27 -11
  275. package/src/response/ImdsComputeResponse.ts +14 -0
  276. package/src/response/ResponseHandler.ts +46 -32
  277. package/src/url/UrlString.ts +32 -13
  278. package/src/utils/ClientAssertionUtils.ts +3 -1
  279. package/src/utils/Constants.ts +6 -3
  280. package/src/utils/ProtocolUtils.ts +26 -8
  281. package/src/utils/UrlUtils.ts +8 -3
  282. package/types/account/AccountInfo.d.ts +8 -2
  283. package/types/account/AccountInfo.d.ts.map +1 -1
  284. package/types/account/AuthToken.d.ts +2 -6
  285. package/types/account/AuthToken.d.ts.map +1 -1
  286. package/types/account/ClientCredentials.d.ts +1 -0
  287. package/types/account/ClientCredentials.d.ts.map +1 -1
  288. package/types/account/ClientInfo.d.ts.map +1 -1
  289. package/types/authority/Authority.d.ts +5 -5
  290. package/types/authority/Authority.d.ts.map +1 -1
  291. package/types/authority/AuthorityFactory.d.ts.map +1 -1
  292. package/types/authority/AuthorityMetadata.d.ts.map +1 -1
  293. package/types/authority/RegionDiscovery.d.ts +3 -2
  294. package/types/authority/RegionDiscovery.d.ts.map +1 -1
  295. package/types/cache/CacheManager.d.ts +0 -7
  296. package/types/cache/CacheManager.d.ts.map +1 -1
  297. package/types/cache/entities/AccountEntity.d.ts +4 -0
  298. package/types/cache/entities/AccountEntity.d.ts.map +1 -1
  299. package/types/cache/entities/CredentialEntity.d.ts +2 -0
  300. package/types/cache/entities/CredentialEntity.d.ts.map +1 -1
  301. package/types/cache/interface/ICacheManager.d.ts +1 -0
  302. package/types/cache/interface/ICacheManager.d.ts.map +1 -1
  303. package/types/cache/utils/AccountEntityUtils.d.ts +7 -1
  304. package/types/cache/utils/AccountEntityUtils.d.ts.map +1 -1
  305. package/types/cache/utils/CacheHelpers.d.ts +4 -1
  306. package/types/cache/utils/CacheHelpers.d.ts.map +1 -1
  307. package/types/cache/utils/CacheTypes.d.ts +2 -1
  308. package/types/cache/utils/CacheTypes.d.ts.map +1 -1
  309. package/types/client/AuthorizationCodeClient.d.ts.map +1 -1
  310. package/types/client/RefreshTokenClient.d.ts.map +1 -1
  311. package/types/client/SilentFlowClient.d.ts.map +1 -1
  312. package/types/config/ClientConfiguration.d.ts +4 -0
  313. package/types/config/ClientConfiguration.d.ts.map +1 -1
  314. package/types/constants/AADServerParamKeys.d.ts +4 -0
  315. package/types/constants/AADServerParamKeys.d.ts.map +1 -1
  316. package/types/crypto/ICrypto.d.ts.map +1 -1
  317. package/types/crypto/JoseHeader.d.ts.map +1 -1
  318. package/types/error/AuthError.d.ts +2 -3
  319. package/types/error/AuthError.d.ts.map +1 -1
  320. package/types/error/ClientAuthError.d.ts +2 -2
  321. package/types/error/ClientAuthError.d.ts.map +1 -1
  322. package/types/error/ClientAuthErrorCodes.d.ts +0 -2
  323. package/types/error/ClientAuthErrorCodes.d.ts.map +1 -1
  324. package/types/error/ClientConfigurationError.d.ts +2 -2
  325. package/types/error/ClientConfigurationError.d.ts.map +1 -1
  326. package/types/error/InteractionRequiredAuthError.d.ts +2 -2
  327. package/types/error/InteractionRequiredAuthError.d.ts.map +1 -1
  328. package/types/error/JoseHeaderError.d.ts +2 -2
  329. package/types/error/JoseHeaderError.d.ts.map +1 -1
  330. package/types/error/NetworkError.d.ts.map +1 -1
  331. package/types/error/PlatformBrokerError.d.ts +1 -1
  332. package/types/error/PlatformBrokerError.d.ts.map +1 -1
  333. package/types/error/ServerError.d.ts +1 -1
  334. package/types/error/ServerError.d.ts.map +1 -1
  335. package/types/logger/Logger.d.ts.map +1 -1
  336. package/types/network/INetworkModule.d.ts.map +1 -1
  337. package/types/network/ThrottlingUtils.d.ts.map +1 -1
  338. package/types/packageMetadata.d.ts +1 -1
  339. package/types/packageMetadata.d.ts.map +1 -1
  340. package/types/protocol/Authorize.d.ts +6 -2
  341. package/types/protocol/Authorize.d.ts.map +1 -1
  342. package/types/protocol/Token.d.ts +2 -0
  343. package/types/protocol/Token.d.ts.map +1 -1
  344. package/types/request/AuthenticationHeaderParser.d.ts.map +1 -1
  345. package/types/request/BaseAuthRequest.d.ts +4 -0
  346. package/types/request/BaseAuthRequest.d.ts.map +1 -1
  347. package/types/request/RequestParameterBuilder.d.ts +13 -3
  348. package/types/request/RequestParameterBuilder.d.ts.map +1 -1
  349. package/types/request/ScopeSet.d.ts +4 -3
  350. package/types/request/ScopeSet.d.ts.map +1 -1
  351. package/types/response/ImdsComputeResponse.d.ts +10 -0
  352. package/types/response/ImdsComputeResponse.d.ts.map +1 -0
  353. package/types/response/ResponseHandler.d.ts +2 -1
  354. package/types/response/ResponseHandler.d.ts.map +1 -1
  355. package/types/url/UrlString.d.ts +5 -4
  356. package/types/url/UrlString.d.ts.map +1 -1
  357. package/types/utils/ClientAssertionUtils.d.ts +1 -1
  358. package/types/utils/ClientAssertionUtils.d.ts.map +1 -1
  359. package/types/utils/Constants.d.ts +6 -2
  360. package/types/utils/Constants.d.ts.map +1 -1
  361. package/types/utils/ProtocolUtils.d.ts +6 -3
  362. package/types/utils/ProtocolUtils.d.ts.map +1 -1
  363. package/types/utils/UrlUtils.d.ts.map +1 -1
  364. package/lib/index-node-7wFgJ2eB.js.map +0 -1
@@ -177,13 +177,15 @@ export class RefreshTokenClient {
177
177
  // Cannot renew token if no request object is given.
178
178
  if (!request) {
179
179
  throw createClientConfigurationError(
180
- ClientConfigurationErrorCodes.tokenRequestEmpty
180
+ ClientConfigurationErrorCodes.tokenRequestEmpty,
181
+ ""
181
182
  );
182
183
  }
183
184
  // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases
184
185
  if (!request.account) {
185
186
  throw createClientAuthError(
186
- ClientAuthErrorCodes.noAccountInSilentRequest
187
+ ClientAuthErrorCodes.noAccountInSilentRequest,
188
+ request.correlationId
187
189
  );
188
190
  }
189
191
 
@@ -258,7 +260,8 @@ export class RefreshTokenClient {
258
260
 
259
261
  if (!refreshToken) {
260
262
  throw createInteractionRequiredAuthError(
261
- InteractionRequiredAuthErrorCodes.noTokensFound
263
+ InteractionRequiredAuthErrorCodes.noTokensFound,
264
+ request.correlationId
262
265
  );
263
266
  }
264
267
 
@@ -276,7 +279,8 @@ export class RefreshTokenClient {
276
279
 
277
280
  if (TimeUtils.isTokenExpired(refreshToken.expiresOn, offset)) {
278
281
  throw createInteractionRequiredAuthError(
279
- InteractionRequiredAuthErrorCodes.refreshTokenExpired
282
+ InteractionRequiredAuthErrorCodes.refreshTokenExpired,
283
+ request.correlationId
280
284
  );
281
285
  }
282
286
  }
@@ -407,6 +411,7 @@ export class RefreshTokenClient {
407
411
  RequestParameterBuilder.addScopes(
408
412
  parameters,
409
413
  request.scopes,
414
+ request.correlationId,
410
415
  true,
411
416
  this.config.authOptions.authority.options.OIDCOptions?.defaultScopes
412
417
  );
@@ -497,7 +502,8 @@ export class RefreshTokenClient {
497
502
  RequestParameterBuilder.addSshJwk(parameters, request.sshJwk);
498
503
  } else {
499
504
  throw createClientConfigurationError(
500
- ClientConfigurationErrorCodes.missingSshJwk
505
+ ClientConfigurationErrorCodes.missingSshJwk,
506
+ request.correlationId
501
507
  );
502
508
  }
503
509
  }
@@ -554,6 +560,7 @@ export class RefreshTokenClient {
554
560
 
555
561
  RequestParameterBuilder.addClaims(
556
562
  parameters,
563
+ request.correlationId,
557
564
  request.claims,
558
565
  this.config.authOptions.clientCapabilities,
559
566
  request.skipBrokerClaims
@@ -20,7 +20,7 @@ import { CacheRecord } from "../cache/entities/CacheRecord.js";
20
20
  import { CacheOutcome } from "../utils/Constants.js";
21
21
  import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";
22
22
  import { StringUtils } from "../utils/StringUtils.js";
23
- import { checkMaxAge, extractTokenClaims } from "../account/AuthToken.js";
23
+ import { extractTokenClaims } from "../account/AuthToken.js";
24
24
  import { TokenClaims } from "../account/TokenClaims.js";
25
25
  import * as PerformanceEvents from "../telemetry/performance/PerformanceEvents.js";
26
26
  import { invokeAsync } from "../utils/FunctionWrappers.js";
@@ -106,20 +106,25 @@ export class SilentFlowClient {
106
106
  request.correlationId
107
107
  );
108
108
  throw createClientAuthError(
109
- ClientAuthErrorCodes.tokenRefreshRequired
109
+ ClientAuthErrorCodes.tokenRefreshRequired,
110
+ request.correlationId
110
111
  );
111
112
  }
112
113
 
113
114
  // We currently do not support silent flow for account === null use cases; This will be revisited for confidential flow usecases
114
115
  if (!request.account) {
115
116
  throw createClientAuthError(
116
- ClientAuthErrorCodes.noAccountInSilentRequest
117
+ ClientAuthErrorCodes.noAccountInSilentRequest,
118
+ request.correlationId
117
119
  );
118
120
  }
119
121
 
120
122
  const requestTenantId =
121
123
  request.account.tenantId ||
122
- getTenantFromAuthorityString(request.authority);
124
+ getTenantFromAuthorityString(
125
+ request.authority,
126
+ request.correlationId
127
+ );
123
128
  const tokenKeys = this.cacheManager.getTokenKeys();
124
129
  const cachedAccessToken = this.cacheManager.getAccessToken(
125
130
  request.account,
@@ -135,7 +140,8 @@ export class SilentFlowClient {
135
140
  request.correlationId
136
141
  );
137
142
  throw createClientAuthError(
138
- ClientAuthErrorCodes.tokenRefreshRequired
143
+ ClientAuthErrorCodes.tokenRefreshRequired,
144
+ request.correlationId
139
145
  );
140
146
  } else if (
141
147
  TimeUtils.wasClockTurnedBack(cachedAccessToken.cachedAt) ||
@@ -150,7 +156,8 @@ export class SilentFlowClient {
150
156
  request.correlationId
151
157
  );
152
158
  throw createClientAuthError(
153
- ClientAuthErrorCodes.tokenRefreshRequired
159
+ ClientAuthErrorCodes.tokenRefreshRequired,
160
+ request.correlationId
154
161
  );
155
162
  } else if (request.resource) {
156
163
  // cached access token must have a resource that matches the request resource for MCP scenarios
@@ -160,7 +167,8 @@ export class SilentFlowClient {
160
167
  request.correlationId
161
168
  );
162
169
  throw createClientAuthError(
163
- ClientAuthErrorCodes.tokenRefreshRequired
170
+ ClientAuthErrorCodes.tokenRefreshRequired,
171
+ request.correlationId
164
172
  );
165
173
  }
166
174
  } else if (
@@ -243,22 +251,11 @@ export class SilentFlowClient {
243
251
  if (cacheRecord.idToken) {
244
252
  idTokenClaims = extractTokenClaims(
245
253
  cacheRecord.idToken.secret,
246
- this.config.cryptoInterface.base64Decode
254
+ this.config.cryptoInterface.base64Decode,
255
+ request.correlationId
247
256
  );
248
257
  }
249
258
 
250
- // token max_age check
251
- if (request.maxAge || request.maxAge === 0) {
252
- const authTime = idTokenClaims?.auth_time;
253
- if (!authTime) {
254
- throw createClientAuthError(
255
- ClientAuthErrorCodes.authTimeNotFound
256
- );
257
- }
258
-
259
- checkMaxAge(authTime, request.maxAge);
260
- }
261
-
262
259
  return ResponseHandler.generateAuthenticationResult(
263
260
  this.cryptoUtils,
264
261
  this.authority,
@@ -11,7 +11,7 @@ import {
11
11
  DEFAULT_TOKEN_RENEWAL_OFFSET_SEC,
12
12
  SKU,
13
13
  } from "../utils/Constants.js";
14
- import { version } from "../packageMetadata.js";
14
+ import { version, name } from "../packageMetadata.js";
15
15
  import type { Authority } from "../authority/Authority.js";
16
16
  import { AzureCloudInstance } from "../authority/AuthorityOptions.js";
17
17
  import { CacheManager, DefaultStorageClass } from "../cache/CacheManager.js";
@@ -56,6 +56,9 @@ export type ClientConfiguration = {
56
56
  serializableCache?: ISerializableTokenCache | null;
57
57
  };
58
58
 
59
+ /**
60
+ * @internal
61
+ */
59
62
  export type CommonClientConfiguration = {
60
63
  authOptions: Required<AuthOptions>;
61
64
  systemOptions: Required<SystemOptions>;
@@ -171,10 +174,16 @@ const DEFAULT_LOGGER_IMPLEMENTATION: Required<LoggerOptions> = {
171
174
 
172
175
  const DEFAULT_NETWORK_IMPLEMENTATION: INetworkModule = {
173
176
  async sendGetRequestAsync<T>(): Promise<T> {
174
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
177
+ throw createClientAuthError(
178
+ ClientAuthErrorCodes.methodNotImplemented,
179
+ ""
180
+ );
175
181
  },
176
182
  async sendPostRequestAsync<T>(): Promise<T> {
177
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
183
+ throw createClientAuthError(
184
+ ClientAuthErrorCodes.methodNotImplemented,
185
+ ""
186
+ );
178
187
  },
179
188
  };
180
189
 
@@ -208,6 +217,7 @@ const DEFAULT_TELEMETRY_OPTIONS: Required<TelemetryOptions> = {
208
217
  * @param Configuration
209
218
  *
210
219
  * @returns Configuration
220
+ * @internal
211
221
  */
212
222
  export function buildClientConfiguration({
213
223
  authOptions: userAuthOptions,
@@ -237,7 +247,7 @@ export function buildClientConfiguration({
237
247
  new DefaultStorageClass(
238
248
  userAuthOptions.clientId,
239
249
  DEFAULT_CRYPTO_IMPLEMENTATION,
240
- new Logger(loggerOptions),
250
+ new Logger(loggerOptions, name, version),
241
251
  new StubPerformanceClient()
242
252
  ),
243
253
  networkInterface:
@@ -63,3 +63,8 @@ export const EAR_JWK = "ear_jwk";
63
63
  export const EAR_JWE_CRYPTO = "ear_jwe_crypto";
64
64
  export const RESOURCE = "resource";
65
65
  export const CLI_DATA = "clidata";
66
+ export const USER_FEDERATED_IDENTITY_CREDENTIAL =
67
+ "user_federated_identity_credential";
68
+ export const USERNAME = "username";
69
+ export const USER_ID = "user_id";
70
+ export const FMI_PATH = "fmi_path";
@@ -96,33 +96,63 @@ export interface ICrypto {
96
96
 
97
97
  export const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto = {
98
98
  createNewGuid: (): string => {
99
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
99
+ throw createClientAuthError(
100
+ ClientAuthErrorCodes.methodNotImplemented,
101
+ ""
102
+ );
100
103
  },
101
104
  base64Decode: (): string => {
102
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
105
+ throw createClientAuthError(
106
+ ClientAuthErrorCodes.methodNotImplemented,
107
+ ""
108
+ );
103
109
  },
104
110
  base64Encode: (): string => {
105
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
111
+ throw createClientAuthError(
112
+ ClientAuthErrorCodes.methodNotImplemented,
113
+ ""
114
+ );
106
115
  },
107
116
  base64UrlEncode: (): string => {
108
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
117
+ throw createClientAuthError(
118
+ ClientAuthErrorCodes.methodNotImplemented,
119
+ ""
120
+ );
109
121
  },
110
122
  encodeKid: (): string => {
111
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
123
+ throw createClientAuthError(
124
+ ClientAuthErrorCodes.methodNotImplemented,
125
+ ""
126
+ );
112
127
  },
113
128
  async getPublicKeyThumbprint(): Promise<string> {
114
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
129
+ throw createClientAuthError(
130
+ ClientAuthErrorCodes.methodNotImplemented,
131
+ ""
132
+ );
115
133
  },
116
134
  async removeTokenBindingKey(): Promise<void> {
117
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
135
+ throw createClientAuthError(
136
+ ClientAuthErrorCodes.methodNotImplemented,
137
+ ""
138
+ );
118
139
  },
119
140
  async clearKeystore(): Promise<boolean> {
120
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
141
+ throw createClientAuthError(
142
+ ClientAuthErrorCodes.methodNotImplemented,
143
+ ""
144
+ );
121
145
  },
122
146
  async signJwt(): Promise<string> {
123
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
147
+ throw createClientAuthError(
148
+ ClientAuthErrorCodes.methodNotImplemented,
149
+ ""
150
+ );
124
151
  },
125
152
  async hashString(): Promise<string> {
126
- throw createClientAuthError(ClientAuthErrorCodes.methodNotImplemented);
153
+ throw createClientAuthError(
154
+ ClientAuthErrorCodes.methodNotImplemented,
155
+ ""
156
+ );
127
157
  },
128
158
  };
@@ -38,12 +38,18 @@ export class JoseHeader {
38
38
  static getShrHeaderString(shrHeaderOptions: JoseHeaderOptions): string {
39
39
  // KeyID is required on the SHR header
40
40
  if (!shrHeaderOptions.kid) {
41
- throw createJoseHeaderError(JoseHeaderErrorCodes.missingKidError);
41
+ throw createJoseHeaderError(
42
+ JoseHeaderErrorCodes.missingKidError,
43
+ ""
44
+ );
42
45
  }
43
46
 
44
47
  // Alg is required on the SHR header
45
48
  if (!shrHeaderOptions.alg) {
46
- throw createJoseHeaderError(JoseHeaderErrorCodes.missingAlgError);
49
+ throw createJoseHeaderError(
50
+ JoseHeaderErrorCodes.missingAlgError,
51
+ ""
52
+ );
47
53
  }
48
54
 
49
55
  const shrHeader = new JoseHeader({
@@ -125,7 +125,7 @@ export class PopTokenGenerator {
125
125
  } = request;
126
126
 
127
127
  const resourceUrlString = resourceRequestUri
128
- ? new UrlString(resourceRequestUri)
128
+ ? new UrlString(resourceRequestUri, request.correlationId)
129
129
  : undefined;
130
130
  const resourceUrlComponents = resourceUrlString?.getUrlComponents();
131
131
  return this.cryptoUtils.signJwt(
@@ -40,7 +40,12 @@ export class AuthError extends Error {
40
40
  */
41
41
  platformBrokerError?: PlatformBrokerError;
42
42
 
43
- constructor(errorCode?: string, errorMessage?: string, suberror?: string) {
43
+ constructor(
44
+ errorCode: string,
45
+ correlationId: string,
46
+ errorMessage?: string,
47
+ suberror?: string
48
+ ) {
44
49
  const message =
45
50
  errorMessage ||
46
51
  (errorCode ? getDefaultErrorMessage(errorCode) : "");
@@ -51,20 +56,19 @@ export class AuthError extends Error {
51
56
  this.errorCode = errorCode || "";
52
57
  this.errorMessage = message || "";
53
58
  this.subError = suberror || "";
54
- this.name = "AuthError";
55
- }
56
-
57
- setCorrelationId(correlationId: string): void {
58
59
  this.correlationId = correlationId;
60
+ this.name = "AuthError";
59
61
  }
60
62
  }
61
63
 
62
64
  export function createAuthError(
63
65
  code: string,
66
+ correlationId: string,
64
67
  additionalMessage?: string
65
68
  ): AuthError {
66
69
  return new AuthError(
67
70
  code,
71
+ correlationId,
68
72
  additionalMessage || getDefaultErrorMessage(code)
69
73
  );
70
74
  }
@@ -15,8 +15,12 @@ export { ClientAuthErrorCodes }; // Allow importing as "ClientAuthErrorCodes";
15
15
  * Error thrown when there is an error in the client code running on the browser.
16
16
  */
17
17
  export class ClientAuthError extends AuthError {
18
- constructor(errorCode: string, additionalMessage?: string) {
19
- super(errorCode, additionalMessage);
18
+ constructor(
19
+ errorCode: string,
20
+ correlationId: string,
21
+ additionalMessage?: string
22
+ ) {
23
+ super(errorCode, correlationId, additionalMessage);
20
24
  this.name = "ClientAuthError";
21
25
 
22
26
  Object.setPrototypeOf(this, ClientAuthError.prototype);
@@ -25,7 +29,8 @@ export class ClientAuthError extends AuthError {
25
29
 
26
30
  export function createClientAuthError(
27
31
  errorCode: string,
32
+ correlationId: string,
28
33
  additionalMessage?: string
29
34
  ): ClientAuthError {
30
- return new ClientAuthError(errorCode, additionalMessage);
35
+ return new ClientAuthError(errorCode, correlationId, additionalMessage);
31
36
  }
@@ -15,8 +15,6 @@ export const invalidState = "invalid_state";
15
15
  export const stateMismatch = "state_mismatch";
16
16
  export const stateNotFound = "state_not_found";
17
17
  export const nonceMismatch = "nonce_mismatch";
18
- export const authTimeNotFound = "auth_time_not_found";
19
- export const maxAgeTranspired = "max_age_transpired";
20
18
  export const multipleMatchingTokens = "multiple_matching_tokens";
21
19
  export const multipleMatchingAppMetadata = "multiple_matching_appMetadata";
22
20
  export const requestCannotBeMade = "request_cannot_be_made";
@@ -11,15 +11,16 @@ export { ClientConfigurationErrorCodes };
11
11
  * Error thrown when there is an error in configuration of the MSAL.js library.
12
12
  */
13
13
  export class ClientConfigurationError extends AuthError {
14
- constructor(errorCode: string) {
15
- super(errorCode);
14
+ constructor(errorCode: string, correlationId: string) {
15
+ super(errorCode, correlationId);
16
16
  this.name = "ClientConfigurationError";
17
17
  Object.setPrototypeOf(this, ClientConfigurationError.prototype);
18
18
  }
19
19
  }
20
20
 
21
21
  export function createClientConfigurationError(
22
- errorCode: string
22
+ errorCode: string,
23
+ correlationId: string
23
24
  ): ClientConfigurationError {
24
- return new ClientConfigurationError(errorCode);
25
+ return new ClientConfigurationError(errorCode, correlationId);
25
26
  }
@@ -61,21 +61,20 @@ export class InteractionRequiredAuthError extends AuthError {
61
61
  readonly errorNo?: string;
62
62
 
63
63
  constructor(
64
- errorCode?: string,
64
+ errorCode: string,
65
+ correlationId: string,
65
66
  errorMessage?: string,
66
67
  subError?: string,
67
68
  timestamp?: string,
68
69
  traceId?: string,
69
- correlationId?: string,
70
70
  claims?: string,
71
71
  errorNo?: string
72
72
  ) {
73
- super(errorCode, errorMessage, subError);
73
+ super(errorCode, correlationId, errorMessage, subError);
74
74
  Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);
75
75
 
76
76
  this.timestamp = timestamp || "";
77
77
  this.traceId = traceId || "";
78
- this.correlationId = correlationId || "";
79
78
  this.claims = claims || "";
80
79
  this.name = "InteractionRequiredAuthError";
81
80
  this.errorNo = errorNo;
@@ -117,7 +116,12 @@ export function isInteractionRequiredError(
117
116
  */
118
117
  export function createInteractionRequiredAuthError(
119
118
  errorCode: string,
119
+ correlationId: string,
120
120
  errorMessage?: string
121
121
  ): InteractionRequiredAuthError {
122
- return new InteractionRequiredAuthError(errorCode, errorMessage);
122
+ return new InteractionRequiredAuthError(
123
+ errorCode,
124
+ correlationId,
125
+ errorMessage
126
+ );
123
127
  }
@@ -11,8 +11,12 @@ export { JoseHeaderErrorCodes };
11
11
  * Error thrown when there is an error in the client code running on the browser.
12
12
  */
13
13
  export class JoseHeaderError extends AuthError {
14
- constructor(errorCode: string, errorMessage?: string) {
15
- super(errorCode, errorMessage);
14
+ constructor(
15
+ errorCode: string,
16
+ correlationId: string,
17
+ errorMessage?: string
18
+ ) {
19
+ super(errorCode, correlationId, errorMessage);
16
20
  this.name = "JoseHeaderError";
17
21
 
18
22
  Object.setPrototypeOf(this, JoseHeaderError.prototype);
@@ -20,6 +24,9 @@ export class JoseHeaderError extends AuthError {
20
24
  }
21
25
 
22
26
  /** Returns JoseHeaderError object */
23
- export function createJoseHeaderError(code: string): JoseHeaderError {
24
- return new JoseHeaderError(code);
27
+ export function createJoseHeaderError(
28
+ code: string,
29
+ correlationId: string
30
+ ): JoseHeaderError {
31
+ return new JoseHeaderError(code, correlationId);
25
32
  }
@@ -18,7 +18,12 @@ export class NetworkError extends AuthError {
18
18
  httpStatus?: number,
19
19
  responseHeaders?: Record<string, string>
20
20
  ) {
21
- super(error.errorCode, error.errorMessage, error.subError);
21
+ super(
22
+ error.errorCode,
23
+ error.correlationId,
24
+ error.errorMessage,
25
+ error.subError
26
+ );
22
27
 
23
28
  Object.setPrototypeOf(this, NetworkError.prototype);
24
29
  this.name = "NetworkError";
@@ -49,6 +49,7 @@ export class PlatformBrokerError extends AuthError {
49
49
 
50
50
  constructor(
51
51
  errorStatus: string,
52
+ correlationId: string,
52
53
  errorContext: string,
53
54
  errorCode: number,
54
55
  errorTag: number
@@ -58,7 +59,7 @@ export class PlatformBrokerError extends AuthError {
58
59
  ? `${errorContext} (Error Code: ${errorCode}, Tag: ${tagString})`
59
60
  : `(Error Code: ${errorCode}, Tag: ${tagString})`;
60
61
 
61
- super(errorStatus, enhancedErrorContext);
62
+ super(errorStatus, correlationId, enhancedErrorContext);
62
63
  this.name = "PlatformBrokerError";
63
64
  this.statusCode = errorCode;
64
65
  this.tag = tagString;
@@ -20,13 +20,14 @@ export class ServerError extends AuthError {
20
20
  readonly status?: number;
21
21
 
22
22
  constructor(
23
- errorCode?: string,
23
+ errorCode: string,
24
+ correlationId: string,
24
25
  errorMessage?: string,
25
26
  subError?: string,
26
27
  errorNo?: string,
27
28
  status?: number
28
29
  ) {
29
- super(errorCode, errorMessage, subError);
30
+ super(errorCode, correlationId, errorMessage, subError);
30
31
  this.name = "ServerError";
31
32
  this.errorNo = errorNo;
32
33
  this.status = status;
@@ -147,25 +147,40 @@ export function getCachedCorrelationIds(): string[] {
147
147
  }
148
148
 
149
149
  /**
150
- * Checks if a string is already a hashed logging string (6 alphanumeric characters)
150
+ * Extracts the leading minification hash from a log message, if present.
151
+ *
152
+ * Minified messages are produced by the logger-minify rollup plugin and are
153
+ * either a bare 6-character alphanumeric hash, or that hash followed by a space
154
+ * and runtime variables appended for local (console) logging, e.g.
155
+ * "abc123 user-1 popup". Only the leading hash is returned so that telemetry
156
+ * never captures the appended variables. Returns null when the message is not
157
+ * a minified message.
151
158
  */
152
- function isHashedString(str: string): boolean {
153
- if (str.length !== 6) {
154
- return false;
159
+ function getMessageHash(str: string): string | null {
160
+ if (str.length < 6) {
161
+ return null;
155
162
  }
156
163
 
157
- for (let i = 0; i < str.length; i++) {
164
+ /*
165
+ * If the message is longer than the hash, the hash must be delimited by a
166
+ * space (the separator the plugin inserts before appended variables).
167
+ */
168
+ if (str.length > 6 && str[6] !== " ") {
169
+ return null;
170
+ }
171
+
172
+ for (let i = 0; i < 6; i++) {
158
173
  const char = str[i];
159
174
  const isAlphaNumeric =
160
175
  (char >= "a" && char <= "z") ||
161
176
  (char >= "A" && char <= "Z") ||
162
177
  (char >= "0" && char <= "9");
163
178
  if (!isAlphaNumeric) {
164
- return false;
179
+ return null;
165
180
  }
166
181
  }
167
182
 
168
- return true;
183
+ return str.substring(0, 6);
169
184
  }
170
185
 
171
186
  /**
@@ -241,11 +256,11 @@ export class Logger {
241
256
  options: LoggerMessageOptions
242
257
  ): void {
243
258
  const correlationId = options.correlationId;
244
- const isHashedInput = isHashedString(logMessage);
259
+ const messageHash = getMessageHash(logMessage);
245
260
 
246
- if (isHashedInput) {
261
+ if (messageHash) {
247
262
  const loggedMessage: LoggedMessage = {
248
- hash: logMessage,
263
+ hash: messageHash,
249
264
  level: options.logLevel,
250
265
  containsPii: options.containsPii || false,
251
266
  milliseconds: 0, // Will be calculated in addLogToCache
@@ -46,14 +46,15 @@ export interface INetworkModule {
46
46
  }
47
47
 
48
48
  export const StubbedNetworkModule: INetworkModule = {
49
+ // Module-level singleton: no per-request correlationId available
49
50
  sendGetRequestAsync: () => {
50
51
  return Promise.reject(
51
- createClientAuthError(ClientAuthErrorCodes.methodNotImplemented)
52
+ createClientAuthError(ClientAuthErrorCodes.methodNotImplemented, "")
52
53
  );
53
54
  },
54
55
  sendPostRequestAsync: () => {
55
56
  return Promise.reject(
56
- createClientAuthError(ClientAuthErrorCodes.methodNotImplemented)
57
+ createClientAuthError(ClientAuthErrorCodes.methodNotImplemented, "")
57
58
  );
58
59
  },
59
60
  };
@@ -45,6 +45,7 @@ export class ThrottlingUtils {
45
45
  }
46
46
  throw new ServerError(
47
47
  value.errorCodes?.join(" ") || "",
48
+ correlationId,
48
49
  value.errorMessage,
49
50
  value.subError
50
51
  );
@@ -1,3 +1,3 @@
1
1
  /* eslint-disable header/header */
2
2
  export const name = "@azure/msal-common";
3
- export const version = "16.8.0";
3
+ export const version = "16.10.0";