@azure/msal-browser 4.28.1 → 4.29.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 (297) 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.mjs +1 -1
  11. package/dist/cache/CacheHelpers.mjs +1 -1
  12. package/dist/cache/CacheKeys.mjs +1 -1
  13. package/dist/cache/CookieStorage.mjs +1 -1
  14. package/dist/cache/DatabaseStorage.mjs +1 -1
  15. package/dist/cache/EncryptedData.mjs +1 -1
  16. package/dist/cache/LocalStorage.mjs +1 -1
  17. package/dist/cache/MemoryStorage.mjs +1 -1
  18. package/dist/cache/SessionStorage.mjs +1 -1
  19. package/dist/cache/TokenCache.mjs +1 -1
  20. package/dist/config/Configuration.d.ts +7 -0
  21. package/dist/config/Configuration.d.ts.map +1 -1
  22. package/dist/config/Configuration.mjs +2 -1
  23. package/dist/config/Configuration.mjs.map +1 -1
  24. package/dist/controllers/ControllerFactory.mjs +1 -1
  25. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  26. package/dist/controllers/StandardController.d.ts +9 -0
  27. package/dist/controllers/StandardController.d.ts.map +1 -1
  28. package/dist/controllers/StandardController.mjs +56 -1
  29. package/dist/controllers/StandardController.mjs.map +1 -1
  30. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  31. package/dist/crypto/BrowserCrypto.mjs +1 -1
  32. package/dist/crypto/CryptoOps.mjs +1 -1
  33. package/dist/crypto/PkceGenerator.mjs +1 -1
  34. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  35. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  36. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  37. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  38. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  39. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  40. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  41. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  42. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  43. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  44. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  45. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  46. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  47. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  48. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  50. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  51. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  52. package/dist/custom-auth-path/config/Configuration.d.ts +7 -0
  53. package/dist/custom-auth-path/config/Configuration.d.ts.map +1 -1
  54. package/dist/custom-auth-path/config/Configuration.mjs +2 -1
  55. package/dist/custom-auth-path/config/Configuration.mjs.map +1 -1
  56. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  57. package/dist/custom-auth-path/controllers/StandardController.d.ts +9 -0
  58. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  59. package/dist/custom-auth-path/controllers/StandardController.mjs +56 -1
  60. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  61. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  62. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  63. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  64. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  65. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  67. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  69. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  112. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  119. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  120. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  154. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  155. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  156. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  157. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  161. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  169. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  170. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  171. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  172. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  173. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  174. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  175. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  176. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  177. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  178. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  179. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  180. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  181. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  182. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  183. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  184. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  185. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  186. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  187. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  188. package/dist/custom-auth-path/interaction_client/SilentIframeClient.d.ts +7 -0
  189. package/dist/custom-auth-path/interaction_client/SilentIframeClient.d.ts.map +1 -1
  190. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +49 -3
  191. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs.map +1 -1
  192. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  193. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  194. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  195. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  196. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  197. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  198. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  199. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  200. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  201. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  202. package/dist/custom-auth-path/protocol/Authorize.d.ts.map +1 -1
  203. package/dist/custom-auth-path/protocol/Authorize.mjs +5 -1
  204. package/dist/custom-auth-path/protocol/Authorize.mjs.map +1 -1
  205. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  206. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  207. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  208. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  209. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  210. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  211. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  212. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  213. package/dist/encode/Base64Decode.mjs +1 -1
  214. package/dist/encode/Base64Encode.mjs +1 -1
  215. package/dist/error/BrowserAuthError.mjs +1 -1
  216. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  217. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  218. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  219. package/dist/error/NativeAuthError.mjs +1 -1
  220. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  221. package/dist/error/NestedAppAuthError.mjs +1 -1
  222. package/dist/event/EventHandler.mjs +1 -1
  223. package/dist/event/EventMessage.mjs +1 -1
  224. package/dist/event/EventType.mjs +1 -1
  225. package/dist/index.mjs +1 -1
  226. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  227. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  228. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  229. package/dist/interaction_client/PopupClient.mjs +1 -1
  230. package/dist/interaction_client/RedirectClient.mjs +1 -1
  231. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  232. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  233. package/dist/interaction_client/SilentIframeClient.d.ts +7 -0
  234. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  235. package/dist/interaction_client/SilentIframeClient.mjs +49 -3
  236. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  237. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  238. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  239. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  240. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  241. package/dist/naa/BridgeError.mjs +1 -1
  242. package/dist/naa/BridgeProxy.mjs +1 -1
  243. package/dist/naa/BridgeStatusCode.mjs +1 -1
  244. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  245. package/dist/navigation/NavigationClient.mjs +1 -1
  246. package/dist/network/FetchClient.mjs +1 -1
  247. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  248. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  249. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  250. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  251. package/dist/packageMetadata.d.ts +1 -1
  252. package/dist/packageMetadata.mjs +2 -2
  253. package/dist/protocol/Authorize.d.ts.map +1 -1
  254. package/dist/protocol/Authorize.mjs +5 -1
  255. package/dist/protocol/Authorize.mjs.map +1 -1
  256. package/dist/request/RequestHelpers.mjs +1 -1
  257. package/dist/response/ResponseHandler.mjs +1 -1
  258. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  259. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  260. package/dist/utils/BrowserConstants.mjs +1 -1
  261. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  262. package/dist/utils/BrowserUtils.mjs +1 -1
  263. package/dist/utils/Helpers.mjs +1 -1
  264. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  265. package/lib/custom-auth-path/msal-custom-auth.cjs +253 -68
  266. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  267. package/lib/custom-auth-path/msal-custom-auth.js +253 -68
  268. package/lib/custom-auth-path/msal-custom-auth.js.map +1 -1
  269. package/lib/custom-auth-path/types/config/Configuration.d.ts +7 -0
  270. package/lib/custom-auth-path/types/config/Configuration.d.ts.map +1 -1
  271. package/lib/custom-auth-path/types/controllers/StandardController.d.ts +9 -0
  272. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  273. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  274. package/lib/custom-auth-path/types/interaction_client/SilentIframeClient.d.ts +7 -0
  275. package/lib/custom-auth-path/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
  276. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  277. package/lib/custom-auth-path/types/protocol/Authorize.d.ts.map +1 -1
  278. package/lib/msal-browser.cjs +261 -70
  279. package/lib/msal-browser.cjs.map +1 -1
  280. package/lib/msal-browser.js +261 -70
  281. package/lib/msal-browser.js.map +1 -1
  282. package/lib/msal-browser.min.js +64 -64
  283. package/lib/types/config/Configuration.d.ts +7 -0
  284. package/lib/types/config/Configuration.d.ts.map +1 -1
  285. package/lib/types/controllers/StandardController.d.ts +9 -0
  286. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  287. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  288. package/lib/types/interaction_client/SilentIframeClient.d.ts +7 -0
  289. package/lib/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
  290. package/lib/types/packageMetadata.d.ts +1 -1
  291. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  292. package/package.json +2 -2
  293. package/src/config/Configuration.ts +8 -0
  294. package/src/controllers/StandardController.ts +92 -0
  295. package/src/interaction_client/SilentIframeClient.ts +136 -0
  296. package/src/packageMetadata.ts +1 -1
  297. package/src/protocol/Authorize.ts +14 -0
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v4.28.1 2026-01-17 */
1
+ /*! @azure/msal-browser v4.29.0 2026-02-23 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
5
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6
6
  /*
7
7
  * Copyright (c) Microsoft Corporation. All rights reserved.
8
8
  * Licensed under the MIT License.
@@ -276,7 +276,7 @@ const JsonWebTokenTypes = {
276
276
  // Token renewal offset default in seconds
277
277
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
278
278
 
279
- /*! @azure/msal-common v15.14.1 2026-01-17 */
279
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
280
280
  /*
281
281
  * Copyright (c) Microsoft Corporation. All rights reserved.
282
282
  * Licensed under the MIT License.
@@ -287,7 +287,7 @@ const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
287
287
  const unexpectedError = "unexpected_error";
288
288
  const postRequestFailed$1 = "post_request_failed";
289
289
 
290
- /*! @azure/msal-common v15.14.1 2026-01-17 */
290
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
291
291
 
292
292
  /*
293
293
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -322,7 +322,7 @@ function createAuthError(code, additionalMessage) {
322
322
  : AuthErrorMessages[code]);
323
323
  }
324
324
 
325
- /*! @azure/msal-common v15.14.1 2026-01-17 */
325
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
326
326
  /*
327
327
  * Copyright (c) Microsoft Corporation. All rights reserved.
328
328
  * Licensed under the MIT License.
@@ -373,7 +373,7 @@ const methodNotImplemented = "method_not_implemented";
373
373
  const nestedAppAuthBridgeDisabled = "nested_app_auth_bridge_disabled";
374
374
  const platformBrokerError = "platform_broker_error";
375
375
 
376
- /*! @azure/msal-common v15.14.1 2026-01-17 */
376
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
377
377
 
378
378
  /*
379
379
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -448,7 +448,7 @@ function createClientAuthError(errorCode, additionalMessage) {
448
448
  return new ClientAuthError(errorCode, additionalMessage);
449
449
  }
450
450
 
451
- /*! @azure/msal-common v15.14.1 2026-01-17 */
451
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
452
452
 
453
453
  /*
454
454
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -487,7 +487,7 @@ const DEFAULT_CRYPTO_IMPLEMENTATION = {
487
487
  },
488
488
  };
489
489
 
490
- /*! @azure/msal-common v15.14.1 2026-01-17 */
490
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
491
491
 
492
492
  /*
493
493
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -678,12 +678,12 @@ class Logger {
678
678
  }
679
679
  }
680
680
 
681
- /*! @azure/msal-common v15.14.1 2026-01-17 */
681
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
682
682
  /* eslint-disable header/header */
683
683
  const name$1 = "@azure/msal-common";
684
- const version$1 = "15.14.1";
684
+ const version$1 = "15.15.0";
685
685
 
686
- /*! @azure/msal-common v15.14.1 2026-01-17 */
686
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
687
687
  /*
688
688
  * Copyright (c) Microsoft Corporation. All rights reserved.
689
689
  * Licensed under the MIT License.
@@ -692,7 +692,7 @@ const AzureCloudInstance = {
692
692
  // AzureCloudInstance is not specified.
693
693
  None: "none"};
694
694
 
695
- /*! @azure/msal-common v15.14.1 2026-01-17 */
695
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
696
696
  /*
697
697
  * Copyright (c) Microsoft Corporation. All rights reserved.
698
698
  * Licensed under the MIT License.
@@ -722,7 +722,7 @@ const invalidRequestMethodForEAR = "invalid_request_method_for_EAR";
722
722
  const invalidAuthorizePostBodyParameters = "invalid_authorize_post_body_parameters";
723
723
  const invalidPlatformBrokerConfiguration = "invalid_platform_broker_configuration";
724
724
 
725
- /*! @azure/msal-common v15.14.1 2026-01-17 */
725
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
726
726
 
727
727
  /*
728
728
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -768,7 +768,7 @@ function createClientConfigurationError(errorCode) {
768
768
  return new ClientConfigurationError(errorCode);
769
769
  }
770
770
 
771
- /*! @azure/msal-common v15.14.1 2026-01-17 */
771
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
772
772
  /*
773
773
  * Copyright (c) Microsoft Corporation. All rights reserved.
774
774
  * Licensed under the MIT License.
@@ -865,7 +865,7 @@ class StringUtils {
865
865
  }
866
866
  }
867
867
 
868
- /*! @azure/msal-common v15.14.1 2026-01-17 */
868
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
869
869
 
870
870
  /*
871
871
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1060,7 +1060,7 @@ class ScopeSet {
1060
1060
  }
1061
1061
  }
1062
1062
 
1063
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1063
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1064
1064
 
1065
1065
  /*
1066
1066
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1100,7 +1100,7 @@ function buildClientInfoFromHomeAccountId(homeAccountId) {
1100
1100
  };
1101
1101
  }
1102
1102
 
1103
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1103
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1104
1104
  /*
1105
1105
  * Copyright (c) Microsoft Corporation. All rights reserved.
1106
1106
  * Licensed under the MIT License.
@@ -1182,7 +1182,7 @@ function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenC
1182
1182
  return updatedAccountInfo;
1183
1183
  }
1184
1184
 
1185
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1185
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1186
1186
  /*
1187
1187
  * Copyright (c) Microsoft Corporation. All rights reserved.
1188
1188
  * Licensed under the MIT License.
@@ -1197,7 +1197,7 @@ const AuthorityType = {
1197
1197
  Ciam: 3,
1198
1198
  };
1199
1199
 
1200
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1200
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1201
1201
  /*
1202
1202
  * Copyright (c) Microsoft Corporation. All rights reserved.
1203
1203
  * Licensed under the MIT License.
@@ -1219,7 +1219,7 @@ function getTenantIdFromIdTokenClaims(idTokenClaims) {
1219
1219
  return null;
1220
1220
  }
1221
1221
 
1222
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1222
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1223
1223
  /*
1224
1224
  * Copyright (c) Microsoft Corporation. All rights reserved.
1225
1225
  * Licensed under the MIT License.
@@ -1243,7 +1243,7 @@ const ProtocolMode = {
1243
1243
  EAR: "EAR",
1244
1244
  };
1245
1245
 
1246
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1246
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1247
1247
 
1248
1248
  /*
1249
1249
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1478,7 +1478,7 @@ class AccountEntity {
1478
1478
  }
1479
1479
  }
1480
1480
 
1481
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1481
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1482
1482
 
1483
1483
  /*
1484
1484
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1559,7 +1559,7 @@ function checkMaxAge(authTime, maxAge) {
1559
1559
  }
1560
1560
  }
1561
1561
 
1562
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1562
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1563
1563
 
1564
1564
  /*
1565
1565
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1675,7 +1675,7 @@ function normalizeUrlForComparison(url) {
1675
1675
  }
1676
1676
  }
1677
1677
 
1678
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1678
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1679
1679
 
1680
1680
  /*
1681
1681
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1839,7 +1839,7 @@ class UrlString {
1839
1839
  }
1840
1840
  }
1841
1841
 
1842
- /*! @azure/msal-common v15.14.1 2026-01-17 */
1842
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1843
1843
 
1844
1844
  /*
1845
1845
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1868,6 +1868,27 @@ const rawMetdataJSON = {
1868
1868
  authorization_endpoint: "https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/authorize",
1869
1869
  end_session_endpoint: "https://login.microsoftonline.us/{tenantid}/oauth2/v2.0/logout",
1870
1870
  },
1871
+ "login.sovcloud-identity.fr": {
1872
+ token_endpoint: "https://login.sovcloud-identity.fr/{tenantid}/oauth2/v2.0/token",
1873
+ jwks_uri: "https://login.sovcloud-identity.fr/{tenantid}/discovery/v2.0/keys",
1874
+ issuer: "https://login.sovcloud-identity.fr/{tenantid}/v2.0",
1875
+ authorization_endpoint: "https://login.sovcloud-identity.fr/{tenantid}/oauth2/v2.0/authorize",
1876
+ end_session_endpoint: "https://login.sovcloud-identity.fr/{tenantid}/oauth2/v2.0/logout",
1877
+ },
1878
+ "login.sovcloud-identity.de": {
1879
+ token_endpoint: "https://login.sovcloud-identity.de/{tenantid}/oauth2/v2.0/token",
1880
+ jwks_uri: "https://login.sovcloud-identity.de/{tenantid}/discovery/v2.0/keys",
1881
+ issuer: "https://login.sovcloud-identity.de/{tenantid}/v2.0",
1882
+ authorization_endpoint: "https://login.sovcloud-identity.de/{tenantid}/oauth2/v2.0/authorize",
1883
+ end_session_endpoint: "https://login.sovcloud-identity.de/{tenantid}/oauth2/v2.0/logout",
1884
+ },
1885
+ "login.sovcloud-identity.sg": {
1886
+ token_endpoint: "https://login.sovcloud-identity.sg/common/oauth2/v2.0/token",
1887
+ jwks_uri: "https://login.sovcloud-identity.sg/common/discovery/v2.0/keys",
1888
+ issuer: "https://login.sovcloud-identity.sg/{tenantid}/v2.0",
1889
+ authorization_endpoint: "https://login.sovcloud-identity.sg/common/oauth2/v2.0/authorize",
1890
+ end_session_endpoint: "https://login.sovcloud-identity.sg/common/oauth2/v2.0/logout",
1891
+ },
1871
1892
  },
1872
1893
  instanceDiscoveryMetadata: {
1873
1894
  metadata: [
@@ -1907,6 +1928,21 @@ const rawMetdataJSON = {
1907
1928
  preferred_cache: "login-us.microsoftonline.com",
1908
1929
  aliases: ["login-us.microsoftonline.com"],
1909
1930
  },
1931
+ {
1932
+ preferred_network: "login.sovcloud-identity.fr",
1933
+ preferred_cache: "login.sovcloud-identity.fr",
1934
+ aliases: ["login.sovcloud-identity.fr"],
1935
+ },
1936
+ {
1937
+ preferred_network: "login.sovcloud-identity.de",
1938
+ preferred_cache: "login.sovcloud-identity.de",
1939
+ aliases: ["login.sovcloud-identity.de"],
1940
+ },
1941
+ {
1942
+ preferred_network: "login.sovcloud-identity.sg",
1943
+ preferred_cache: "login.sovcloud-identity.sg",
1944
+ aliases: ["login.sovcloud-identity.sg"],
1945
+ },
1910
1946
  ],
1911
1947
  },
1912
1948
  };
@@ -1978,7 +2014,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
1978
2014
  return null;
1979
2015
  }
1980
2016
 
1981
- /*! @azure/msal-common v15.14.1 2026-01-17 */
2017
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1982
2018
  /*
1983
2019
  * Copyright (c) Microsoft Corporation. All rights reserved.
1984
2020
  * Licensed under the MIT License.
@@ -1986,7 +2022,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
1986
2022
  const cacheQuotaExceeded = "cache_quota_exceeded";
1987
2023
  const cacheErrorUnknown = "cache_error_unknown";
1988
2024
 
1989
- /*! @azure/msal-common v15.14.1 2026-01-17 */
2025
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
1990
2026
 
1991
2027
  /*
1992
2028
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2031,7 +2067,7 @@ function createCacheError(e) {
2031
2067
  }
2032
2068
  }
2033
2069
 
2034
- /*! @azure/msal-common v15.14.1 2026-01-17 */
2070
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
2035
2071
 
2036
2072
  /*
2037
2073
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3141,7 +3177,7 @@ class DefaultStorageClass extends CacheManager {
3141
3177
  }
3142
3178
  }
3143
3179
 
3144
- /*! @azure/msal-common v15.14.1 2026-01-17 */
3180
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
3145
3181
  /*
3146
3182
  * Copyright (c) Microsoft Corporation. All rights reserved.
3147
3183
  * Licensed under the MIT License.
@@ -3403,6 +3439,11 @@ const PerformanceEvents = {
3403
3439
  LoadIdToken: "loadIdToken",
3404
3440
  LoadAccessToken: "loadAccessToken",
3405
3441
  LoadRefreshToken: "loadRefreshToken",
3442
+ /**
3443
+ * SSO capability verification call (msal-browser).
3444
+ * Fire-and-forget SSO verification call made after interactive authentication completes.
3445
+ */
3446
+ SsoCapable: "ssoCapable",
3406
3447
  };
3407
3448
  /**
3408
3449
  * State of the performance event.
@@ -3413,7 +3454,7 @@ const PerformanceEvents = {
3413
3454
  const PerformanceEventStatus = {
3414
3455
  InProgress: 1};
3415
3456
 
3416
- /*! @azure/msal-common v15.14.1 2026-01-17 */
3457
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
3417
3458
 
3418
3459
  /*
3419
3460
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3492,7 +3533,7 @@ class StubPerformanceClient {
3492
3533
  }
3493
3534
  }
3494
3535
 
3495
- /*! @azure/msal-common v15.14.1 2026-01-17 */
3536
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
3496
3537
 
3497
3538
  /*
3498
3539
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3592,7 +3633,7 @@ function isOidcProtocolMode(config) {
3592
3633
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
3593
3634
  }
3594
3635
 
3595
- /*! @azure/msal-common v15.14.1 2026-01-17 */
3636
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
3596
3637
  /*
3597
3638
  * Copyright (c) Microsoft Corporation. All rights reserved.
3598
3639
  * Licensed under the MIT License.
@@ -3602,7 +3643,7 @@ const CcsCredentialType = {
3602
3643
  UPN: "UPN",
3603
3644
  };
3604
3645
 
3605
- /*! @azure/msal-common v15.14.1 2026-01-17 */
3646
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
3606
3647
  /*
3607
3648
  * Copyright (c) Microsoft Corporation. All rights reserved.
3608
3649
  * Licensed under the MIT License.
@@ -3652,7 +3693,7 @@ const INSTANCE_AWARE = "instance_aware";
3652
3693
  const EAR_JWK = "ear_jwk";
3653
3694
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
3654
3695
 
3655
- /*! @azure/msal-common v15.14.1 2026-01-17 */
3696
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
3656
3697
 
3657
3698
  /*
3658
3699
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4032,7 +4073,7 @@ function addPostBodyParameters(parameters, bodyParameters) {
4032
4073
  });
4033
4074
  }
4034
4075
 
4035
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4076
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4036
4077
  /*
4037
4078
  * Copyright (c) Microsoft Corporation. All rights reserved.
4038
4079
  * Licensed under the MIT License.
@@ -4044,7 +4085,7 @@ function isOpenIdConfigResponse(response) {
4044
4085
  response.hasOwnProperty("jwks_uri"));
4045
4086
  }
4046
4087
 
4047
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4088
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4048
4089
  /*
4049
4090
  * Copyright (c) Microsoft Corporation. All rights reserved.
4050
4091
  * Licensed under the MIT License.
@@ -4054,7 +4095,7 @@ function isCloudInstanceDiscoveryResponse(response) {
4054
4095
  response.hasOwnProperty("metadata"));
4055
4096
  }
4056
4097
 
4057
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4098
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4058
4099
  /*
4059
4100
  * Copyright (c) Microsoft Corporation. All rights reserved.
4060
4101
  * Licensed under the MIT License.
@@ -4064,7 +4105,7 @@ function isCloudInstanceDiscoveryErrorResponse(response) {
4064
4105
  response.hasOwnProperty("error_description"));
4065
4106
  }
4066
4107
 
4067
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4108
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4068
4109
  /*
4069
4110
  * Copyright (c) Microsoft Corporation. All rights reserved.
4070
4111
  * Licensed under the MIT License.
@@ -4160,7 +4201,7 @@ const invokeAsync = (callback, eventName, logger, telemetryClient, correlationId
4160
4201
  };
4161
4202
  };
4162
4203
 
4163
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4204
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4164
4205
 
4165
4206
  /*
4166
4207
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4266,7 +4307,7 @@ RegionDiscovery.IMDS_OPTIONS = {
4266
4307
  },
4267
4308
  };
4268
4309
 
4269
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4310
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4270
4311
  /*
4271
4312
  * Copyright (c) Microsoft Corporation. All rights reserved.
4272
4313
  * Licensed under the MIT License.
@@ -4331,7 +4372,7 @@ function wasClockTurnedBack(cachedAt) {
4331
4372
  return cachedAtSec > nowSeconds();
4332
4373
  }
4333
4374
 
4334
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4375
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4335
4376
 
4336
4377
  /*
4337
4378
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4593,7 +4634,7 @@ function isAuthorityMetadataExpired(metadata) {
4593
4634
  return metadata.expiresAt <= nowSeconds();
4594
4635
  }
4595
4636
 
4596
- /*! @azure/msal-common v15.14.1 2026-01-17 */
4637
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
4597
4638
 
4598
4639
  /*
4599
4640
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5432,7 +5473,7 @@ function buildStaticAuthorityOptions(authOptions) {
5432
5473
  };
5433
5474
  }
5434
5475
 
5435
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5476
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5436
5477
 
5437
5478
  /*
5438
5479
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5463,7 +5504,7 @@ async function createDiscoveredInstance(authorityUri, networkClient, cacheManage
5463
5504
  }
5464
5505
  }
5465
5506
 
5466
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5507
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5467
5508
 
5468
5509
  /*
5469
5510
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5482,7 +5523,7 @@ class ServerError extends AuthError {
5482
5523
  }
5483
5524
  }
5484
5525
 
5485
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5526
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5486
5527
  /*
5487
5528
  * Copyright (c) Microsoft Corporation. All rights reserved.
5488
5529
  * Licensed under the MIT License.
@@ -5503,7 +5544,7 @@ function getRequestThumbprint(clientId, request, homeAccountId) {
5503
5544
  };
5504
5545
  }
5505
5546
 
5506
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5547
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5507
5548
 
5508
5549
  /*
5509
5550
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5590,7 +5631,7 @@ class ThrottlingUtils {
5590
5631
  }
5591
5632
  }
5592
5633
 
5593
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5634
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5594
5635
 
5595
5636
  /*
5596
5637
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5621,7 +5662,7 @@ function createNetworkError(error, httpStatus, responseHeaders, additionalError)
5621
5662
  return new NetworkError(error, httpStatus, responseHeaders);
5622
5663
  }
5623
5664
 
5624
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5665
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5625
5666
 
5626
5667
  /*
5627
5668
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5769,23 +5810,58 @@ class BaseClient {
5769
5810
  }
5770
5811
  }
5771
5812
 
5772
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5813
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5773
5814
  /*
5774
5815
  * Copyright (c) Microsoft Corporation. All rights reserved.
5775
5816
  * Licensed under the MIT License.
5776
5817
  */
5777
- // Codes defined by MSAL
5818
+ /**
5819
+ * MSAL-defined interaction required error code indicating no tokens are found in cache.
5820
+ * @public
5821
+ */
5778
5822
  const noTokensFound = "no_tokens_found";
5823
+ /**
5824
+ * MSAL-defined error code indicating a native account is unavailable on the platform.
5825
+ * @public
5826
+ */
5779
5827
  const nativeAccountUnavailable = "native_account_unavailable";
5828
+ /**
5829
+ * MSAL-defined error code indicating the refresh token has expired and user interaction is needed.
5830
+ * @public
5831
+ */
5780
5832
  const refreshTokenExpired = "refresh_token_expired";
5833
+ /**
5834
+ * MSAL-defined error code indicating UI/UX is not allowed (e.g., blocked by policy), requiring alternate interaction.
5835
+ * @public
5836
+ */
5781
5837
  const uxNotAllowed = "ux_not_allowed";
5782
- // Codes potentially returned by server
5838
+ /**
5839
+ * Server-originated error code indicating interaction is required to complete the request.
5840
+ * @public
5841
+ */
5783
5842
  const interactionRequired = "interaction_required";
5843
+ /**
5844
+ * Server-originated error code indicating user consent is required.
5845
+ * @public
5846
+ */
5784
5847
  const consentRequired = "consent_required";
5848
+ /**
5849
+ * Server-originated error code indicating user login is required.
5850
+ * @public
5851
+ */
5785
5852
  const loginRequired = "login_required";
5786
- const badToken = "bad_token";
5853
+ /**
5854
+ * Server-originated error code indicating the token is invalid or corrupted.
5855
+ * @public
5856
+ */
5857
+ const badToken = "bad_token";
5858
+ /**
5859
+ * Server-originated error code indicating the user was interrupted and must reattempt the flow.
5860
+ * @public
5861
+ */
5862
+ const interruptedUser = "interrupted_user";
5787
5863
 
5788
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5864
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5789
5865
 
5790
5866
  /*
5791
5867
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5800,6 +5876,7 @@ const InteractionRequiredServerErrorMessage = [
5800
5876
  loginRequired,
5801
5877
  badToken,
5802
5878
  uxNotAllowed,
5879
+ interruptedUser,
5803
5880
  ];
5804
5881
  const InteractionRequiredAuthSubErrorMessage = [
5805
5882
  "message_only",
@@ -5808,6 +5885,7 @@ const InteractionRequiredAuthSubErrorMessage = [
5808
5885
  "user_password_expired",
5809
5886
  "consent_required",
5810
5887
  "bad_token",
5888
+ "interrupted_user",
5811
5889
  ];
5812
5890
  const InteractionRequiredAuthErrorMessages = {
5813
5891
  [noTokensFound]: "No refresh token found in the cache. Please sign-in.",
@@ -5815,6 +5893,7 @@ const InteractionRequiredAuthErrorMessages = {
5815
5893
  [refreshTokenExpired]: "Refresh token has expired.",
5816
5894
  [badToken]: "Identity provider returned bad_token due to an expired or invalid refresh token. Please invoke an interactive API to resolve.",
5817
5895
  [uxNotAllowed]: "`canShowUI` flag in Edge was set to false. User interaction required on web page. Please invoke an interactive API to resolve.",
5896
+ [interruptedUser]: "The user could not be authenticated due to an interrupted state. Please invoke an interactive API to resolve.",
5818
5897
  };
5819
5898
  /**
5820
5899
  * Error thrown when user interaction is required.
@@ -5857,7 +5936,7 @@ function createInteractionRequiredAuthError(errorCode) {
5857
5936
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
5858
5937
  }
5859
5938
 
5860
- /*! @azure/msal-common v15.14.1 2026-01-17 */
5939
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5861
5940
 
5862
5941
  /*
5863
5942
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5929,7 +6008,7 @@ class ProtocolUtils {
5929
6008
  }
5930
6009
  }
5931
6010
 
5932
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6011
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
5933
6012
 
5934
6013
  /*
5935
6014
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6011,7 +6090,7 @@ class PopTokenGenerator {
6011
6090
  }
6012
6091
  }
6013
6092
 
6014
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6093
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6015
6094
  /*
6016
6095
  * Copyright (c) Microsoft Corporation. All rights reserved.
6017
6096
  * Licensed under the MIT License.
@@ -6038,7 +6117,7 @@ class PopTokenGenerator {
6038
6117
  }
6039
6118
  }
6040
6119
 
6041
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6120
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6042
6121
 
6043
6122
  /*
6044
6123
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6377,7 +6456,7 @@ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decod
6377
6456
  return baseAccount;
6378
6457
  }
6379
6458
 
6380
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6459
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6381
6460
  /*
6382
6461
  * Copyright (c) Microsoft Corporation. All rights reserved.
6383
6462
  * Licensed under the MIT License.
@@ -6395,7 +6474,7 @@ async function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {
6395
6474
  }
6396
6475
  }
6397
6476
 
6398
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6477
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6399
6478
 
6400
6479
  /*
6401
6480
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6631,7 +6710,7 @@ class AuthorizationCodeClient extends BaseClient {
6631
6710
  }
6632
6711
  }
6633
6712
 
6634
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6713
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6635
6714
 
6636
6715
  /*
6637
6716
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6843,7 +6922,7 @@ class RefreshTokenClient extends BaseClient {
6843
6922
  }
6844
6923
  }
6845
6924
 
6846
- /*! @azure/msal-common v15.14.1 2026-01-17 */
6925
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6847
6926
 
6848
6927
  /*
6849
6928
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6941,7 +7020,7 @@ class SilentFlowClient extends BaseClient {
6941
7020
  }
6942
7021
  }
6943
7022
 
6944
- /*! @azure/msal-common v15.14.1 2026-01-17 */
7023
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6945
7024
 
6946
7025
  /*
6947
7026
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6956,7 +7035,7 @@ const StubbedNetworkModule = {
6956
7035
  },
6957
7036
  };
6958
7037
 
6959
- /*! @azure/msal-common v15.14.1 2026-01-17 */
7038
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
6960
7039
 
6961
7040
  /*
6962
7041
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7180,7 +7259,7 @@ function extractLoginHint(account) {
7180
7259
  return account.loginHint || account.idTokenClaims?.login_hint || null;
7181
7260
  }
7182
7261
 
7183
- /*! @azure/msal-common v15.14.1 2026-01-17 */
7262
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
7184
7263
 
7185
7264
  /*
7186
7265
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7443,7 +7522,7 @@ class ServerTelemetryManager {
7443
7522
  }
7444
7523
  }
7445
7524
 
7446
- /*! @azure/msal-common v15.14.1 2026-01-17 */
7525
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
7447
7526
  /*
7448
7527
  * Copyright (c) Microsoft Corporation. All rights reserved.
7449
7528
  * Licensed under the MIT License.
@@ -7451,7 +7530,7 @@ class ServerTelemetryManager {
7451
7530
  const missingKidError = "missing_kid_error";
7452
7531
  const missingAlgError = "missing_alg_error";
7453
7532
 
7454
- /*! @azure/msal-common v15.14.1 2026-01-17 */
7533
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
7455
7534
 
7456
7535
  /*
7457
7536
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7476,7 +7555,7 @@ function createJoseHeaderError(code) {
7476
7555
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
7477
7556
  }
7478
7557
 
7479
- /*! @azure/msal-common v15.14.1 2026-01-17 */
7558
+ /*! @azure/msal-common v15.15.0 2026-02-23 */
7480
7559
 
7481
7560
  /*
7482
7561
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7911,7 +7990,7 @@ function ensureArgumentIsJSONString(argName, argValue, correlationId) {
7911
7990
 
7912
7991
  /* eslint-disable header/header */
7913
7992
  const name = "@azure/msal-browser";
7914
- const version = "4.28.1";
7993
+ const version = "4.29.0";
7915
7994
 
7916
7995
  /*
7917
7996
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -17360,6 +17439,8 @@ async function getEARForm(frame, config, authority, request, logger, performance
17360
17439
  addCodeChallengeParams(parameters, request.codeChallenge, Constants.S256_CODE_CHALLENGE_METHOD);
17361
17440
  const queryParams = new Map();
17362
17441
  addExtraQueryParameters(queryParams, request.extraQueryParameters || {});
17442
+ // Add correlationId to query params so gateway can propagate it to IDPs
17443
+ addCorrelationId(queryParams, request.correlationId);
17363
17444
  const url = getAuthorizeUrl(authority, queryParams, config.auth.encodeExtraQueryParams, request.extraQueryParameters);
17364
17445
  return createForm(frame, url, parameters);
17365
17446
  }
@@ -17373,6 +17454,8 @@ async function getCodeForm(frame, config, authority, request, logger, performanc
17373
17454
  addPostBodyParameters(parameters, request.authorizePostBodyParameters || {});
17374
17455
  const queryParams = new Map();
17375
17456
  addExtraQueryParameters(queryParams, request.extraQueryParameters || {});
17457
+ // Add correlationId to query params so gateway can propagate it to IDPs
17458
+ addCorrelationId(queryParams, request.correlationId);
17376
17459
  const url = getAuthorizeUrl(authority, queryParams, config.auth.encodeExtraQueryParams, request.extraQueryParameters);
17377
17460
  return createForm(frame, url, parameters);
17378
17461
  }
@@ -17762,6 +17845,7 @@ function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system
17762
17845
  supportsNestedAppAuth: false,
17763
17846
  instanceAware: false,
17764
17847
  encodeExtraQueryParams: false,
17848
+ verifySSO: false,
17765
17849
  };
17766
17850
  // Default cache options for browser
17767
17851
  const DEFAULT_CACHE_OPTIONS = {
@@ -19521,6 +19605,52 @@ class SilentIframeClient extends StandardInteractionClient {
19521
19605
  return invokeAsync(handleResponseEAR, PerformanceEvents.HandleResponseEar, this.logger, this.performanceClient, correlationId)(silentRequest, serverParams, this.apiId, this.config, discoveredAuthority, this.browserStorage, this.nativeStorage, this.eventHandler, this.logger, this.performanceClient, this.platformAuthProvider);
19522
19606
  }
19523
19607
  }
19608
+ /**
19609
+ * Verifies SSO capability by making an iframe request to /authorize without exchanging the code for tokens.
19610
+ * This is useful for verifying SSO capability in the background without the overhead of a full token exchange.
19611
+ * @param request - The SSO silent request
19612
+ * @returns true if SSO verification was successful with a valid authorization code, false otherwise
19613
+ */
19614
+ async verifySso(request) {
19615
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.SilentIframeClientAcquireToken, request.correlationId);
19616
+ const inputRequest = { ...request };
19617
+ if (!inputRequest.prompt) {
19618
+ inputRequest.prompt = PromptValue.NONE;
19619
+ }
19620
+ // Create silent request
19621
+ const silentRequest = await invokeAsync(this.initializeAuthorizationRequest.bind(this), PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.logger, this.performanceClient, request.correlationId)(inputRequest, InteractionType.Silent);
19622
+ const authClient = await invokeAsync(this.createAuthCodeClient.bind(this), PerformanceEvents.StandardInteractionClientCreateAuthCodeClient, this.logger, this.performanceClient, request.correlationId)({
19623
+ serverTelemetryManager: this.initializeServerTelemetryManager(this.apiId),
19624
+ requestAuthority: silentRequest.authority,
19625
+ requestAzureCloudOptions: silentRequest.azureCloudOptions,
19626
+ requestExtraQueryParameters: silentRequest.extraQueryParameters,
19627
+ account: silentRequest.account,
19628
+ });
19629
+ const correlationId = silentRequest.correlationId;
19630
+ const pkceCodes = await invokeAsync(generatePkceCodes, PerformanceEvents.GeneratePkceCodes, this.logger, this.performanceClient, correlationId)(this.performanceClient, this.logger, correlationId);
19631
+ const requestWithPkce = {
19632
+ ...silentRequest,
19633
+ codeChallenge: pkceCodes.challenge,
19634
+ };
19635
+ // Create authorize request url
19636
+ const navigateUrl = await invokeAsync(getAuthCodeRequestUrl, PerformanceEvents.GetAuthCodeUrl, this.logger, this.performanceClient, correlationId)(this.config, authClient.authority, requestWithPkce, this.logger, this.performanceClient);
19637
+ // Get the frame handle for the silent request - this triggers the SSO verification
19638
+ const msalFrame = await invokeAsync(initiateCodeRequest, PerformanceEvents.SilentHandlerInitiateAuthRequest, this.logger, this.performanceClient, correlationId)(navigateUrl, this.performanceClient, this.logger, correlationId, this.config.system.navigateFrameWait);
19639
+ const responseType = this.config.auth.OIDCOptions.serverResponseType;
19640
+ // Monitor the iframe for the response
19641
+ const responseString = await invokeAsync(monitorIframeForHash, PerformanceEvents.SilentHandlerMonitorIframeForHash, this.logger, this.performanceClient, correlationId)(msalFrame, this.config.system.iframeHashTimeout, this.config.system.pollIntervalMilliseconds, this.performanceClient, this.logger, correlationId, responseType);
19642
+ // Deserialize the response
19643
+ const serverParams = invoke(deserializeResponse, PerformanceEvents.DeserializeResponse, this.logger, this.performanceClient, correlationId)(responseString, responseType, this.logger);
19644
+ // Validate the response - this checks for errors and validates state
19645
+ validateAuthorizationResponse(serverParams, silentRequest.state);
19646
+ // Verify a valid authorization code is present
19647
+ if (!serverParams.code) {
19648
+ this.logger.warning("SSO verification response did not contain an authorization code", correlationId);
19649
+ return false;
19650
+ }
19651
+ this.logger.verbose("SSO verification completed successfully with valid authorization code - skipped token exchange", correlationId);
19652
+ return true;
19653
+ }
19524
19654
  /**
19525
19655
  * Currently Unsupported
19526
19656
  */
@@ -20171,6 +20301,8 @@ class StandardController {
20171
20301
  rootMeasurement.end({
20172
20302
  success: true,
20173
20303
  }, undefined, result.account);
20304
+ // Fire-and-forget SSO capability verification in background
20305
+ this.verifySsoCapability(result.account, InteractionType.Redirect);
20174
20306
  }
20175
20307
  else {
20176
20308
  /*
@@ -20403,6 +20535,8 @@ class StandardController {
20403
20535
  accessTokenSize: result.accessToken.length,
20404
20536
  idTokenSize: result.idToken.length,
20405
20537
  }, undefined, result.account);
20538
+ // SSO capability verification in background
20539
+ this.verifySsoCapability(result.account, InteractionType.Popup);
20406
20540
  return result;
20407
20541
  })
20408
20542
  .catch((e) => {
@@ -20436,6 +20570,53 @@ class StandardController {
20436
20570
  visibilityChangeCount: 1,
20437
20571
  });
20438
20572
  }
20573
+ /**
20574
+ * SSO capability verification in the background.
20575
+ * This method makes an iframe request to /authorize to verify SSO capability without calling /token.
20576
+ * This method does not block the caller and tracks telemetry for success/failure.
20577
+ * This method only executes if verifySSO is set to true in the auth configuration.
20578
+ * @param account - The account to use for the SSO verification
20579
+ * @param parentApi - The API ID of the parent operation for logging purposes
20580
+ */
20581
+ verifySsoCapability(account, parentApi) {
20582
+ // Check if SSO capability verification is enabled
20583
+ if (!this.config.auth.verifySSO) {
20584
+ return;
20585
+ }
20586
+ const correlationId = this.browserCrypto.createNewGuid();
20587
+ const ssoCapableMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.SsoCapable, correlationId);
20588
+ ssoCapableMeasurement.add({
20589
+ parentApi: parentApi,
20590
+ });
20591
+ this.logger.verbose(`SSO capability verification initiated after ${parentApi}`, correlationId);
20592
+ /*
20593
+ * Use setTimeout to ensure this runs in a separate macrotask after the current call stack completes
20594
+ * This ensures the result is returned to the caller before the SSO verification starts and doesn't affect performance
20595
+ */
20596
+ setTimeout(() => {
20597
+ const ssoVerificationRequest = {
20598
+ account: account,
20599
+ correlationId: correlationId,
20600
+ };
20601
+ const silentIframeClient = this.createSilentIframeClient(correlationId);
20602
+ silentIframeClient
20603
+ .verifySso(ssoVerificationRequest)
20604
+ .then((success) => {
20605
+ this.logger.verbose(`SSO capability verification completed after ${parentApi}, success: ${success}`, correlationId);
20606
+ ssoCapableMeasurement.end({
20607
+ fromCache: false,
20608
+ success: success,
20609
+ }, undefined, account);
20610
+ })
20611
+ .catch((error) => {
20612
+ this.logger.warning(`SSO capability verification failed after ${parentApi}: ${error.message}`, correlationId);
20613
+ ssoCapableMeasurement.end({
20614
+ fromCache: false,
20615
+ success: false,
20616
+ }, error, account);
20617
+ });
20618
+ }, 0);
20619
+ }
20439
20620
  // #endregion
20440
20621
  // #region Silent Flow
20441
20622
  /**
@@ -21201,6 +21382,10 @@ class StandardController {
21201
21382
  const result = this.acquireTokenSilentNoIframe(silentRequest, cacheLookupPolicy).catch(async (refreshTokenError) => {
21202
21383
  const shouldTryToResolveSilently = checkIfRefreshTokenErrorCanBeResolvedSilently(refreshTokenError, cacheLookupPolicy);
21203
21384
  if (shouldTryToResolveSilently) {
21385
+ const silentRefreshReason = `${refreshTokenError.errorCode}${refreshTokenError.subError
21386
+ ? `|${refreshTokenError.subError}`
21387
+ : ""}`;
21388
+ this.performanceClient.addFields({ silentRefreshReason }, silentRequest.correlationId);
21204
21389
  if (!this.activeIframeRequest) {
21205
21390
  let _resolve;
21206
21391
  // Always set the active request tracker immediately after checking it to prevent races