@azure/msal-browser 4.27.0 → 4.28.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 (376) hide show
  1. package/dist/app/IPublicClientApplication.mjs +1 -1
  2. package/dist/app/PublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientNext.mjs +1 -1
  4. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  5. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  6. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  8. package/dist/cache/AccountManager.mjs +1 -1
  9. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  10. package/dist/cache/BrowserCacheManager.d.ts +3 -3
  11. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  12. package/dist/cache/BrowserCacheManager.mjs +10 -6
  13. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  14. package/dist/cache/CacheHelpers.mjs +1 -1
  15. package/dist/cache/CacheKeys.mjs +1 -1
  16. package/dist/cache/CookieStorage.mjs +1 -1
  17. package/dist/cache/DatabaseStorage.mjs +1 -1
  18. package/dist/cache/EncryptedData.mjs +1 -1
  19. package/dist/cache/LocalStorage.mjs +1 -1
  20. package/dist/cache/MemoryStorage.mjs +1 -1
  21. package/dist/cache/SessionStorage.mjs +1 -1
  22. package/dist/cache/TokenCache.d.ts +3 -2
  23. package/dist/cache/TokenCache.d.ts.map +1 -1
  24. package/dist/cache/TokenCache.mjs +39 -29
  25. package/dist/cache/TokenCache.mjs.map +1 -1
  26. package/dist/config/Configuration.mjs +1 -1
  27. package/dist/controllers/ControllerFactory.mjs +1 -1
  28. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  29. package/dist/controllers/NestedAppAuthController.mjs +3 -3
  30. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  31. package/dist/controllers/StandardController.d.ts.map +1 -1
  32. package/dist/controllers/StandardController.mjs +3 -3
  33. package/dist/controllers/StandardController.mjs.map +1 -1
  34. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  35. package/dist/crypto/BrowserCrypto.mjs +1 -1
  36. package/dist/crypto/CryptoOps.mjs +1 -1
  37. package/dist/crypto/PkceGenerator.mjs +1 -1
  38. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  39. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  40. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  41. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  42. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  43. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  44. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  45. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  46. package/dist/custom-auth-path/cache/BrowserCacheManager.d.ts +3 -3
  47. package/dist/custom-auth-path/cache/BrowserCacheManager.d.ts.map +1 -1
  48. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +10 -6
  49. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs.map +1 -1
  50. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  51. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  52. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  53. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  54. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  55. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  56. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  57. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  58. package/dist/custom-auth-path/cache/TokenCache.d.ts +3 -2
  59. package/dist/custom-auth-path/cache/TokenCache.d.ts.map +1 -1
  60. package/dist/custom-auth-path/cache/TokenCache.mjs +39 -29
  61. package/dist/custom-auth-path/cache/TokenCache.mjs.map +1 -1
  62. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  63. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  64. package/dist/custom-auth-path/controllers/NestedAppAuthController.d.ts.map +1 -1
  65. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  66. package/dist/custom-auth-path/controllers/StandardController.mjs +3 -3
  67. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  68. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  69. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  70. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  72. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts +1 -1
  109. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts.map +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +3 -3
  111. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs.map +1 -1
  112. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  114. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +2 -2
  115. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs.map +1 -1
  116. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -1
  118. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +2 -2
  119. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs.map +1 -1
  120. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  144. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +2 -2
  145. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs.map +1 -1
  146. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  154. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  155. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  156. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  157. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  161. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  169. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  170. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  171. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  172. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +6 -6
  173. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs.map +1 -1
  174. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  175. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  176. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  177. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  178. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  179. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  180. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  181. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  182. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  183. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  184. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  185. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  186. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  187. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  188. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  189. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  190. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  191. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  192. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  193. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  194. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  195. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  196. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  197. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  198. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  199. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  200. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  201. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  202. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +3 -3
  203. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  204. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  205. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  206. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  207. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +2 -2
  208. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
  209. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  210. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  211. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.d.ts.map +1 -1
  212. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +2 -2
  213. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs.map +1 -1
  214. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  215. package/dist/custom-auth-path/interaction_handler/InteractionHandler.d.ts +3 -2
  216. package/dist/custom-auth-path/interaction_handler/InteractionHandler.d.ts.map +1 -1
  217. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +5 -5
  218. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs.map +1 -1
  219. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  220. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  221. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  222. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  223. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  224. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  225. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  226. package/dist/custom-auth-path/protocol/Authorize.d.ts.map +1 -1
  227. package/dist/custom-auth-path/protocol/Authorize.mjs +3 -3
  228. package/dist/custom-auth-path/protocol/Authorize.mjs.map +1 -1
  229. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  230. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  231. package/dist/custom-auth-path/utils/BrowserConstants.d.ts +20 -1
  232. package/dist/custom-auth-path/utils/BrowserConstants.d.ts.map +1 -1
  233. package/dist/custom-auth-path/utils/BrowserConstants.mjs +27 -3
  234. package/dist/custom-auth-path/utils/BrowserConstants.mjs.map +1 -1
  235. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  236. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  237. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  238. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  239. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  240. package/dist/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts +1 -1
  241. package/dist/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts.map +1 -1
  242. package/dist/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  243. package/dist/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -1
  244. package/dist/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  245. package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  246. package/dist/encode/Base64Decode.mjs +1 -1
  247. package/dist/encode/Base64Encode.mjs +1 -1
  248. package/dist/error/BrowserAuthError.mjs +1 -1
  249. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  250. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  251. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  252. package/dist/error/NativeAuthError.mjs +1 -1
  253. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  254. package/dist/error/NestedAppAuthError.mjs +1 -1
  255. package/dist/event/EventHandler.mjs +1 -1
  256. package/dist/event/EventMessage.mjs +1 -1
  257. package/dist/event/EventType.mjs +1 -1
  258. package/dist/index.mjs +1 -1
  259. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  260. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  261. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  262. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +3 -3
  263. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  264. package/dist/interaction_client/PopupClient.mjs +1 -1
  265. package/dist/interaction_client/RedirectClient.mjs +1 -1
  266. package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  267. package/dist/interaction_client/SilentAuthCodeClient.mjs +2 -2
  268. package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
  269. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  270. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  271. package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
  272. package/dist/interaction_client/SilentRefreshClient.mjs +2 -2
  273. package/dist/interaction_client/SilentRefreshClient.mjs.map +1 -1
  274. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  275. package/dist/interaction_handler/InteractionHandler.d.ts +3 -2
  276. package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
  277. package/dist/interaction_handler/InteractionHandler.mjs +5 -5
  278. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  279. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  280. package/dist/naa/BridgeError.mjs +1 -1
  281. package/dist/naa/BridgeProxy.mjs +1 -1
  282. package/dist/naa/BridgeStatusCode.mjs +1 -1
  283. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  284. package/dist/navigation/NavigationClient.mjs +1 -1
  285. package/dist/network/FetchClient.mjs +1 -1
  286. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  287. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  288. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  289. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  290. package/dist/packageMetadata.d.ts +1 -1
  291. package/dist/packageMetadata.mjs +2 -2
  292. package/dist/protocol/Authorize.d.ts.map +1 -1
  293. package/dist/protocol/Authorize.mjs +3 -3
  294. package/dist/protocol/Authorize.mjs.map +1 -1
  295. package/dist/request/RequestHelpers.mjs +1 -1
  296. package/dist/response/ResponseHandler.mjs +1 -1
  297. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  298. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  299. package/dist/utils/BrowserConstants.d.ts +20 -1
  300. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  301. package/dist/utils/BrowserConstants.mjs +27 -3
  302. package/dist/utils/BrowserConstants.mjs.map +1 -1
  303. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  304. package/dist/utils/BrowserUtils.mjs +1 -1
  305. package/dist/utils/Helpers.mjs +1 -1
  306. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  307. package/lib/custom-auth-path/msal-custom-auth.cjs +190 -140
  308. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  309. package/lib/custom-auth-path/msal-custom-auth.js +22608 -0
  310. package/lib/custom-auth-path/msal-custom-auth.js.map +1 -0
  311. package/lib/custom-auth-path/types/cache/BrowserCacheManager.d.ts +3 -3
  312. package/lib/custom-auth-path/types/cache/BrowserCacheManager.d.ts.map +1 -1
  313. package/lib/custom-auth-path/types/cache/TokenCache.d.ts +3 -2
  314. package/lib/custom-auth-path/types/cache/TokenCache.d.ts.map +1 -1
  315. package/lib/custom-auth-path/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  316. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  317. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  318. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts +1 -1
  319. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts.map +1 -1
  320. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  321. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -1
  322. package/lib/custom-auth-path/types/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  323. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  324. package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  325. package/lib/custom-auth-path/types/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  326. package/lib/custom-auth-path/types/interaction_client/SilentRefreshClient.d.ts.map +1 -1
  327. package/lib/custom-auth-path/types/interaction_handler/InteractionHandler.d.ts +3 -2
  328. package/lib/custom-auth-path/types/interaction_handler/InteractionHandler.d.ts.map +1 -1
  329. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  330. package/lib/custom-auth-path/types/protocol/Authorize.d.ts.map +1 -1
  331. package/lib/custom-auth-path/types/utils/BrowserConstants.d.ts +20 -1
  332. package/lib/custom-auth-path/types/utils/BrowserConstants.d.ts.map +1 -1
  333. package/lib/msal-browser.cjs +183 -133
  334. package/lib/msal-browser.cjs.map +1 -1
  335. package/lib/msal-browser.js +183 -133
  336. package/lib/msal-browser.js.map +1 -1
  337. package/lib/msal-browser.min.js +63 -63
  338. package/lib/types/cache/BrowserCacheManager.d.ts +3 -3
  339. package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
  340. package/lib/types/cache/TokenCache.d.ts +3 -2
  341. package/lib/types/cache/TokenCache.d.ts.map +1 -1
  342. package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  343. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  344. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  345. package/lib/types/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts +1 -1
  346. package/lib/types/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.d.ts.map +1 -1
  347. package/lib/types/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  348. package/lib/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -1
  349. package/lib/types/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  350. package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  351. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  352. package/lib/types/interaction_client/SilentAuthCodeClient.d.ts.map +1 -1
  353. package/lib/types/interaction_client/SilentRefreshClient.d.ts.map +1 -1
  354. package/lib/types/interaction_handler/InteractionHandler.d.ts +3 -2
  355. package/lib/types/interaction_handler/InteractionHandler.d.ts.map +1 -1
  356. package/lib/types/packageMetadata.d.ts +1 -1
  357. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  358. package/lib/types/utils/BrowserConstants.d.ts +20 -1
  359. package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
  360. package/package.json +2 -2
  361. package/src/cache/BrowserCacheManager.ts +16 -2
  362. package/src/cache/TokenCache.ts +122 -72
  363. package/src/controllers/NestedAppAuthController.ts +2 -1
  364. package/src/controllers/StandardController.ts +4 -2
  365. package/src/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.ts +4 -2
  366. package/src/custom_auth/core/interaction_client/jit/JitClient.ts +2 -1
  367. package/src/custom_auth/core/interaction_client/mfa/MfaClient.ts +2 -1
  368. package/src/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.ts +2 -1
  369. package/src/custom_auth/sign_in/interaction_client/SignInClient.ts +10 -5
  370. package/src/interaction_client/PlatformAuthInteractionClient.ts +3 -1
  371. package/src/interaction_client/SilentAuthCodeClient.ts +1 -0
  372. package/src/interaction_client/SilentRefreshClient.ts +7 -5
  373. package/src/interaction_handler/InteractionHandler.ts +10 -3
  374. package/src/packageMetadata.ts +1 -1
  375. package/src/protocol/Authorize.ts +2 -1
  376. package/src/utils/BrowserConstants.ts +27 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.27.0 2025-12-04 */
1
+ /*! @azure/msal-browser v4.28.0 2026-01-13 */
2
2
  'use strict';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -6,7 +6,7 @@
6
6
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.msal = {}));
7
7
  })(this, (function (exports) { 'use strict';
8
8
 
9
- /*! @azure/msal-common v15.13.3 2025-12-04 */
9
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
10
10
  /*
11
11
  * Copyright (c) Microsoft Corporation. All rights reserved.
12
12
  * Licensed under the MIT License.
@@ -283,7 +283,7 @@
283
283
  // Token renewal offset default in seconds
284
284
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
285
285
 
286
- /*! @azure/msal-common v15.13.3 2025-12-04 */
286
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
287
287
  /*
288
288
  * Copyright (c) Microsoft Corporation. All rights reserved.
289
289
  * Licensed under the MIT License.
@@ -300,7 +300,7 @@
300
300
  unexpectedError: unexpectedError
301
301
  });
302
302
 
303
- /*! @azure/msal-common v15.13.3 2025-12-04 */
303
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
304
304
 
305
305
  /*
306
306
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -349,7 +349,7 @@
349
349
  : AuthErrorMessages[code]);
350
350
  }
351
351
 
352
- /*! @azure/msal-common v15.13.3 2025-12-04 */
352
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
353
353
  /*
354
354
  * Copyright (c) Microsoft Corporation. All rights reserved.
355
355
  * Licensed under the MIT License.
@@ -449,7 +449,7 @@
449
449
  userTimeoutReached: userTimeoutReached
450
450
  });
451
451
 
452
- /*! @azure/msal-common v15.13.3 2025-12-04 */
452
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
453
453
 
454
454
  /*
455
455
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -706,7 +706,7 @@
706
706
  return new ClientAuthError(errorCode, additionalMessage);
707
707
  }
708
708
 
709
- /*! @azure/msal-common v15.13.3 2025-12-04 */
709
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
710
710
 
711
711
  /*
712
712
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -745,7 +745,7 @@
745
745
  },
746
746
  };
747
747
 
748
- /*! @azure/msal-common v15.13.3 2025-12-04 */
748
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
749
749
 
750
750
  /*
751
751
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -936,12 +936,12 @@
936
936
  }
937
937
  }
938
938
 
939
- /*! @azure/msal-common v15.13.3 2025-12-04 */
939
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
940
940
  /* eslint-disable header/header */
941
941
  const name$1 = "@azure/msal-common";
942
- const version$1 = "15.13.3";
942
+ const version$1 = "15.14.0";
943
943
 
944
- /*! @azure/msal-common v15.13.3 2025-12-04 */
944
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
945
945
  /*
946
946
  * Copyright (c) Microsoft Corporation. All rights reserved.
947
947
  * Licensed under the MIT License.
@@ -961,7 +961,7 @@
961
961
  AzureUsGovernment: "https://login.microsoftonline.us",
962
962
  };
963
963
 
964
- /*! @azure/msal-common v15.13.3 2025-12-04 */
964
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
965
965
  /*
966
966
  * Copyright (c) Microsoft Corporation. All rights reserved.
967
967
  * Licensed under the MIT License.
@@ -1019,7 +1019,7 @@
1019
1019
  urlParseError: urlParseError
1020
1020
  });
1021
1021
 
1022
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1022
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1023
1023
 
1024
1024
  /*
1025
1025
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1167,7 +1167,7 @@
1167
1167
  return new ClientConfigurationError(errorCode);
1168
1168
  }
1169
1169
 
1170
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1170
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1171
1171
  /*
1172
1172
  * Copyright (c) Microsoft Corporation. All rights reserved.
1173
1173
  * Licensed under the MIT License.
@@ -1264,7 +1264,7 @@
1264
1264
  }
1265
1265
  }
1266
1266
 
1267
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1267
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1268
1268
 
1269
1269
  /*
1270
1270
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1459,7 +1459,7 @@
1459
1459
  }
1460
1460
  }
1461
1461
 
1462
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1462
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1463
1463
 
1464
1464
  /*
1465
1465
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1499,7 +1499,7 @@
1499
1499
  };
1500
1500
  }
1501
1501
 
1502
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1502
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1503
1503
  /*
1504
1504
  * Copyright (c) Microsoft Corporation. All rights reserved.
1505
1505
  * Licensed under the MIT License.
@@ -1581,7 +1581,7 @@
1581
1581
  return updatedAccountInfo;
1582
1582
  }
1583
1583
 
1584
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1584
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1585
1585
  /*
1586
1586
  * Copyright (c) Microsoft Corporation. All rights reserved.
1587
1587
  * Licensed under the MIT License.
@@ -1596,7 +1596,7 @@
1596
1596
  Ciam: 3,
1597
1597
  };
1598
1598
 
1599
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1599
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1600
1600
  /*
1601
1601
  * Copyright (c) Microsoft Corporation. All rights reserved.
1602
1602
  * Licensed under the MIT License.
@@ -1618,7 +1618,7 @@
1618
1618
  return null;
1619
1619
  }
1620
1620
 
1621
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1621
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1622
1622
  /*
1623
1623
  * Copyright (c) Microsoft Corporation. All rights reserved.
1624
1624
  * Licensed under the MIT License.
@@ -1642,7 +1642,7 @@
1642
1642
  EAR: "EAR",
1643
1643
  };
1644
1644
 
1645
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1645
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1646
1646
 
1647
1647
  /*
1648
1648
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1863,7 +1863,7 @@
1863
1863
  }
1864
1864
  }
1865
1865
 
1866
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1866
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1867
1867
 
1868
1868
  /*
1869
1869
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1944,7 +1944,7 @@
1944
1944
  }
1945
1945
  }
1946
1946
 
1947
- /*! @azure/msal-common v15.13.3 2025-12-04 */
1947
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
1948
1948
 
1949
1949
  /*
1950
1950
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2060,7 +2060,7 @@
2060
2060
  }
2061
2061
  }
2062
2062
 
2063
- /*! @azure/msal-common v15.13.3 2025-12-04 */
2063
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
2064
2064
 
2065
2065
  /*
2066
2066
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2224,7 +2224,7 @@
2224
2224
  }
2225
2225
  }
2226
2226
 
2227
- /*! @azure/msal-common v15.13.3 2025-12-04 */
2227
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
2228
2228
 
2229
2229
  /*
2230
2230
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2363,7 +2363,7 @@
2363
2363
  return null;
2364
2364
  }
2365
2365
 
2366
- /*! @azure/msal-common v15.13.3 2025-12-04 */
2366
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
2367
2367
  /*
2368
2368
  * Copyright (c) Microsoft Corporation. All rights reserved.
2369
2369
  * Licensed under the MIT License.
@@ -2371,7 +2371,7 @@
2371
2371
  const cacheQuotaExceeded = "cache_quota_exceeded";
2372
2372
  const cacheErrorUnknown = "cache_error_unknown";
2373
2373
 
2374
- /*! @azure/msal-common v15.13.3 2025-12-04 */
2374
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
2375
2375
 
2376
2376
  /*
2377
2377
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2416,7 +2416,7 @@
2416
2416
  }
2417
2417
  }
2418
2418
 
2419
- /*! @azure/msal-common v15.13.3 2025-12-04 */
2419
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
2420
2420
 
2421
2421
  /*
2422
2422
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2586,15 +2586,16 @@
2586
2586
  * @param cacheRecord {CacheRecord}
2587
2587
  * @param correlationId {?string} correlation id
2588
2588
  * @param kmsi - Keep Me Signed In
2589
+ * @param apiId - API identifier for telemetry tracking
2589
2590
  * @param storeInCache {?StoreInCache}
2590
2591
  */
2591
- async saveCacheRecord(cacheRecord, correlationId, kmsi, storeInCache) {
2592
+ async saveCacheRecord(cacheRecord, correlationId, kmsi, apiId, storeInCache) {
2592
2593
  if (!cacheRecord) {
2593
2594
  throw createClientAuthError(invalidCacheRecord);
2594
2595
  }
2595
2596
  try {
2596
2597
  if (!!cacheRecord.account) {
2597
- await this.setAccount(cacheRecord.account, correlationId, kmsi);
2598
+ await this.setAccount(cacheRecord.account, correlationId, kmsi, apiId);
2598
2599
  }
2599
2600
  if (!!cacheRecord.idToken && storeInCache?.idToken !== false) {
2600
2601
  await this.setIdTokenCredential(cacheRecord.idToken, correlationId, kmsi);
@@ -3526,7 +3527,7 @@
3526
3527
  }
3527
3528
  }
3528
3529
 
3529
- /*! @azure/msal-common v15.13.3 2025-12-04 */
3530
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
3530
3531
  /*
3531
3532
  * Copyright (c) Microsoft Corporation. All rights reserved.
3532
3533
  * Licensed under the MIT License.
@@ -3783,6 +3784,11 @@
3783
3784
  Decrypt: "decrypt",
3784
3785
  GenerateEarKey: "generateEarKey",
3785
3786
  DecryptEarResponse: "decryptEarResponse",
3787
+ LoadExternalTokens: "LoadExternalTokens",
3788
+ LoadAccount: "loadAccount",
3789
+ LoadIdToken: "loadIdToken",
3790
+ LoadAccessToken: "loadAccessToken",
3791
+ LoadRefreshToken: "loadRefreshToken",
3786
3792
  };
3787
3793
  const PerformanceEventAbbreviations = new Map([
3788
3794
  [PerformanceEvents.AcquireTokenByCode, "ATByCode"],
@@ -4048,7 +4054,7 @@
4048
4054
  "upgradedCacheCount",
4049
4055
  ]);
4050
4056
 
4051
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4057
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4052
4058
 
4053
4059
  /*
4054
4060
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4127,7 +4133,7 @@
4127
4133
  }
4128
4134
  }
4129
4135
 
4130
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4136
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4131
4137
 
4132
4138
  /*
4133
4139
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4227,7 +4233,7 @@
4227
4233
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
4228
4234
  }
4229
4235
 
4230
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4236
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4231
4237
  /*
4232
4238
  * Copyright (c) Microsoft Corporation. All rights reserved.
4233
4239
  * Licensed under the MIT License.
@@ -4237,7 +4243,7 @@
4237
4243
  UPN: "UPN",
4238
4244
  };
4239
4245
 
4240
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4246
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4241
4247
  /*
4242
4248
  * Copyright (c) Microsoft Corporation. All rights reserved.
4243
4249
  * Licensed under the MIT License.
@@ -4287,7 +4293,7 @@
4287
4293
  const EAR_JWK = "ear_jwk";
4288
4294
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
4289
4295
 
4290
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4296
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4291
4297
 
4292
4298
  /*
4293
4299
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4667,7 +4673,7 @@
4667
4673
  });
4668
4674
  }
4669
4675
 
4670
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4676
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4671
4677
  /*
4672
4678
  * Copyright (c) Microsoft Corporation. All rights reserved.
4673
4679
  * Licensed under the MIT License.
@@ -4679,7 +4685,7 @@
4679
4685
  response.hasOwnProperty("jwks_uri"));
4680
4686
  }
4681
4687
 
4682
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4688
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4683
4689
  /*
4684
4690
  * Copyright (c) Microsoft Corporation. All rights reserved.
4685
4691
  * Licensed under the MIT License.
@@ -4689,7 +4695,7 @@
4689
4695
  response.hasOwnProperty("metadata"));
4690
4696
  }
4691
4697
 
4692
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4698
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4693
4699
  /*
4694
4700
  * Copyright (c) Microsoft Corporation. All rights reserved.
4695
4701
  * Licensed under the MIT License.
@@ -4699,7 +4705,7 @@
4699
4705
  response.hasOwnProperty("error_description"));
4700
4706
  }
4701
4707
 
4702
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4708
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4703
4709
  /*
4704
4710
  * Copyright (c) Microsoft Corporation. All rights reserved.
4705
4711
  * Licensed under the MIT License.
@@ -4795,7 +4801,7 @@
4795
4801
  };
4796
4802
  };
4797
4803
 
4798
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4804
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4799
4805
 
4800
4806
  /*
4801
4807
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4901,7 +4907,7 @@
4901
4907
  },
4902
4908
  };
4903
4909
 
4904
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4910
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4905
4911
  /*
4906
4912
  * Copyright (c) Microsoft Corporation. All rights reserved.
4907
4913
  * Licensed under the MIT License.
@@ -4966,7 +4972,7 @@
4966
4972
  return cachedAtSec > nowSeconds();
4967
4973
  }
4968
4974
 
4969
- /*! @azure/msal-common v15.13.3 2025-12-04 */
4975
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
4970
4976
 
4971
4977
  /*
4972
4978
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5228,7 +5234,7 @@
5228
5234
  return metadata.expiresAt <= nowSeconds();
5229
5235
  }
5230
5236
 
5231
- /*! @azure/msal-common v15.13.3 2025-12-04 */
5237
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
5232
5238
 
5233
5239
  /*
5234
5240
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6067,7 +6073,7 @@
6067
6073
  };
6068
6074
  }
6069
6075
 
6070
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6076
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6071
6077
 
6072
6078
  /*
6073
6079
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6098,7 +6104,7 @@
6098
6104
  }
6099
6105
  }
6100
6106
 
6101
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6107
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6102
6108
 
6103
6109
  /*
6104
6110
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6117,7 +6123,7 @@
6117
6123
  }
6118
6124
  }
6119
6125
 
6120
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6126
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6121
6127
  /*
6122
6128
  * Copyright (c) Microsoft Corporation. All rights reserved.
6123
6129
  * Licensed under the MIT License.
@@ -6138,7 +6144,7 @@
6138
6144
  };
6139
6145
  }
6140
6146
 
6141
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6147
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6142
6148
 
6143
6149
  /*
6144
6150
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6225,7 +6231,7 @@
6225
6231
  }
6226
6232
  }
6227
6233
 
6228
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6234
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6229
6235
 
6230
6236
  /*
6231
6237
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6256,7 +6262,7 @@
6256
6262
  return new NetworkError(error, httpStatus, responseHeaders);
6257
6263
  }
6258
6264
 
6259
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6265
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6260
6266
 
6261
6267
  /*
6262
6268
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6404,7 +6410,7 @@
6404
6410
  }
6405
6411
  }
6406
6412
 
6407
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6413
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6408
6414
  /*
6409
6415
  * Copyright (c) Microsoft Corporation. All rights reserved.
6410
6416
  * Licensed under the MIT License.
@@ -6432,7 +6438,7 @@
6432
6438
  uxNotAllowed: uxNotAllowed
6433
6439
  });
6434
6440
 
6435
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6441
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6436
6442
 
6437
6443
  /*
6438
6444
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6522,7 +6528,7 @@
6522
6528
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
6523
6529
  }
6524
6530
 
6525
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6531
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6526
6532
 
6527
6533
  /*
6528
6534
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6594,7 +6600,7 @@
6594
6600
  }
6595
6601
  }
6596
6602
 
6597
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6603
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6598
6604
 
6599
6605
  /*
6600
6606
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6676,7 +6682,7 @@
6676
6682
  }
6677
6683
  }
6678
6684
 
6679
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6685
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6680
6686
  /*
6681
6687
  * Copyright (c) Microsoft Corporation. All rights reserved.
6682
6688
  * Licensed under the MIT License.
@@ -6703,7 +6709,7 @@
6703
6709
  }
6704
6710
  }
6705
6711
 
6706
- /*! @azure/msal-common v15.13.3 2025-12-04 */
6712
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
6707
6713
 
6708
6714
  /*
6709
6715
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6767,7 +6773,7 @@
6767
6773
  * @param serverTokenResponse
6768
6774
  * @param authority
6769
6775
  */
6770
- async handleServerTokenResponse(serverTokenResponse, authority, reqTimestamp, request, authCodePayload, userAssertionHash, handlingRefreshTokenResponse, forceCacheRefreshTokenResponse, serverRequestId) {
6776
+ async handleServerTokenResponse(serverTokenResponse, authority, reqTimestamp, request, apiId, authCodePayload, userAssertionHash, handlingRefreshTokenResponse, forceCacheRefreshTokenResponse, serverRequestId) {
6771
6777
  this.performanceClient?.addQueueMeasurement(PerformanceEvents.HandleServerTokenResponse, serverTokenResponse.correlation_id);
6772
6778
  // create an idToken object (not entity)
6773
6779
  let idTokenClaims;
@@ -6822,7 +6828,7 @@
6822
6828
  return await ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenClaims, requestStateObj, undefined, serverRequestId);
6823
6829
  }
6824
6830
  }
6825
- await this.cacheStorage.saveCacheRecord(cacheRecord, request.correlationId, isKmsi(idTokenClaims || {}), request.storeInCache);
6831
+ await this.cacheStorage.saveCacheRecord(cacheRecord, request.correlationId, isKmsi(idTokenClaims || {}), apiId, request.storeInCache);
6826
6832
  }
6827
6833
  finally {
6828
6834
  if (this.persistencePlugin &&
@@ -6892,6 +6898,9 @@
6892
6898
  ? parseInt(serverTokenResponse.refresh_token_expires_in, 10)
6893
6899
  : serverTokenResponse.refresh_token_expires_in;
6894
6900
  rtExpiresOn = reqTimestamp + rtExpiresIn;
6901
+ this.performanceClient?.addFields({
6902
+ ntwkRtExpiresOnSeconds: rtExpiresOn,
6903
+ }, request.correlationId);
6895
6904
  }
6896
6905
  cachedRefreshToken = createRefreshTokenEntity(this.homeAccountIdentifier, env, serverTokenResponse.refresh_token, this.clientId, serverTokenResponse.foci, userAssertionHash, rtExpiresOn);
6897
6906
  }
@@ -7034,7 +7043,7 @@
7034
7043
  return baseAccount;
7035
7044
  }
7036
7045
 
7037
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7046
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7038
7047
  /*
7039
7048
  * Copyright (c) Microsoft Corporation. All rights reserved.
7040
7049
  * Licensed under the MIT License.
@@ -7052,7 +7061,7 @@
7052
7061
  }
7053
7062
  }
7054
7063
 
7055
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7064
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7056
7065
 
7057
7066
  /*
7058
7067
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7074,8 +7083,9 @@
7074
7083
  * API to acquire a token in exchange of 'authorization_code` acquired by the user in the first leg of the
7075
7084
  * authorization_code_grant
7076
7085
  * @param request
7086
+ * @param apiId - API identifier for telemetry tracking
7077
7087
  */
7078
- async acquireToken(request, authCodePayload) {
7088
+ async acquireToken(request, apiId, authCodePayload) {
7079
7089
  this.performanceClient?.addQueueMeasurement(PerformanceEvents.AuthClientAcquireToken, request.correlationId);
7080
7090
  if (!request.code) {
7081
7091
  throw createClientAuthError(requestCannotBeMade);
@@ -7087,7 +7097,7 @@
7087
7097
  const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin, this.performanceClient);
7088
7098
  // Validate response. This function throws a server error if an error is returned by the server.
7089
7099
  responseHandler.validateTokenResponse(response.body);
7090
- return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, authCodePayload, undefined, undefined, undefined, requestId);
7100
+ return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, apiId, authCodePayload, undefined, undefined, undefined, requestId);
7091
7101
  }
7092
7102
  /**
7093
7103
  * Used to log out the current user, and redirect the user to the postLogoutRedirectUri.
@@ -7287,7 +7297,7 @@
7287
7297
  }
7288
7298
  }
7289
7299
 
7290
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7300
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7291
7301
 
7292
7302
  /*
7293
7303
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7302,7 +7312,7 @@
7302
7312
  constructor(configuration, performanceClient) {
7303
7313
  super(configuration, performanceClient);
7304
7314
  }
7305
- async acquireToken(request) {
7315
+ async acquireToken(request, apiId) {
7306
7316
  this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireToken, request.correlationId);
7307
7317
  const reqTimestamp = nowSeconds();
7308
7318
  const response = await invokeAsync(this.executeTokenRequest.bind(this), PerformanceEvents.RefreshTokenClientExecuteTokenRequest, this.logger, this.performanceClient, request.correlationId)(request, this.authority);
@@ -7310,13 +7320,13 @@
7310
7320
  const requestId = response.headers?.[HeaderNames.X_MS_REQUEST_ID];
7311
7321
  const responseHandler = new ResponseHandler(this.config.authOptions.clientId, this.cacheManager, this.cryptoUtils, this.logger, this.config.serializableCache, this.config.persistencePlugin);
7312
7322
  responseHandler.validateTokenResponse(response.body);
7313
- return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, undefined, undefined, true, request.forceCache, requestId);
7323
+ return invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, this.logger, this.performanceClient, request.correlationId)(response.body, this.authority, reqTimestamp, request, apiId, undefined, undefined, true, request.forceCache, requestId);
7314
7324
  }
7315
7325
  /**
7316
7326
  * Gets cached refresh token and attaches to request, then calls acquireToken API
7317
7327
  * @param request
7318
7328
  */
7319
- async acquireTokenByRefreshToken(request) {
7329
+ async acquireTokenByRefreshToken(request, apiId) {
7320
7330
  // Cannot renew token if no request object is given.
7321
7331
  if (!request) {
7322
7332
  throw createClientConfigurationError(tokenRequestEmpty);
@@ -7331,7 +7341,7 @@
7331
7341
  // if the app is part of the family, retrive a Family refresh token if present and make a refreshTokenRequest
7332
7342
  if (isFOCI) {
7333
7343
  try {
7334
- return await invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, true);
7344
+ return await invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, true, apiId);
7335
7345
  }
7336
7346
  catch (e) {
7337
7347
  const noFamilyRTInCache = e instanceof InteractionRequiredAuthError &&
@@ -7342,7 +7352,7 @@
7342
7352
  e.subError === Errors.CLIENT_MISMATCH_ERROR;
7343
7353
  // if family Refresh Token (FRT) cache acquisition fails or if client_mismatch error is seen with FRT, reattempt with application Refresh Token (ART)
7344
7354
  if (noFamilyRTInCache || clientMismatchErrorWithFamilyRT) {
7345
- return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false);
7355
+ return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false, apiId);
7346
7356
  // throw in all other cases
7347
7357
  }
7348
7358
  else {
@@ -7351,26 +7361,30 @@
7351
7361
  }
7352
7362
  }
7353
7363
  // fall back to application refresh token acquisition
7354
- return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false);
7364
+ return invokeAsync(this.acquireTokenWithCachedRefreshToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, this.logger, this.performanceClient, request.correlationId)(request, false, apiId);
7355
7365
  }
7356
7366
  /**
7357
7367
  * makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached
7358
7368
  * @param request
7359
7369
  */
7360
- async acquireTokenWithCachedRefreshToken(request, foci) {
7370
+ async acquireTokenWithCachedRefreshToken(request, foci, apiId) {
7361
7371
  this.performanceClient?.addQueueMeasurement(PerformanceEvents.RefreshTokenClientAcquireTokenWithCachedRefreshToken, request.correlationId);
7362
7372
  // fetches family RT or application RT based on FOCI value
7363
7373
  const refreshToken = invoke(this.cacheManager.getRefreshToken.bind(this.cacheManager), PerformanceEvents.CacheManagerGetRefreshToken, this.logger, this.performanceClient, request.correlationId)(request.account, foci, request.correlationId, undefined, this.performanceClient);
7364
7374
  if (!refreshToken) {
7365
7375
  throw createInteractionRequiredAuthError(noTokensFound);
7366
7376
  }
7367
- if (refreshToken.expiresOn &&
7368
- isTokenExpired(refreshToken.expiresOn, request.refreshTokenExpirationOffsetSeconds ||
7369
- DEFAULT_REFRESH_TOKEN_EXPIRATION_OFFSET_SECONDS)) {
7370
- this.performanceClient?.addFields({ rtExpiresOnMs: Number(refreshToken.expiresOn) }, request.correlationId);
7371
- throw createInteractionRequiredAuthError(refreshTokenExpired);
7377
+ if (refreshToken.expiresOn) {
7378
+ const offset = request.refreshTokenExpirationOffsetSeconds ||
7379
+ DEFAULT_REFRESH_TOKEN_EXPIRATION_OFFSET_SECONDS;
7380
+ this.performanceClient?.addFields({
7381
+ cacheRtExpiresOnSeconds: Number(refreshToken.expiresOn),
7382
+ rtOffsetSeconds: offset,
7383
+ }, request.correlationId);
7384
+ if (isTokenExpired(refreshToken.expiresOn, offset)) {
7385
+ throw createInteractionRequiredAuthError(refreshTokenExpired);
7386
+ }
7372
7387
  }
7373
- // attach cached RT size to the current measurement
7374
7388
  const refreshTokenRequest = {
7375
7389
  ...request,
7376
7390
  refreshToken: refreshToken.secret,
@@ -7381,11 +7395,10 @@
7381
7395
  },
7382
7396
  };
7383
7397
  try {
7384
- return await invokeAsync(this.acquireToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(refreshTokenRequest);
7398
+ return await invokeAsync(this.acquireToken.bind(this), PerformanceEvents.RefreshTokenClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(refreshTokenRequest, apiId);
7385
7399
  }
7386
7400
  catch (e) {
7387
7401
  if (e instanceof InteractionRequiredAuthError) {
7388
- this.performanceClient?.addFields({ rtExpiresOnMs: Number(refreshToken.expiresOn) }, request.correlationId);
7389
7402
  if (e.subError === badToken) {
7390
7403
  // Remove bad refresh token from cache
7391
7404
  this.logger.verbose("acquireTokenWithRefreshToken: bad refresh token, removing from cache");
@@ -7496,7 +7509,7 @@
7496
7509
  }
7497
7510
  }
7498
7511
 
7499
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7512
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7500
7513
 
7501
7514
  /*
7502
7515
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7594,7 +7607,7 @@
7594
7607
  }
7595
7608
  }
7596
7609
 
7597
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7610
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7598
7611
 
7599
7612
  /*
7600
7613
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7609,7 +7622,7 @@
7609
7622
  },
7610
7623
  };
7611
7624
 
7612
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7625
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7613
7626
 
7614
7627
  /*
7615
7628
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7833,7 +7846,7 @@
7833
7846
  return account.loginHint || account.idTokenClaims?.login_hint || null;
7834
7847
  }
7835
7848
 
7836
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7849
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7837
7850
 
7838
7851
  /*
7839
7852
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7891,7 +7904,7 @@
7891
7904
  }
7892
7905
  }
7893
7906
 
7894
- /*! @azure/msal-common v15.13.3 2025-12-04 */
7907
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
7895
7908
 
7896
7909
  /*
7897
7910
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8154,7 +8167,7 @@
8154
8167
  }
8155
8168
  }
8156
8169
 
8157
- /*! @azure/msal-common v15.13.3 2025-12-04 */
8170
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
8158
8171
  /*
8159
8172
  * Copyright (c) Microsoft Corporation. All rights reserved.
8160
8173
  * Licensed under the MIT License.
@@ -8162,7 +8175,7 @@
8162
8175
  const missingKidError = "missing_kid_error";
8163
8176
  const missingAlgError = "missing_alg_error";
8164
8177
 
8165
- /*! @azure/msal-common v15.13.3 2025-12-04 */
8178
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
8166
8179
 
8167
8180
  /*
8168
8181
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8187,7 +8200,7 @@
8187
8200
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
8188
8201
  }
8189
8202
 
8190
- /*! @azure/msal-common v15.13.3 2025-12-04 */
8203
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
8191
8204
 
8192
8205
  /*
8193
8206
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8227,7 +8240,7 @@
8227
8240
  }
8228
8241
  }
8229
8242
 
8230
- /*! @azure/msal-common v15.13.3 2025-12-04 */
8243
+ /*! @azure/msal-common v15.14.0 2026-01-13 */
8231
8244
 
8232
8245
  /*
8233
8246
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -9315,9 +9328,9 @@
9315
9328
  };
9316
9329
  /**
9317
9330
  * API Codes for Telemetry purposes.
9318
- * Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs
9319
9331
  * 0-99 Silent Flow
9320
9332
  * 800-899 Auth Code Flow
9333
+ * 900-999 Miscellaneous
9321
9334
  */
9322
9335
  const ApiId = {
9323
9336
  acquireTokenRedirect: 861,
@@ -9329,6 +9342,30 @@
9329
9342
  acquireTokenSilent_silentFlow: 61,
9330
9343
  logout: 961,
9331
9344
  logoutPopup: 962,
9345
+ hydrateCache: 963,
9346
+ loadExternalTokens: 964,
9347
+ };
9348
+ /**
9349
+ * API Names for Telemetry purposes.
9350
+ */
9351
+ const ApiName = {
9352
+ 861: "acquireTokenRedirect",
9353
+ 862: "acquireTokenPopup",
9354
+ 863: "ssoSilent",
9355
+ 864: "acquireTokenSilent_authCode",
9356
+ 865: "handleRedirectPromise",
9357
+ 866: "acquireTokenByCode",
9358
+ 61: "acquireTokenSilent_silentFlow",
9359
+ 961: "logout",
9360
+ 962: "logoutPopup",
9361
+ 963: "hydrateCache",
9362
+ 964: "loadExternalTokens",
9363
+ };
9364
+ const apiIdToName = (id) => {
9365
+ if (typeof id === "number" && id in ApiName) {
9366
+ return ApiName[id];
9367
+ }
9368
+ return "unknown";
9332
9369
  };
9333
9370
  /*
9334
9371
  * Interaction type of the API - used for state and telemetry
@@ -10344,7 +10381,7 @@
10344
10381
 
10345
10382
  /* eslint-disable header/header */
10346
10383
  const name = "@azure/msal-browser";
10347
- const version = "4.27.0";
10384
+ const version = "4.28.0";
10348
10385
 
10349
10386
  /*
10350
10387
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -12364,17 +12401,21 @@
12364
12401
  if (!parsedAccount || !AccountEntity.isAccountEntity(parsedAccount)) {
12365
12402
  return null;
12366
12403
  }
12404
+ this.performanceClient.addFields({
12405
+ accountCachedBy: apiIdToName(parsedAccount.cachedByApiId),
12406
+ }, correlationId);
12367
12407
  return CacheManager.toObject(new AccountEntity(), parsedAccount);
12368
12408
  }
12369
12409
  /**
12370
12410
  * set account entity in the platform cache
12371
12411
  * @param account
12372
12412
  */
12373
- async setAccount(account, correlationId, kmsi) {
12413
+ async setAccount(account, correlationId, kmsi, apiId) {
12374
12414
  this.logger.trace("BrowserCacheManager.setAccount called");
12375
12415
  const key = this.generateAccountKey(AccountEntity.getAccountInfo(account));
12376
12416
  const timestamp = Date.now().toString();
12377
12417
  account.lastUpdatedAt = timestamp;
12418
+ account.cachedByApiId = apiId;
12378
12419
  await this.setUserData(key, JSON.stringify(account), correlationId, timestamp, kmsi);
12379
12420
  const wasAdded = this.addAccountKeyToMap(key, correlationId);
12380
12421
  this.performanceClient.addFields({ kmsi: kmsi }, correlationId);
@@ -13154,7 +13195,7 @@
13154
13195
  idToken: idTokenEntity,
13155
13196
  accessToken: accessTokenEntity,
13156
13197
  };
13157
- return this.saveCacheRecord(cacheRecord, result.correlationId, isKmsi(extractTokenClaims(result.idToken, base64Decode)));
13198
+ return this.saveCacheRecord(cacheRecord, result.correlationId, isKmsi(extractTokenClaims(result.idToken, base64Decode)), ApiId.hydrateCache);
13158
13199
  }
13159
13200
  /**
13160
13201
  * saves a cache record
@@ -13162,9 +13203,9 @@
13162
13203
  * @param storeInCache {?StoreInCache}
13163
13204
  * @param correlationId {?string} correlation id
13164
13205
  */
13165
- async saveCacheRecord(cacheRecord, correlationId, kmsi, storeInCache) {
13206
+ async saveCacheRecord(cacheRecord, correlationId, kmsi, apiId, storeInCache) {
13166
13207
  try {
13167
- await super.saveCacheRecord(cacheRecord, correlationId, kmsi, storeInCache);
13208
+ await super.saveCacheRecord(cacheRecord, correlationId, kmsi, apiId, storeInCache);
13168
13209
  }
13169
13210
  catch (e) {
13170
13211
  if (e instanceof CacheError &&
@@ -13923,7 +13964,7 @@
13923
13964
  * Function to handle response parameters from hash.
13924
13965
  * @param locationHash
13925
13966
  */
13926
- async handleCodeResponse(response, request) {
13967
+ async handleCodeResponse(response, request, apiId) {
13927
13968
  this.performanceClient.addQueueMeasurement(PerformanceEvents.HandleCodeResponse, request.correlationId);
13928
13969
  let authCodeResponse;
13929
13970
  try {
@@ -13939,7 +13980,7 @@
13939
13980
  throw e;
13940
13981
  }
13941
13982
  }
13942
- return invokeAsync(this.handleCodeResponseFromServer.bind(this), PerformanceEvents.HandleCodeResponseFromServer, this.logger, this.performanceClient, request.correlationId)(authCodeResponse, request);
13983
+ return invokeAsync(this.handleCodeResponseFromServer.bind(this), PerformanceEvents.HandleCodeResponseFromServer, this.logger, this.performanceClient, request.correlationId)(authCodeResponse, request, apiId);
13943
13984
  }
13944
13985
  /**
13945
13986
  * Process auth code response from AAD
@@ -13949,7 +13990,7 @@
13949
13990
  * @param networkModule
13950
13991
  * @returns
13951
13992
  */
13952
- async handleCodeResponseFromServer(authCodeResponse, request, validateNonce = true) {
13993
+ async handleCodeResponseFromServer(authCodeResponse, request, apiId, validateNonce = true) {
13953
13994
  this.performanceClient.addQueueMeasurement(PerformanceEvents.HandleCodeResponseFromServer, request.correlationId);
13954
13995
  this.logger.trace("InteractionHandler.handleCodeResponseFromServer called");
13955
13996
  // Assign code to request
@@ -13975,7 +14016,7 @@
13975
14016
  }
13976
14017
  }
13977
14018
  // Acquire token with retrieved code.
13978
- const tokenResponse = (await invokeAsync(this.authModule.acquireToken.bind(this.authModule), PerformanceEvents.AuthClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(this.authCodeRequest, authCodeResponse));
14019
+ const tokenResponse = (await invokeAsync(this.authModule.acquireToken.bind(this.authModule), PerformanceEvents.AuthClientAcquireToken, this.logger, this.performanceClient, request.correlationId)(this.authCodeRequest, apiId, authCodeResponse));
13979
14020
  return tokenResponse;
13980
14021
  }
13981
14022
  /**
@@ -14523,7 +14564,7 @@
14523
14564
  */
14524
14565
  async cacheAccount(accountEntity, correlationId, kmsi) {
14525
14566
  // Store the account info and hence `nativeAccountId` in browser cache
14526
- await this.browserStorage.setAccount(accountEntity, this.correlationId, kmsi);
14567
+ await this.browserStorage.setAccount(accountEntity, this.correlationId, kmsi, this.apiId);
14527
14568
  // Remove any existing cached tokens for this account in browser storage
14528
14569
  this.browserStorage.removeAccountContext(AccountEntity.getAccountInfo(accountEntity), correlationId);
14529
14570
  }
@@ -14552,7 +14593,7 @@
14552
14593
  idToken: cachedIdToken,
14553
14594
  accessToken: cachedAccessToken,
14554
14595
  };
14555
- return this.nativeStorageManager.saveCacheRecord(nativeCacheRecord, this.correlationId, isKmsi(idTokenClaims), request.storeInCache);
14596
+ return this.nativeStorageManager.saveCacheRecord(nativeCacheRecord, this.correlationId, isKmsi(idTokenClaims), this.apiId, request.storeInCache);
14556
14597
  }
14557
14598
  getExpiresInValue(tokenType, expiresIn) {
14558
14599
  return tokenType === AuthenticationScheme.POP
@@ -14927,7 +14968,7 @@
14927
14968
  // Create popup interaction handler.
14928
14969
  const interactionHandler = new InteractionHandler(authClient, browserStorage, authCodeRequest, logger, performanceClient);
14929
14970
  // Handle response from hash string.
14930
- const result = await invokeAsync(interactionHandler.handleCodeResponse.bind(interactionHandler), PerformanceEvents.HandleCodeResponse, logger, performanceClient, request.correlationId)(response, request);
14971
+ const result = await invokeAsync(interactionHandler.handleCodeResponse.bind(interactionHandler), PerformanceEvents.HandleCodeResponse, logger, performanceClient, request.correlationId)(response, request, apiId);
14931
14972
  return result;
14932
14973
  }
14933
14974
  /**
@@ -14974,7 +15015,7 @@
14974
15015
  cloud_instance_name: decryptedData.cloud_instance_name,
14975
15016
  msgraph_host: decryptedData.msgraph_host,
14976
15017
  };
14977
- return (await invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, logger, performanceClient, request.correlationId)(decryptedData, authority, nowSeconds(), request, additionalData, undefined, undefined, undefined, undefined));
15018
+ return (await invokeAsync(responseHandler.handleServerTokenResponse.bind(responseHandler), PerformanceEvents.HandleServerTokenResponse, logger, performanceClient, request.correlationId)(decryptedData, authority, nowSeconds(), request, apiId, additionalData, undefined, undefined, undefined, undefined));
14978
15019
  }
14979
15020
 
14980
15021
  /*
@@ -16788,7 +16829,7 @@
16788
16829
  account: silentRequest.account,
16789
16830
  });
16790
16831
  // Send request to renew token. Auth module will throw errors if token cannot be renewed.
16791
- return invokeAsync(refreshTokenClient.acquireTokenByRefreshToken.bind(refreshTokenClient), PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken, this.logger, this.performanceClient, request.correlationId)(silentRequest).catch((e) => {
16832
+ return invokeAsync(refreshTokenClient.acquireTokenByRefreshToken.bind(refreshTokenClient), PerformanceEvents.RefreshTokenClientAcquireTokenByRefreshToken, this.logger, this.performanceClient, request.correlationId)(silentRequest, ApiId.acquireTokenSilent_silentFlow).catch((e) => {
16792
16833
  e.setCorrelationId(this.correlationId);
16793
16834
  serverTelemetryManager.cacheFailedRequest(e);
16794
16835
  throw e;
@@ -16832,12 +16873,13 @@
16832
16873
  * Token cache manager
16833
16874
  */
16834
16875
  class TokenCache {
16835
- constructor(configuration, storage, logger, cryptoObj) {
16876
+ constructor(configuration, storage, logger, cryptoObj, performanceClient) {
16836
16877
  this.isBrowserEnvironment = typeof window !== "undefined";
16837
16878
  this.config = configuration;
16838
16879
  this.storage = storage;
16839
16880
  this.logger = logger;
16840
16881
  this.cryptoObj = cryptoObj;
16882
+ this.performanceClient = performanceClient;
16841
16883
  }
16842
16884
  // Move getAllAccounts here and cache utility APIs
16843
16885
  /**
@@ -16852,30 +16894,38 @@
16852
16894
  throw createBrowserAuthError(nonBrowserEnvironment);
16853
16895
  }
16854
16896
  const correlationId = request.correlationId || createNewGuid();
16855
- const idTokenClaims = response.id_token
16856
- ? extractTokenClaims(response.id_token, base64Decode)
16857
- : undefined;
16858
- const kmsi = isKmsi(idTokenClaims || {});
16859
- const authorityOptions = {
16860
- protocolMode: this.config.auth.protocolMode,
16861
- knownAuthorities: this.config.auth.knownAuthorities,
16862
- cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
16863
- authorityMetadata: this.config.auth.authorityMetadata,
16864
- skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,
16865
- };
16866
- const authority = request.authority
16867
- ? new Authority(Authority.generateAuthority(request.authority, request.azureCloudOptions), this.config.system.networkClient, this.storage, authorityOptions, this.logger, request.correlationId || createNewGuid())
16868
- : undefined;
16869
- const cacheRecordAccount = await this.loadAccount(request, options.clientInfo || response.client_info || "", correlationId, idTokenClaims, authority);
16870
- const idToken = await this.loadIdToken(response, cacheRecordAccount.homeAccountId, cacheRecordAccount.environment, cacheRecordAccount.realm, correlationId, kmsi);
16871
- const accessToken = await this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, cacheRecordAccount.environment, cacheRecordAccount.realm, options, correlationId, kmsi);
16872
- const refreshToken = await this.loadRefreshToken(response, cacheRecordAccount.homeAccountId, cacheRecordAccount.environment, correlationId, kmsi);
16873
- return this.generateAuthenticationResult(request, {
16874
- account: cacheRecordAccount,
16875
- idToken,
16876
- accessToken,
16877
- refreshToken,
16878
- }, idTokenClaims, authority);
16897
+ const rootMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.LoadExternalTokens, correlationId);
16898
+ try {
16899
+ const idTokenClaims = response.id_token
16900
+ ? extractTokenClaims(response.id_token, base64Decode)
16901
+ : undefined;
16902
+ const kmsi = isKmsi(idTokenClaims || {});
16903
+ const authorityOptions = {
16904
+ protocolMode: this.config.auth.protocolMode,
16905
+ knownAuthorities: this.config.auth.knownAuthorities,
16906
+ cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
16907
+ authorityMetadata: this.config.auth.authorityMetadata,
16908
+ skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,
16909
+ };
16910
+ const authority = request.authority
16911
+ ? new Authority(Authority.generateAuthority(request.authority, request.azureCloudOptions), this.config.system.networkClient, this.storage, authorityOptions, this.logger, request.correlationId || createNewGuid())
16912
+ : undefined;
16913
+ const cacheRecordAccount = await invokeAsync(this.loadAccount.bind(this), PerformanceEvents.LoadAccount, this.logger, this.performanceClient, correlationId)(request, options.clientInfo || response.client_info || "", correlationId, idTokenClaims, authority);
16914
+ const idToken = await invokeAsync(this.loadIdToken.bind(this), PerformanceEvents.LoadIdToken, this.logger, this.performanceClient, correlationId)(response, cacheRecordAccount.homeAccountId, cacheRecordAccount.environment, cacheRecordAccount.realm, correlationId, kmsi);
16915
+ const accessToken = await invokeAsync(this.loadAccessToken.bind(this), PerformanceEvents.LoadAccessToken, this.logger, this.performanceClient, correlationId)(request, response, cacheRecordAccount.homeAccountId, cacheRecordAccount.environment, cacheRecordAccount.realm, options, correlationId, kmsi);
16916
+ const refreshToken = await invokeAsync(this.loadRefreshToken.bind(this), PerformanceEvents.LoadRefreshToken, this.logger, this.performanceClient, correlationId)(response, cacheRecordAccount.homeAccountId, cacheRecordAccount.environment, correlationId, kmsi);
16917
+ rootMeasurement.end({ success: true }, undefined, AccountEntity.getAccountInfo(cacheRecordAccount));
16918
+ return this.generateAuthenticationResult(request, {
16919
+ account: cacheRecordAccount,
16920
+ idToken,
16921
+ accessToken,
16922
+ refreshToken,
16923
+ }, idTokenClaims, authority);
16924
+ }
16925
+ catch (error) {
16926
+ rootMeasurement.end({ success: false }, error);
16927
+ throw error;
16928
+ }
16879
16929
  }
16880
16930
  /**
16881
16931
  * Helper function to load account to msal-browser cache
@@ -16890,7 +16940,7 @@
16890
16940
  this.logger.verbose("TokenCache - loading account");
16891
16941
  if (request.account) {
16892
16942
  const accountEntity = AccountEntity.createFromAccountInfo(request.account);
16893
- await this.storage.setAccount(accountEntity, correlationId, isKmsi(idTokenClaims || {}));
16943
+ await this.storage.setAccount(accountEntity, correlationId, isKmsi(idTokenClaims || {}), ApiId.loadExternalTokens);
16894
16944
  return accountEntity;
16895
16945
  }
16896
16946
  else if (!authority || (!clientInfo && !idTokenClaims)) {
@@ -16902,7 +16952,7 @@
16902
16952
  const cachedAccount = buildAccountToCache(this.storage, authority, homeAccountId, base64Decode, correlationId, idTokenClaims, clientInfo, authority.hostnameAndPort, claimsTenantId, undefined, // authCodePayload
16903
16953
  undefined, // nativeAccountId
16904
16954
  this.logger);
16905
- await this.storage.setAccount(cachedAccount, correlationId, isKmsi(idTokenClaims || {}));
16955
+ await this.storage.setAccount(cachedAccount, correlationId, isKmsi(idTokenClaims || {}), ApiId.loadExternalTokens);
16906
16956
  return cachedAccount;
16907
16957
  }
16908
16958
  /**
@@ -17078,7 +17128,7 @@
17078
17128
  msgraph_host: request.msGraphHost,
17079
17129
  cloud_graph_host_name: request.cloudGraphHostName,
17080
17130
  cloud_instance_host_name: request.cloudInstanceHostName,
17081
- }, silentRequest, false);
17131
+ }, silentRequest, this.apiId, false);
17082
17132
  }
17083
17133
  catch (e) {
17084
17134
  if (e instanceof AuthError) {
@@ -17191,7 +17241,7 @@
17191
17241
  };
17192
17242
  this.nativeInternalStorage = new BrowserCacheManager(this.config.auth.clientId, nativeCacheOptions, this.browserCrypto, this.logger, this.performanceClient, this.eventHandler);
17193
17243
  // Initialize the token cache
17194
- this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto);
17244
+ this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto, this.performanceClient);
17195
17245
  this.activeSilentTokenRequests = new Map();
17196
17246
  // Register listener functions
17197
17247
  this.trackPageVisibility = this.trackPageVisibility.bind(this);
@@ -18021,7 +18071,7 @@
18021
18071
  this.logger.verbose("hydrateCache called");
18022
18072
  // Account gets saved to browser storage regardless of native or not
18023
18073
  const accountEntity = AccountEntity.createFromAccountInfo(result.account, result.cloudGraphHostName, result.msGraphHost);
18024
- await this.browserStorage.setAccount(accountEntity, result.correlationId, isKmsi(result.idTokenClaims));
18074
+ await this.browserStorage.setAccount(accountEntity, result.correlationId, isKmsi(result.idTokenClaims), ApiId.hydrateCache);
18025
18075
  if (result.fromNativeBroker) {
18026
18076
  this.logger.verbose("Response was from native broker, storing in-memory");
18027
18077
  // Tokens from native broker are stored in-memory
@@ -19299,7 +19349,7 @@
19299
19349
  async hydrateCache(result, request) {
19300
19350
  this.logger.verbose("hydrateCache called");
19301
19351
  const accountEntity = AccountEntity.createFromAccountInfo(result.account, result.cloudGraphHostName, result.msGraphHost);
19302
- await this.browserStorage.setAccount(accountEntity, result.correlationId, isKmsi(result.idTokenClaims));
19352
+ await this.browserStorage.setAccount(accountEntity, result.correlationId, isKmsi(result.idTokenClaims), ApiId.hydrateCache);
19303
19353
  return this.browserStorage.hydrateCache(result, request);
19304
19354
  }
19305
19355
  }