@azure/msal-browser 4.29.0 → 4.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/README.md +25 -25
  2. package/dist/app/IPublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientApplication.mjs +1 -1
  4. package/dist/app/PublicClientNext.mjs +1 -1
  5. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  6. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +23 -9
  8. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
  9. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  10. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  11. package/dist/cache/AccountManager.mjs +1 -1
  12. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  13. package/dist/cache/BrowserCacheManager.mjs +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.mjs +1 -1
  23. package/dist/config/Configuration.mjs +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 +4 -2
  27. package/dist/controllers/StandardController.d.ts.map +1 -1
  28. package/dist/controllers/StandardController.mjs +55 -21
  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.d.ts.map +1 -1
  38. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +23 -9
  39. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
  40. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  41. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  42. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  43. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  44. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  45. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  46. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  47. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  48. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  50. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  51. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  52. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  53. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  54. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  55. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  56. package/dist/custom-auth-path/controllers/StandardController.d.ts +4 -2
  57. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  58. package/dist/custom-auth-path/controllers/StandardController.mjs +55 -21
  59. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  60. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  61. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  62. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  63. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  64. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  65. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  67. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  69. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  112. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  119. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  120. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  154. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  155. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  156. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  157. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  161. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  169. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  170. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  171. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  172. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  173. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  174. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  175. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  176. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  177. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  178. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  179. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  180. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  181. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  182. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  183. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  184. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  185. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  186. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  187. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  188. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  189. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  190. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +5 -1
  191. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs.map +1 -1
  192. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  193. package/dist/custom-auth-path/interaction_handler/SilentHandler.d.ts.map +1 -1
  194. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +15 -2
  195. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs.map +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.mjs +1 -1
  203. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  204. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  205. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts +1 -0
  206. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +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.d.ts +10 -0
  212. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  213. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +5 -1
  214. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs.map +1 -1
  215. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  216. package/dist/encode/Base64Decode.mjs +1 -1
  217. package/dist/encode/Base64Encode.mjs +1 -1
  218. package/dist/error/BrowserAuthError.mjs +1 -1
  219. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  220. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  221. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  222. package/dist/error/NativeAuthError.mjs +1 -1
  223. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  224. package/dist/error/NestedAppAuthError.mjs +1 -1
  225. package/dist/event/EventHandler.mjs +1 -1
  226. package/dist/event/EventMessage.mjs +1 -1
  227. package/dist/event/EventType.mjs +1 -1
  228. package/dist/index.mjs +1 -1
  229. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  230. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  231. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  232. package/dist/interaction_client/PopupClient.mjs +1 -1
  233. package/dist/interaction_client/RedirectClient.mjs +1 -1
  234. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  235. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  236. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  237. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  238. package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  239. package/dist/interaction_client/StandardInteractionClient.mjs +5 -1
  240. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  241. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  242. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  243. package/dist/interaction_handler/SilentHandler.mjs +15 -2
  244. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  245. package/dist/naa/BridgeError.mjs +1 -1
  246. package/dist/naa/BridgeProxy.mjs +1 -1
  247. package/dist/naa/BridgeStatusCode.mjs +1 -1
  248. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  249. package/dist/navigation/NavigationClient.mjs +1 -1
  250. package/dist/network/FetchClient.mjs +1 -1
  251. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  252. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  253. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  254. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  255. package/dist/packageMetadata.d.ts +1 -1
  256. package/dist/packageMetadata.mjs +2 -2
  257. package/dist/protocol/Authorize.mjs +1 -1
  258. package/dist/request/RequestHelpers.mjs +1 -1
  259. package/dist/response/ResponseHandler.mjs +1 -1
  260. package/dist/telemetry/BrowserPerformanceClient.d.ts +1 -0
  261. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  262. package/dist/telemetry/BrowserPerformanceClient.mjs +10 -1
  263. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  264. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  265. package/dist/utils/BrowserConstants.mjs +1 -1
  266. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  267. package/dist/utils/BrowserUtils.mjs +1 -1
  268. package/dist/utils/Helpers.mjs +1 -1
  269. package/dist/utils/MsalFrameStatsUtils.d.ts +10 -0
  270. package/dist/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  271. package/dist/utils/MsalFrameStatsUtils.mjs +18 -2
  272. package/dist/utils/MsalFrameStatsUtils.mjs.map +1 -1
  273. package/lib/custom-auth-path/msal-custom-auth.cjs +228 -109
  274. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  275. package/lib/custom-auth-path/msal-custom-auth.js +228 -109
  276. package/lib/custom-auth-path/msal-custom-auth.js.map +1 -1
  277. package/lib/custom-auth-path/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  278. package/lib/custom-auth-path/types/controllers/StandardController.d.ts +4 -2
  279. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  280. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  281. package/lib/custom-auth-path/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  282. package/lib/custom-auth-path/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  283. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  284. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
  285. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  286. package/lib/custom-auth-path/types/utils/MsalFrameStatsUtils.d.ts +10 -0
  287. package/lib/custom-auth-path/types/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  288. package/lib/msal-browser.cjs +255 -111
  289. package/lib/msal-browser.cjs.map +1 -1
  290. package/lib/msal-browser.js +255 -111
  291. package/lib/msal-browser.js.map +1 -1
  292. package/lib/msal-browser.min.js +62 -62
  293. package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  294. package/lib/types/controllers/StandardController.d.ts +4 -2
  295. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  296. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  297. package/lib/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  298. package/lib/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  299. package/lib/types/packageMetadata.d.ts +1 -1
  300. package/lib/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
  301. package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  302. package/lib/types/utils/MsalFrameStatsUtils.d.ts +10 -0
  303. package/lib/types/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  304. package/package.json +2 -2
  305. package/src/broker/nativeBroker/PlatformAuthDOMHandler.ts +24 -13
  306. package/src/controllers/StandardController.ts +74 -41
  307. package/src/interaction_client/StandardInteractionClient.ts +12 -0
  308. package/src/interaction_handler/SilentHandler.ts +21 -1
  309. package/src/packageMetadata.ts +1 -1
  310. package/src/telemetry/BrowserPerformanceClient.ts +10 -0
  311. package/src/utils/MsalFrameStatsUtils.ts +27 -0
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.29.0 2026-02-23 */
1
+ /*! @azure/msal-browser v4.29.1 2026-03-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.msalCustomAuth = {}));
7
7
  })(this, (function (exports) { 'use strict';
8
8
 
9
- /*! @azure/msal-common v15.15.0 2026-02-23 */
9
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
10
10
  /*
11
11
  * Copyright (c) Microsoft Corporation. All rights reserved.
12
12
  * Licensed under the MIT License.
@@ -280,7 +280,7 @@
280
280
  // Token renewal offset default in seconds
281
281
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
282
282
 
283
- /*! @azure/msal-common v15.15.0 2026-02-23 */
283
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
284
284
  /*
285
285
  * Copyright (c) Microsoft Corporation. All rights reserved.
286
286
  * Licensed under the MIT License.
@@ -291,7 +291,7 @@
291
291
  const unexpectedError = "unexpected_error";
292
292
  const postRequestFailed$1 = "post_request_failed";
293
293
 
294
- /*! @azure/msal-common v15.15.0 2026-02-23 */
294
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
295
295
 
296
296
  /*
297
297
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -326,7 +326,7 @@
326
326
  : AuthErrorMessages[code]);
327
327
  }
328
328
 
329
- /*! @azure/msal-common v15.15.0 2026-02-23 */
329
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
330
330
  /*
331
331
  * Copyright (c) Microsoft Corporation. All rights reserved.
332
332
  * Licensed under the MIT License.
@@ -377,7 +377,7 @@
377
377
  const nestedAppAuthBridgeDisabled = "nested_app_auth_bridge_disabled";
378
378
  const platformBrokerError = "platform_broker_error";
379
379
 
380
- /*! @azure/msal-common v15.15.0 2026-02-23 */
380
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
381
381
 
382
382
  /*
383
383
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -452,7 +452,7 @@
452
452
  return new ClientAuthError(errorCode, additionalMessage);
453
453
  }
454
454
 
455
- /*! @azure/msal-common v15.15.0 2026-02-23 */
455
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
456
456
 
457
457
  /*
458
458
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -491,7 +491,7 @@
491
491
  },
492
492
  };
493
493
 
494
- /*! @azure/msal-common v15.15.0 2026-02-23 */
494
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
495
495
 
496
496
  /*
497
497
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -682,12 +682,12 @@
682
682
  }
683
683
  }
684
684
 
685
- /*! @azure/msal-common v15.15.0 2026-02-23 */
685
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
686
686
  /* eslint-disable header/header */
687
687
  const name$1 = "@azure/msal-common";
688
- const version$1 = "15.15.0";
688
+ const version$1 = "15.16.1";
689
689
 
690
- /*! @azure/msal-common v15.15.0 2026-02-23 */
690
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
691
691
  /*
692
692
  * Copyright (c) Microsoft Corporation. All rights reserved.
693
693
  * Licensed under the MIT License.
@@ -696,7 +696,7 @@
696
696
  // AzureCloudInstance is not specified.
697
697
  None: "none"};
698
698
 
699
- /*! @azure/msal-common v15.15.0 2026-02-23 */
699
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
700
700
  /*
701
701
  * Copyright (c) Microsoft Corporation. All rights reserved.
702
702
  * Licensed under the MIT License.
@@ -726,7 +726,7 @@
726
726
  const invalidAuthorizePostBodyParameters = "invalid_authorize_post_body_parameters";
727
727
  const invalidPlatformBrokerConfiguration = "invalid_platform_broker_configuration";
728
728
 
729
- /*! @azure/msal-common v15.15.0 2026-02-23 */
729
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
730
730
 
731
731
  /*
732
732
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -772,7 +772,7 @@
772
772
  return new ClientConfigurationError(errorCode);
773
773
  }
774
774
 
775
- /*! @azure/msal-common v15.15.0 2026-02-23 */
775
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
776
776
  /*
777
777
  * Copyright (c) Microsoft Corporation. All rights reserved.
778
778
  * Licensed under the MIT License.
@@ -867,9 +867,48 @@
867
867
  .replace(/\?/g, "\\?"));
868
868
  return regex.test(input);
869
869
  }
870
+ /**
871
+ * Tests if a given string matches a given pattern using stricter, anchored matching semantics.
872
+ *
873
+ * Differences from `matchPattern` (legacy):
874
+ * - All regex metacharacters (including `.`) in the pattern are treated as literals,
875
+ * so `example.com` matches only `example.com` and not `exampleXcom`.
876
+ * - The generated regex is anchored with `^` and `$` so partial/substring matches
877
+ * are not allowed.
878
+ * - `*` is the only supported wildcard. Its behaviour depends on the URL component:
879
+ * - `host` component: `*` matches any sequence of characters that does NOT include
880
+ * a dot (`.`), keeping wildcards within a single DNS label boundary.
881
+ * - All other components: `*` matches any sequence of characters (including `/`).
882
+ *
883
+ * @param pattern - The `protectedResourceMap` key pattern to match against. `*` is a
884
+ * multi-character wildcard; all other characters are treated as literals.
885
+ * @param input - The URL component value (e.g. host, pathname) extracted from the
886
+ * outgoing request URL to test against the pattern.
887
+ * @param options - Optional. Provide `component` to enable component-aware wildcard
888
+ * semantics. Accepted values: `"host"`, `"path"`, `"protocol"`, `"search"`,
889
+ * `"hash"`. Defaults to path-style (permissive) matching when omitted.
890
+ * @returns `true` if the full input string matches the pattern; `false` otherwise.
891
+ */
892
+ static matchPatternStrict(pattern, input, options) {
893
+ const component = options?.component;
894
+ // Step 1: Escape all regex special characters so literals are matched literally.
895
+ let regexBody = pattern.replace(/[.+^${}()|[\]\\*?]/g, "\\$&");
896
+ // Step 2: Replace the escaped '*' with its component-aware regex equivalent.
897
+ if (component === "host") {
898
+ regexBody = regexBody.replace(/\\\*/g, "[^.]*");
899
+ }
900
+ else {
901
+ // PATH, PROTOCOL, SEARCH, HASH, or unspecified: '*' matches any characters.
902
+ regexBody = regexBody.replace(/\\\*/g, ".*");
903
+ }
904
+ // Step 3: Anchor for full-string matching.
905
+ // eslint-disable-next-line security/detect-non-literal-regexp
906
+ const regex = new RegExp(`^${regexBody}$`);
907
+ return regex.test(input);
908
+ }
870
909
  }
871
910
 
872
- /*! @azure/msal-common v15.15.0 2026-02-23 */
911
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
873
912
 
874
913
  /*
875
914
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1064,7 +1103,7 @@
1064
1103
  }
1065
1104
  }
1066
1105
 
1067
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1106
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1068
1107
 
1069
1108
  /*
1070
1109
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1104,7 +1143,7 @@
1104
1143
  };
1105
1144
  }
1106
1145
 
1107
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1146
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1108
1147
  /*
1109
1148
  * Copyright (c) Microsoft Corporation. All rights reserved.
1110
1149
  * Licensed under the MIT License.
@@ -1186,7 +1225,7 @@
1186
1225
  return updatedAccountInfo;
1187
1226
  }
1188
1227
 
1189
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1228
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1190
1229
  /*
1191
1230
  * Copyright (c) Microsoft Corporation. All rights reserved.
1192
1231
  * Licensed under the MIT License.
@@ -1201,7 +1240,7 @@
1201
1240
  Ciam: 3,
1202
1241
  };
1203
1242
 
1204
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1243
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1205
1244
  /*
1206
1245
  * Copyright (c) Microsoft Corporation. All rights reserved.
1207
1246
  * Licensed under the MIT License.
@@ -1223,7 +1262,7 @@
1223
1262
  return null;
1224
1263
  }
1225
1264
 
1226
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1265
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1227
1266
  /*
1228
1267
  * Copyright (c) Microsoft Corporation. All rights reserved.
1229
1268
  * Licensed under the MIT License.
@@ -1247,7 +1286,7 @@
1247
1286
  EAR: "EAR",
1248
1287
  };
1249
1288
 
1250
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1289
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1251
1290
 
1252
1291
  /*
1253
1292
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1482,7 +1521,7 @@
1482
1521
  }
1483
1522
  }
1484
1523
 
1485
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1524
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1486
1525
 
1487
1526
  /*
1488
1527
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1563,7 +1602,7 @@
1563
1602
  }
1564
1603
  }
1565
1604
 
1566
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1605
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1567
1606
 
1568
1607
  /*
1569
1608
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1679,7 +1718,7 @@
1679
1718
  }
1680
1719
  }
1681
1720
 
1682
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1721
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1683
1722
 
1684
1723
  /*
1685
1724
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1843,7 +1882,7 @@
1843
1882
  }
1844
1883
  }
1845
1884
 
1846
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1885
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1847
1886
 
1848
1887
  /*
1849
1888
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2018,7 +2057,7 @@
2018
2057
  return null;
2019
2058
  }
2020
2059
 
2021
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2060
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2022
2061
  /*
2023
2062
  * Copyright (c) Microsoft Corporation. All rights reserved.
2024
2063
  * Licensed under the MIT License.
@@ -2026,7 +2065,7 @@
2026
2065
  const cacheQuotaExceeded = "cache_quota_exceeded";
2027
2066
  const cacheErrorUnknown = "cache_error_unknown";
2028
2067
 
2029
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2068
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2030
2069
 
2031
2070
  /*
2032
2071
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2071,7 +2110,7 @@
2071
2110
  }
2072
2111
  }
2073
2112
 
2074
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2113
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2075
2114
 
2076
2115
  /*
2077
2116
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3181,7 +3220,7 @@
3181
3220
  }
3182
3221
  }
3183
3222
 
3184
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3223
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3185
3224
  /*
3186
3225
  * Copyright (c) Microsoft Corporation. All rights reserved.
3187
3226
  * Licensed under the MIT License.
@@ -3458,7 +3497,7 @@
3458
3497
  const PerformanceEventStatus = {
3459
3498
  InProgress: 1};
3460
3499
 
3461
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3500
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3462
3501
 
3463
3502
  /*
3464
3503
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3537,7 +3576,7 @@
3537
3576
  }
3538
3577
  }
3539
3578
 
3540
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3579
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3541
3580
 
3542
3581
  /*
3543
3582
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3637,7 +3676,7 @@
3637
3676
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
3638
3677
  }
3639
3678
 
3640
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3679
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3641
3680
  /*
3642
3681
  * Copyright (c) Microsoft Corporation. All rights reserved.
3643
3682
  * Licensed under the MIT License.
@@ -3647,7 +3686,7 @@
3647
3686
  UPN: "UPN",
3648
3687
  };
3649
3688
 
3650
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3689
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3651
3690
  /*
3652
3691
  * Copyright (c) Microsoft Corporation. All rights reserved.
3653
3692
  * Licensed under the MIT License.
@@ -3697,7 +3736,7 @@
3697
3736
  const EAR_JWK = "ear_jwk";
3698
3737
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
3699
3738
 
3700
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3739
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3701
3740
 
3702
3741
  /*
3703
3742
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4077,7 +4116,7 @@
4077
4116
  });
4078
4117
  }
4079
4118
 
4080
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4119
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4081
4120
  /*
4082
4121
  * Copyright (c) Microsoft Corporation. All rights reserved.
4083
4122
  * Licensed under the MIT License.
@@ -4089,7 +4128,7 @@
4089
4128
  response.hasOwnProperty("jwks_uri"));
4090
4129
  }
4091
4130
 
4092
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4131
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4093
4132
  /*
4094
4133
  * Copyright (c) Microsoft Corporation. All rights reserved.
4095
4134
  * Licensed under the MIT License.
@@ -4099,7 +4138,7 @@
4099
4138
  response.hasOwnProperty("metadata"));
4100
4139
  }
4101
4140
 
4102
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4141
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4103
4142
  /*
4104
4143
  * Copyright (c) Microsoft Corporation. All rights reserved.
4105
4144
  * Licensed under the MIT License.
@@ -4109,7 +4148,7 @@
4109
4148
  response.hasOwnProperty("error_description"));
4110
4149
  }
4111
4150
 
4112
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4151
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4113
4152
  /*
4114
4153
  * Copyright (c) Microsoft Corporation. All rights reserved.
4115
4154
  * Licensed under the MIT License.
@@ -4205,7 +4244,7 @@
4205
4244
  };
4206
4245
  };
4207
4246
 
4208
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4247
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4209
4248
 
4210
4249
  /*
4211
4250
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4311,7 +4350,7 @@
4311
4350
  },
4312
4351
  };
4313
4352
 
4314
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4353
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4315
4354
  /*
4316
4355
  * Copyright (c) Microsoft Corporation. All rights reserved.
4317
4356
  * Licensed under the MIT License.
@@ -4376,7 +4415,7 @@
4376
4415
  return cachedAtSec > nowSeconds();
4377
4416
  }
4378
4417
 
4379
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4418
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4380
4419
 
4381
4420
  /*
4382
4421
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4638,7 +4677,7 @@
4638
4677
  return metadata.expiresAt <= nowSeconds();
4639
4678
  }
4640
4679
 
4641
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4680
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4642
4681
 
4643
4682
  /*
4644
4683
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5477,7 +5516,7 @@
5477
5516
  };
5478
5517
  }
5479
5518
 
5480
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5519
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5481
5520
 
5482
5521
  /*
5483
5522
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5508,7 +5547,7 @@
5508
5547
  }
5509
5548
  }
5510
5549
 
5511
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5550
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5512
5551
 
5513
5552
  /*
5514
5553
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5527,7 +5566,7 @@
5527
5566
  }
5528
5567
  }
5529
5568
 
5530
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5569
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5531
5570
  /*
5532
5571
  * Copyright (c) Microsoft Corporation. All rights reserved.
5533
5572
  * Licensed under the MIT License.
@@ -5548,7 +5587,7 @@
5548
5587
  };
5549
5588
  }
5550
5589
 
5551
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5590
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5552
5591
 
5553
5592
  /*
5554
5593
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5635,7 +5674,7 @@
5635
5674
  }
5636
5675
  }
5637
5676
 
5638
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5677
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5639
5678
 
5640
5679
  /*
5641
5680
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5666,7 +5705,7 @@
5666
5705
  return new NetworkError(error, httpStatus, responseHeaders);
5667
5706
  }
5668
5707
 
5669
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5708
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5670
5709
 
5671
5710
  /*
5672
5711
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5814,7 +5853,7 @@
5814
5853
  }
5815
5854
  }
5816
5855
 
5817
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5856
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5818
5857
  /*
5819
5858
  * Copyright (c) Microsoft Corporation. All rights reserved.
5820
5859
  * Licensed under the MIT License.
@@ -5865,7 +5904,7 @@
5865
5904
  */
5866
5905
  const interruptedUser = "interrupted_user";
5867
5906
 
5868
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5907
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5869
5908
 
5870
5909
  /*
5871
5910
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5940,7 +5979,7 @@
5940
5979
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
5941
5980
  }
5942
5981
 
5943
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5982
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5944
5983
 
5945
5984
  /*
5946
5985
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6012,7 +6051,7 @@
6012
6051
  }
6013
6052
  }
6014
6053
 
6015
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6054
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6016
6055
 
6017
6056
  /*
6018
6057
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6094,7 +6133,7 @@
6094
6133
  }
6095
6134
  }
6096
6135
 
6097
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6136
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6098
6137
  /*
6099
6138
  * Copyright (c) Microsoft Corporation. All rights reserved.
6100
6139
  * Licensed under the MIT License.
@@ -6121,7 +6160,7 @@
6121
6160
  }
6122
6161
  }
6123
6162
 
6124
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6163
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6125
6164
 
6126
6165
  /*
6127
6166
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6460,7 +6499,7 @@
6460
6499
  return baseAccount;
6461
6500
  }
6462
6501
 
6463
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6502
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6464
6503
  /*
6465
6504
  * Copyright (c) Microsoft Corporation. All rights reserved.
6466
6505
  * Licensed under the MIT License.
@@ -6478,7 +6517,7 @@
6478
6517
  }
6479
6518
  }
6480
6519
 
6481
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6520
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6482
6521
 
6483
6522
  /*
6484
6523
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6627,11 +6666,6 @@
6627
6666
  throw createClientConfigurationError(missingSshJwk);
6628
6667
  }
6629
6668
  }
6630
- if (!StringUtils.isEmptyObj(request.claims) ||
6631
- (this.config.authOptions.clientCapabilities &&
6632
- this.config.authOptions.clientCapabilities.length > 0)) {
6633
- addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
6634
- }
6635
6669
  let ccsCred = undefined;
6636
6670
  if (request.clientInfo) {
6637
6671
  try {
@@ -6681,6 +6715,15 @@
6681
6715
  });
6682
6716
  }
6683
6717
  instrumentBrokerParams(parameters, request.correlationId, this.performanceClient);
6718
+ // ignore config claims if skipBrokerClaims is set to true and this is a brokered authentication flow
6719
+ const configClaims = request.skipBrokerClaims &&
6720
+ parameters.has(BROKER_CLIENT_ID)
6721
+ ? undefined
6722
+ : this.config.authOptions.clientCapabilities;
6723
+ if (!StringUtils.isEmptyObj(request.claims) ||
6724
+ (configClaims && configClaims.length > 0)) {
6725
+ addClaims(parameters, request.claims, configClaims);
6726
+ }
6684
6727
  return mapToQueryString(parameters);
6685
6728
  }
6686
6729
  /**
@@ -6714,7 +6757,7 @@
6714
6757
  }
6715
6758
  }
6716
6759
 
6717
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6760
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6718
6761
 
6719
6762
  /*
6720
6763
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6892,11 +6935,6 @@
6892
6935
  throw createClientConfigurationError(missingSshJwk);
6893
6936
  }
6894
6937
  }
6895
- if (!StringUtils.isEmptyObj(request.claims) ||
6896
- (this.config.authOptions.clientCapabilities &&
6897
- this.config.authOptions.clientCapabilities.length > 0)) {
6898
- addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
6899
- }
6900
6938
  if (this.config.systemOptions.preventCorsPreflight &&
6901
6939
  request.ccsCredential) {
6902
6940
  switch (request.ccsCredential.type) {
@@ -6922,11 +6960,20 @@
6922
6960
  addExtraQueryParameters(parameters, request.tokenBodyParameters);
6923
6961
  }
6924
6962
  instrumentBrokerParams(parameters, request.correlationId, this.performanceClient);
6963
+ // ignore config claims if skipBrokerClaims is set to true and this is a brokered authentication flow
6964
+ const configClaims = request.skipBrokerClaims &&
6965
+ parameters.has(BROKER_CLIENT_ID)
6966
+ ? undefined
6967
+ : this.config.authOptions.clientCapabilities;
6968
+ if (!StringUtils.isEmptyObj(request.claims) ||
6969
+ (configClaims && configClaims.length > 0)) {
6970
+ addClaims(parameters, request.claims, configClaims);
6971
+ }
6925
6972
  return mapToQueryString(parameters);
6926
6973
  }
6927
6974
  }
6928
6975
 
6929
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6976
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6930
6977
 
6931
6978
  /*
6932
6979
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7024,7 +7071,7 @@
7024
7071
  }
7025
7072
  }
7026
7073
 
7027
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7074
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7028
7075
 
7029
7076
  /*
7030
7077
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7039,7 +7086,7 @@
7039
7086
  },
7040
7087
  };
7041
7088
 
7042
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7089
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7043
7090
 
7044
7091
  /*
7045
7092
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7160,14 +7207,17 @@
7160
7207
  if (request.state) {
7161
7208
  addState(parameters, request.state);
7162
7209
  }
7163
- if (request.claims ||
7164
- (authOptions.clientCapabilities &&
7165
- authOptions.clientCapabilities.length > 0)) {
7166
- addClaims(parameters, request.claims, authOptions.clientCapabilities);
7167
- }
7168
7210
  if (request.embeddedClientId) {
7169
7211
  addBrokerParameters(parameters, authOptions.clientId, authOptions.redirectUri);
7170
7212
  }
7213
+ // ignore config claims if skipBrokerClaims is set to true and this is a brokered authentication flow
7214
+ const configClaims = request.skipBrokerClaims &&
7215
+ parameters.has(BROKER_CLIENT_ID)
7216
+ ? undefined
7217
+ : authOptions.clientCapabilities;
7218
+ if (request.claims || (configClaims && configClaims.length > 0)) {
7219
+ addClaims(parameters, request.claims, configClaims);
7220
+ }
7171
7221
  // If extraQueryParameters includes instance_aware its value will be added when extraQueryParameters are added
7172
7222
  if (authOptions.instanceAware &&
7173
7223
  (!request.extraQueryParameters ||
@@ -7263,7 +7313,7 @@
7263
7313
  return account.loginHint || account.idTokenClaims?.login_hint || null;
7264
7314
  }
7265
7315
 
7266
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7316
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7267
7317
 
7268
7318
  /*
7269
7319
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7526,7 +7576,7 @@
7526
7576
  }
7527
7577
  }
7528
7578
 
7529
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7579
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7530
7580
  /*
7531
7581
  * Copyright (c) Microsoft Corporation. All rights reserved.
7532
7582
  * Licensed under the MIT License.
@@ -7534,7 +7584,7 @@
7534
7584
  const missingKidError = "missing_kid_error";
7535
7585
  const missingAlgError = "missing_alg_error";
7536
7586
 
7537
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7587
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7538
7588
 
7539
7589
  /*
7540
7590
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7559,7 +7609,7 @@
7559
7609
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
7560
7610
  }
7561
7611
 
7562
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7612
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7563
7613
 
7564
7614
  /*
7565
7615
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7994,7 +8044,7 @@
7994
8044
 
7995
8045
  /* eslint-disable header/header */
7996
8046
  const name = "@azure/msal-browser";
7997
- const version = "4.29.0";
8047
+ const version = "4.29.1";
7998
8048
 
7999
8049
  /*
8000
8050
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -9762,6 +9812,10 @@
9762
9812
  async initializeAuthorizationRequest(request, interactionType) {
9763
9813
  this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.correlationId);
9764
9814
  const redirectUri = this.getRedirectUri(request.redirectUri);
9815
+ if (new URL(redirectUri).origin !== new URL(window.location.href).origin) {
9816
+ this.logger.warning("The origin of the redirect URI does not match the origin of the current page. This is likely to cause issues with authentication.", this.correlationId);
9817
+ this.performanceClient.addFields({ isRedirectUriCrossOrigin: true }, this.correlationId);
9818
+ }
9765
9819
  const browserState = {
9766
9820
  interactionType: interactionType,
9767
9821
  };
@@ -18323,14 +18377,28 @@
18323
18377
  return nativeResponse;
18324
18378
  }
18325
18379
  getDOMExtraParams(extraParameters) {
18326
- const stringifiedParams = Object.entries(extraParameters).reduce((record, [key, value]) => {
18327
- record[key] = String(value);
18328
- return record;
18329
- }, {});
18330
- const validExtraParams = {
18331
- ...stringifiedParams,
18332
- };
18333
- return validExtraParams;
18380
+ try {
18381
+ const stringifiedProperties = {};
18382
+ for (const [key, value] of Object.entries(extraParameters)) {
18383
+ if (!value) {
18384
+ continue;
18385
+ }
18386
+ if (typeof value === "object") {
18387
+ stringifiedProperties[key] = JSON.stringify(value);
18388
+ }
18389
+ else {
18390
+ stringifiedProperties[key] = String(value);
18391
+ }
18392
+ }
18393
+ return stringifiedProperties;
18394
+ }
18395
+ catch (e) {
18396
+ this.logger.error(this.platformAuthType + " - Error stringifying extra parameters");
18397
+ this.logger.errorPii(this.platformAuthType +
18398
+ " - Error stringifying extra parameters: " +
18399
+ e);
18400
+ return {};
18401
+ }
18334
18402
  }
18335
18403
  }
18336
18404
 
@@ -19381,6 +19449,12 @@
19381
19449
  */
19382
19450
  async function monitorIframeForHash(iframe, timeout, pollIntervalMilliseconds, performanceClient, logger, correlationId, responseType) {
19383
19451
  performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerMonitorIframeForHash, correlationId);
19452
+ performanceClient.addFields({
19453
+ iframePollIntervalMs: pollIntervalMilliseconds,
19454
+ iframeTimeoutMs: timeout,
19455
+ }, correlationId);
19456
+ let totalTickCount = 0;
19457
+ let crossOriginTickCount = 0;
19384
19458
  return new Promise((resolve, reject) => {
19385
19459
  if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {
19386
19460
  logger.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${timeout}ms) than the default (${DEFAULT_IFRAME_TIMEOUT_MS}ms). This may result in timeouts.`);
@@ -19394,6 +19468,7 @@
19394
19468
  reject(createBrowserAuthError(monitorWindowTimeout));
19395
19469
  }, timeout);
19396
19470
  const intervalId = window.setInterval(() => {
19471
+ totalTickCount++;
19397
19472
  let href = "";
19398
19473
  const contentWindow = iframe.contentWindow;
19399
19474
  try {
@@ -19404,7 +19479,9 @@
19404
19479
  */
19405
19480
  href = contentWindow ? contentWindow.location.href : "";
19406
19481
  }
19407
- catch (e) { }
19482
+ catch (e) {
19483
+ crossOriginTickCount++;
19484
+ }
19408
19485
  if (!href || href === "about:blank") {
19409
19486
  return;
19410
19487
  }
@@ -19422,6 +19499,10 @@
19422
19499
  resolve(responseString);
19423
19500
  }, pollIntervalMilliseconds);
19424
19501
  }).finally(() => {
19502
+ performanceClient.addFields({
19503
+ iframeTickCount: totalTickCount,
19504
+ crossOriginTickCount: crossOriginTickCount,
19505
+ }, correlationId);
19425
19506
  invoke(removeHiddenIframe, PerformanceEvents.RemoveHiddenIframe, logger, performanceClient, correlationId)(iframe);
19426
19507
  });
19427
19508
  }
@@ -20049,6 +20130,10 @@
20049
20130
  * Copyright (c) Microsoft Corporation. All rights reserved.
20050
20131
  * Licensed under the MIT License.
20051
20132
  */
20133
+ /**
20134
+ * Get network information for telemetry purposes. This is only supported in Chromium-based browsers.
20135
+ * @returns Network connection information, or an empty object if not available.
20136
+ */
20052
20137
  function collectInstanceStats(currentClientId, performanceEvent, logger) {
20053
20138
  const frameInstances =
20054
20139
  // @ts-ignore
@@ -20142,22 +20227,30 @@
20142
20227
  this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto, this.performanceClient);
20143
20228
  this.activeSilentTokenRequests = new Map();
20144
20229
  // Register listener functions
20145
- this.trackPageVisibility = this.trackPageVisibility.bind(this);
20146
- // Register listener functions
20147
- this.trackPageVisibilityWithMeasurement =
20148
- this.trackPageVisibilityWithMeasurement.bind(this);
20230
+ this.trackStateChangeWithMeasurement =
20231
+ this.trackStateChangeWithMeasurement.bind(this);
20149
20232
  }
20150
20233
  static async createController(operatingContext, request) {
20151
20234
  const controller = new StandardController(operatingContext);
20152
20235
  await controller.initialize(request);
20153
20236
  return controller;
20154
20237
  }
20155
- trackPageVisibility(correlationId) {
20238
+ trackStateChange(correlationId, event) {
20156
20239
  if (!correlationId) {
20157
20240
  return;
20158
20241
  }
20159
- this.logger.info("Perf: Visibility change detected");
20160
- this.performanceClient.incrementFields({ visibilityChangeCount: 1 }, correlationId);
20242
+ if (event.type === "visibilitychange") {
20243
+ this.logger.info("Perf: Visibility change detected");
20244
+ this.performanceClient.incrementFields({ visibilityChangeCount: 1 }, correlationId);
20245
+ }
20246
+ else if (event.type === "online") {
20247
+ this.logger.info("Perf: Online status change detected");
20248
+ this.performanceClient.incrementFields({ onlineStatusChangeCount: 1 }, correlationId);
20249
+ }
20250
+ else if (event.type === "offline") {
20251
+ this.logger.info("Perf: Offline status change detected");
20252
+ this.performanceClient.incrementFields({ onlineStatusChangeCount: 1 }, correlationId);
20253
+ }
20161
20254
  }
20162
20255
  /**
20163
20256
  * Initializer function to perform async startup tasks such as connecting to WAM extension
@@ -20563,16 +20656,40 @@
20563
20656
  }
20564
20657
  });
20565
20658
  }
20566
- trackPageVisibilityWithMeasurement() {
20659
+ trackStateChangeWithMeasurement(event) {
20567
20660
  const measurement = this.ssoSilentMeasurement ||
20568
20661
  this.acquireTokenByCodeAsyncMeasurement;
20569
20662
  if (!measurement) {
20570
20663
  return;
20571
20664
  }
20572
- this.logger.info("Perf: Visibility change detected in ", measurement.event.name);
20573
- measurement.increment({
20574
- visibilityChangeCount: 1,
20575
- });
20665
+ if (event.type === "visibilitychange") {
20666
+ this.logger.info("Perf: Visibility change detected in ", measurement.event.name);
20667
+ measurement.increment({
20668
+ visibilityChangeCount: 1,
20669
+ });
20670
+ }
20671
+ else if (event.type === "online") {
20672
+ this.logger.info("Perf: Online status change detected in ", measurement.event.name);
20673
+ measurement.increment({
20674
+ onlineStatusChangeCount: 1,
20675
+ });
20676
+ }
20677
+ else if (event.type === "offline") {
20678
+ this.logger.info("Perf: Offline status change detected in ", measurement.event.name);
20679
+ measurement.increment({
20680
+ onlineStatusChangeCount: 1,
20681
+ });
20682
+ }
20683
+ }
20684
+ addStateChangeListeners(listener) {
20685
+ document.addEventListener("visibilitychange", listener);
20686
+ window.addEventListener("online", listener);
20687
+ window.addEventListener("offline", listener);
20688
+ }
20689
+ removeStateChangeListeners(listener) {
20690
+ document.removeEventListener("visibilitychange", listener);
20691
+ window.removeEventListener("online", listener);
20692
+ window.removeEventListener("offline", listener);
20576
20693
  }
20577
20694
  /**
20578
20695
  * SSO capability verification in the background.
@@ -20653,8 +20770,9 @@
20653
20770
  preflightCheck(this.initialized, this.ssoSilentMeasurement, request.account);
20654
20771
  this.ssoSilentMeasurement?.increment({
20655
20772
  visibilityChangeCount: 0,
20773
+ onlineStatusChangeCount: 0,
20656
20774
  });
20657
- document.addEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
20775
+ this.addStateChangeListeners(this.trackStateChangeWithMeasurement);
20658
20776
  this.logger.verbose("ssoSilent called", correlationId);
20659
20777
  this.eventHandler.emitEvent(EventType.SSO_SILENT_START, InteractionType.Silent, validRequest);
20660
20778
  let result;
@@ -20698,7 +20816,7 @@
20698
20816
  throw e;
20699
20817
  })
20700
20818
  .finally(() => {
20701
- document.removeEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
20819
+ this.removeStateChangeListeners(this.trackStateChangeWithMeasurement);
20702
20820
  });
20703
20821
  }
20704
20822
  /**
@@ -20810,8 +20928,9 @@
20810
20928
  this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenByCodeAsync, request.correlationId);
20811
20929
  this.acquireTokenByCodeAsyncMeasurement?.increment({
20812
20930
  visibilityChangeCount: 0,
20931
+ onlineStatusChangeCount: 0,
20813
20932
  });
20814
- document.addEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
20933
+ this.addStateChangeListeners(this.trackStateChangeWithMeasurement);
20815
20934
  const silentAuthCodeClient = this.createSilentAuthCodeClient(request.correlationId);
20816
20935
  const silentTokenResult = await silentAuthCodeClient
20817
20936
  .acquireToken(request)
@@ -20829,7 +20948,7 @@
20829
20948
  throw tokenRenewalError;
20830
20949
  })
20831
20950
  .finally(() => {
20832
- document.removeEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
20951
+ this.removeStateChangeListeners(this.trackStateChangeWithMeasurement);
20833
20952
  });
20834
20953
  return silentTokenResult;
20835
20954
  }
@@ -21374,13 +21493,13 @@
21374
21493
  * @returns {Promise.<AuthenticationResult>} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse}
21375
21494
  */
21376
21495
  async acquireTokenSilentAsync(request, account) {
21377
- const trackPageVisibility = () => this.trackPageVisibility(request.correlationId);
21496
+ const trackStateChange = (event) => this.trackStateChange(request.correlationId, event);
21378
21497
  this.performanceClient.addQueueMeasurement(PerformanceEvents.AcquireTokenSilentAsync, request.correlationId);
21379
21498
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, InteractionType.Silent, request);
21380
21499
  if (request.correlationId) {
21381
- this.performanceClient.incrementFields({ visibilityChangeCount: 0 }, request.correlationId);
21500
+ this.performanceClient.incrementFields({ visibilityChangeCount: 0, onlineStatusChangeCount: 0 }, request.correlationId);
21382
21501
  }
21383
- document.addEventListener("visibilitychange", trackPageVisibility);
21502
+ this.addStateChangeListeners(trackStateChange);
21384
21503
  const silentRequest = await invokeAsync(initializeSilentRequest, PerformanceEvents.InitializeSilentRequest, this.logger, this.performanceClient, request.correlationId)(request, account, this.config, this.performanceClient, this.logger);
21385
21504
  const cacheLookupPolicy = request.cacheLookupPolicy || CacheLookupPolicy.Default;
21386
21505
  const result = this.acquireTokenSilentNoIframe(silentRequest, cacheLookupPolicy).catch(async (refreshTokenError) => {
@@ -21459,7 +21578,7 @@
21459
21578
  throw tokenRenewalError;
21460
21579
  })
21461
21580
  .finally(() => {
21462
- document.removeEventListener("visibilitychange", trackPageVisibility);
21581
+ this.removeStateChangeListeners(trackStateChange);
21463
21582
  });
21464
21583
  }
21465
21584
  /**