@azure/msal-browser 4.19.0 → 4.21.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 (279) hide show
  1. package/README.md +30 -0
  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 +2 -3
  6. package/dist/broker/nativeBroker/NativeStatusCodes.mjs.map +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  8. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  9. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  10. package/dist/cache/AccountManager.d.ts.map +1 -1
  11. package/dist/cache/AccountManager.mjs +1 -6
  12. package/dist/cache/AccountManager.mjs.map +1 -1
  13. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  14. package/dist/cache/BrowserCacheManager.mjs +1 -1
  15. package/dist/cache/CacheHelpers.mjs +1 -1
  16. package/dist/cache/CacheKeys.mjs +1 -1
  17. package/dist/cache/CookieStorage.mjs +1 -1
  18. package/dist/cache/DatabaseStorage.mjs +1 -1
  19. package/dist/cache/EncryptedData.mjs +1 -1
  20. package/dist/cache/LocalStorage.mjs +1 -1
  21. package/dist/cache/MemoryStorage.mjs +1 -1
  22. package/dist/cache/SessionStorage.mjs +1 -1
  23. package/dist/cache/TokenCache.mjs +1 -1
  24. package/dist/config/Configuration.mjs +1 -1
  25. package/dist/controllers/ControllerFactory.mjs +1 -1
  26. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  27. package/dist/controllers/StandardController.d.ts.map +1 -1
  28. package/dist/controllers/StandardController.mjs +60 -22
  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 +2 -3
  37. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs.map +1 -1
  38. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  39. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  40. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  41. package/dist/custom-auth-path/cache/AccountManager.d.ts.map +1 -1
  42. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -6
  43. package/dist/custom-auth-path/cache/AccountManager.mjs.map +1 -1
  44. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  45. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  46. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  47. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  48. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  50. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  51. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  52. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  53. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  54. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  55. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  56. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  57. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  58. package/dist/custom-auth-path/controllers/StandardController.mjs +60 -22
  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/error/CustomAuthApiError.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  112. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  119. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  120. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCredentialResult.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  153. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  154. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  155. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  156. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  157. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  158. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  159. package/dist/custom-auth-path/error/NativeAuthError.d.ts.map +1 -1
  160. package/dist/custom-auth-path/error/NativeAuthError.mjs +3 -4
  161. package/dist/custom-auth-path/error/NativeAuthError.mjs.map +1 -1
  162. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  163. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  164. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  165. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  166. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  167. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  168. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +15 -6
  169. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  170. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  171. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +4 -4
  172. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs.map +1 -1
  173. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  174. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  175. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  176. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  177. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  178. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  179. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  180. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  181. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  182. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  183. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  184. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  185. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  186. package/dist/custom-auth-path/protocol/Authorize.d.ts.map +1 -1
  187. package/dist/custom-auth-path/protocol/Authorize.mjs +5 -1
  188. package/dist/custom-auth-path/protocol/Authorize.mjs.map +1 -1
  189. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  190. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  191. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  192. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  193. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  194. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  195. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  196. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  197. package/dist/encode/Base64Decode.mjs +1 -1
  198. package/dist/encode/Base64Encode.mjs +1 -1
  199. package/dist/error/BrowserAuthError.mjs +1 -1
  200. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  201. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  202. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  203. package/dist/error/NativeAuthError.d.ts.map +1 -1
  204. package/dist/error/NativeAuthError.mjs +3 -4
  205. package/dist/error/NativeAuthError.mjs.map +1 -1
  206. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  207. package/dist/error/NestedAppAuthError.mjs +1 -1
  208. package/dist/event/EventHandler.mjs +1 -1
  209. package/dist/event/EventMessage.mjs +1 -1
  210. package/dist/event/EventType.mjs +1 -1
  211. package/dist/index.mjs +1 -1
  212. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  213. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  214. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  215. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +15 -6
  216. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  217. package/dist/interaction_client/PopupClient.mjs +1 -1
  218. package/dist/interaction_client/RedirectClient.mjs +4 -4
  219. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  220. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  221. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  222. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  223. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  224. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  225. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  226. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  227. package/dist/naa/BridgeError.mjs +1 -1
  228. package/dist/naa/BridgeProxy.mjs +1 -1
  229. package/dist/naa/BridgeStatusCode.mjs +1 -1
  230. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  231. package/dist/navigation/NavigationClient.mjs +1 -1
  232. package/dist/network/FetchClient.mjs +1 -1
  233. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  234. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  235. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  236. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  237. package/dist/packageMetadata.d.ts +1 -1
  238. package/dist/packageMetadata.mjs +2 -2
  239. package/dist/protocol/Authorize.d.ts.map +1 -1
  240. package/dist/protocol/Authorize.mjs +5 -1
  241. package/dist/protocol/Authorize.mjs.map +1 -1
  242. package/dist/request/RequestHelpers.mjs +1 -1
  243. package/dist/response/ResponseHandler.mjs +1 -1
  244. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  245. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  246. package/dist/utils/BrowserConstants.mjs +1 -1
  247. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  248. package/dist/utils/BrowserUtils.mjs +1 -1
  249. package/dist/utils/Helpers.mjs +1 -1
  250. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  251. package/lib/custom-auth-path/msal-custom-auth.cjs +206 -102
  252. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  253. package/lib/custom-auth-path/types/cache/AccountManager.d.ts.map +1 -1
  254. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  255. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  256. package/lib/custom-auth-path/types/error/NativeAuthError.d.ts.map +1 -1
  257. package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  258. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  259. package/lib/custom-auth-path/types/protocol/Authorize.d.ts.map +1 -1
  260. package/lib/msal-browser.cjs +208 -104
  261. package/lib/msal-browser.cjs.map +1 -1
  262. package/lib/msal-browser.js +208 -104
  263. package/lib/msal-browser.js.map +1 -1
  264. package/lib/msal-browser.min.js +66 -66
  265. package/lib/types/cache/AccountManager.d.ts.map +1 -1
  266. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  267. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  268. package/lib/types/error/NativeAuthError.d.ts.map +1 -1
  269. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  270. package/lib/types/packageMetadata.d.ts +1 -1
  271. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  272. package/package.json +2 -2
  273. package/src/cache/AccountManager.ts +0 -6
  274. package/src/controllers/StandardController.ts +69 -20
  275. package/src/error/NativeAuthError.ts +1 -2
  276. package/src/interaction_client/PlatformAuthInteractionClient.ts +17 -5
  277. package/src/interaction_client/RedirectClient.ts +2 -2
  278. package/src/packageMetadata.ts +1 -1
  279. package/src/protocol/Authorize.ts +8 -0
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v4.19.0 2025-08-05 */
1
+ /*! @azure/msal-browser v4.21.0 2025-08-19 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
5
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6
6
  /*
7
7
  * Copyright (c) Microsoft Corporation. All rights reserved.
8
8
  * Licensed under the MIT License.
@@ -279,7 +279,7 @@ const JsonWebTokenTypes = {
279
279
  // Token renewal offset default in seconds
280
280
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
281
281
 
282
- /*! @azure/msal-common v15.10.0 2025-08-05 */
282
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
283
283
  /*
284
284
  * Copyright (c) Microsoft Corporation. All rights reserved.
285
285
  * Licensed under the MIT License.
@@ -296,7 +296,7 @@ var AuthErrorCodes = /*#__PURE__*/Object.freeze({
296
296
  unexpectedError: unexpectedError
297
297
  });
298
298
 
299
- /*! @azure/msal-common v15.10.0 2025-08-05 */
299
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
300
300
 
301
301
  /*
302
302
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -345,7 +345,7 @@ function createAuthError(code, additionalMessage) {
345
345
  : AuthErrorMessages[code]);
346
346
  }
347
347
 
348
- /*! @azure/msal-common v15.10.0 2025-08-05 */
348
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
349
349
  /*
350
350
  * Copyright (c) Microsoft Corporation. All rights reserved.
351
351
  * Licensed under the MIT License.
@@ -443,7 +443,7 @@ var ClientAuthErrorCodes = /*#__PURE__*/Object.freeze({
443
443
  userTimeoutReached: userTimeoutReached
444
444
  });
445
445
 
446
- /*! @azure/msal-common v15.10.0 2025-08-05 */
446
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
447
447
 
448
448
  /*
449
449
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -695,7 +695,7 @@ function createClientAuthError(errorCode, additionalMessage) {
695
695
  return new ClientAuthError(errorCode, additionalMessage);
696
696
  }
697
697
 
698
- /*! @azure/msal-common v15.10.0 2025-08-05 */
698
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
699
699
 
700
700
  /*
701
701
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -734,7 +734,7 @@ const DEFAULT_CRYPTO_IMPLEMENTATION = {
734
734
  },
735
735
  };
736
736
 
737
- /*! @azure/msal-common v15.10.0 2025-08-05 */
737
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
738
738
 
739
739
  /*
740
740
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -925,12 +925,12 @@ class Logger {
925
925
  }
926
926
  }
927
927
 
928
- /*! @azure/msal-common v15.10.0 2025-08-05 */
928
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
929
929
  /* eslint-disable header/header */
930
930
  const name$1 = "@azure/msal-common";
931
- const version$1 = "15.10.0";
931
+ const version$1 = "15.12.0";
932
932
 
933
- /*! @azure/msal-common v15.10.0 2025-08-05 */
933
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
934
934
  /*
935
935
  * Copyright (c) Microsoft Corporation. All rights reserved.
936
936
  * Licensed under the MIT License.
@@ -950,7 +950,7 @@ const AzureCloudInstance = {
950
950
  AzureUsGovernment: "https://login.microsoftonline.us",
951
951
  };
952
952
 
953
- /*! @azure/msal-common v15.10.0 2025-08-05 */
953
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
954
954
  /*
955
955
  * Copyright (c) Microsoft Corporation. All rights reserved.
956
956
  * Licensed under the MIT License.
@@ -1006,7 +1006,7 @@ var ClientConfigurationErrorCodes = /*#__PURE__*/Object.freeze({
1006
1006
  urlParseError: urlParseError
1007
1007
  });
1008
1008
 
1009
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1009
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1010
1010
 
1011
1011
  /*
1012
1012
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1149,7 +1149,7 @@ function createClientConfigurationError(errorCode) {
1149
1149
  return new ClientConfigurationError(errorCode);
1150
1150
  }
1151
1151
 
1152
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1152
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1153
1153
  /*
1154
1154
  * Copyright (c) Microsoft Corporation. All rights reserved.
1155
1155
  * Licensed under the MIT License.
@@ -1246,7 +1246,7 @@ class StringUtils {
1246
1246
  }
1247
1247
  }
1248
1248
 
1249
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1249
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1250
1250
 
1251
1251
  /*
1252
1252
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1290,7 +1290,11 @@ class ScopeSet {
1290
1290
  * @returns
1291
1291
  */
1292
1292
  static createSearchScopes(inputScopeString) {
1293
- const scopeSet = new ScopeSet(inputScopeString);
1293
+ // Handle empty scopes by using default OIDC scopes for cache lookup
1294
+ const scopesToUse = inputScopeString && inputScopeString.length > 0
1295
+ ? inputScopeString
1296
+ : [...OIDC_DEFAULT_SCOPES];
1297
+ const scopeSet = new ScopeSet(scopesToUse);
1294
1298
  if (!scopeSet.containsOnlyOIDCScopes()) {
1295
1299
  scopeSet.removeOIDCScopes();
1296
1300
  }
@@ -1437,7 +1441,7 @@ class ScopeSet {
1437
1441
  }
1438
1442
  }
1439
1443
 
1440
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1444
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1441
1445
  /*
1442
1446
  * Copyright (c) Microsoft Corporation. All rights reserved.
1443
1447
  * Licensed under the MIT License.
@@ -1519,7 +1523,7 @@ function updateAccountTenantProfileData(baseAccountInfo, tenantProfile, idTokenC
1519
1523
  return updatedAccountInfo;
1520
1524
  }
1521
1525
 
1522
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1526
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1523
1527
 
1524
1528
  /*
1525
1529
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1580,12 +1584,34 @@ function checkMaxAge(authTime, maxAge) {
1580
1584
  }
1581
1585
  }
1582
1586
 
1583
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1587
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1584
1588
 
1585
1589
  /*
1586
1590
  * Copyright (c) Microsoft Corporation. All rights reserved.
1587
1591
  * Licensed under the MIT License.
1588
1592
  */
1593
+ /**
1594
+ * Canonicalizes a URL by making it lowercase and ensuring it ends with /
1595
+ * Inlined version of UrlString.canonicalizeUri to avoid circular dependency
1596
+ * @param url - URL to canonicalize
1597
+ * @returns Canonicalized URL
1598
+ */
1599
+ function canonicalizeUrl(url) {
1600
+ if (!url) {
1601
+ return url;
1602
+ }
1603
+ let lowerCaseUrl = url.toLowerCase();
1604
+ if (StringUtils.endsWith(lowerCaseUrl, "?")) {
1605
+ lowerCaseUrl = lowerCaseUrl.slice(0, -1);
1606
+ }
1607
+ else if (StringUtils.endsWith(lowerCaseUrl, "?/")) {
1608
+ lowerCaseUrl = lowerCaseUrl.slice(0, -2);
1609
+ }
1610
+ if (!StringUtils.endsWith(lowerCaseUrl, "/")) {
1611
+ lowerCaseUrl += "/";
1612
+ }
1613
+ return lowerCaseUrl;
1614
+ }
1589
1615
  /**
1590
1616
  * Parses hash string from given string. Returns empty string if no hash symbol is found.
1591
1617
  * @param hashString
@@ -1643,9 +1669,38 @@ function mapToQueryString(parameters, encodeExtraParams = true, extraQueryParame
1643
1669
  }
1644
1670
  });
1645
1671
  return queryParameterArray.join("&");
1672
+ }
1673
+ /**
1674
+ * Normalizes URLs for comparison by removing hash, canonicalizing,
1675
+ * and ensuring consistent URL encoding in query parameters.
1676
+ * This fixes redirect loops when URLs contain encoded characters like apostrophes (%27).
1677
+ * @param url - URL to normalize
1678
+ * @returns Normalized URL string for comparison
1679
+ */
1680
+ function normalizeUrlForComparison(url) {
1681
+ if (!url) {
1682
+ return url;
1683
+ }
1684
+ // Remove hash first
1685
+ const urlWithoutHash = url.split("#")[0];
1686
+ try {
1687
+ // Parse the URL to handle encoding consistently
1688
+ const urlObj = new URL(urlWithoutHash);
1689
+ /*
1690
+ * Reconstruct the URL with properly decoded query parameters
1691
+ * This ensures that %27 and ' are treated as equivalent
1692
+ */
1693
+ const normalizedUrl = urlObj.origin + urlObj.pathname + urlObj.search;
1694
+ // Apply canonicalization logic inline to avoid circular dependency
1695
+ return canonicalizeUrl(normalizedUrl);
1696
+ }
1697
+ catch (e) {
1698
+ // Fallback to original logic if URL parsing fails
1699
+ return canonicalizeUrl(urlWithoutHash);
1700
+ }
1646
1701
  }
1647
1702
 
1648
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1703
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1649
1704
 
1650
1705
  /*
1651
1706
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1809,7 +1864,7 @@ class UrlString {
1809
1864
  }
1810
1865
  }
1811
1866
 
1812
- /*! @azure/msal-common v15.10.0 2025-08-05 */
1867
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1813
1868
 
1814
1869
  /*
1815
1870
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1948,7 +2003,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
1948
2003
  return null;
1949
2004
  }
1950
2005
 
1951
- /*! @azure/msal-common v15.10.0 2025-08-05 */
2006
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1952
2007
  /*
1953
2008
  * Copyright (c) Microsoft Corporation. All rights reserved.
1954
2009
  * Licensed under the MIT License.
@@ -1956,7 +2011,7 @@ function getCloudDiscoveryMetadataFromNetworkResponse(response, authorityHost) {
1956
2011
  const cacheQuotaExceeded = "cache_quota_exceeded";
1957
2012
  const cacheErrorUnknown = "cache_error_unknown";
1958
2013
 
1959
- /*! @azure/msal-common v15.10.0 2025-08-05 */
2014
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
1960
2015
 
1961
2016
  /*
1962
2017
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2001,7 +2056,7 @@ function createCacheError(e) {
2001
2056
  }
2002
2057
  }
2003
2058
 
2004
- /*! @azure/msal-common v15.10.0 2025-08-05 */
2059
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
2005
2060
 
2006
2061
  /*
2007
2062
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2031,6 +2086,11 @@ class CacheManager {
2031
2086
  * Gets first tenanted AccountInfo object found based on provided filters
2032
2087
  */
2033
2088
  getAccountInfoFilteredBy(accountFilter, correlationId) {
2089
+ if (Object.keys(accountFilter).length === 0 ||
2090
+ Object.values(accountFilter).every((value) => !value)) {
2091
+ this.commonLogger.warning("getAccountInfoFilteredBy: Account filter is empty or invalid, returning null");
2092
+ return null;
2093
+ }
2034
2094
  const allAccounts = this.getAllAccounts(accountFilter, correlationId);
2035
2095
  if (allAccounts.length > 1) {
2036
2096
  // If one or more accounts are found, prioritize accounts that have an ID token
@@ -3105,7 +3165,7 @@ class DefaultStorageClass extends CacheManager {
3105
3165
  }
3106
3166
  }
3107
3167
 
3108
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3168
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3109
3169
  /*
3110
3170
  * Copyright (c) Microsoft Corporation. All rights reserved.
3111
3171
  * Licensed under the MIT License.
@@ -3129,7 +3189,7 @@ const ProtocolMode = {
3129
3189
  EAR: "EAR",
3130
3190
  };
3131
3191
 
3132
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3192
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3133
3193
  /*
3134
3194
  * Copyright (c) Microsoft Corporation. All rights reserved.
3135
3195
  * Licensed under the MIT License.
@@ -3651,7 +3711,7 @@ const IntFields = new Set([
3651
3711
  "upgradedCacheCount",
3652
3712
  ]);
3653
3713
 
3654
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3714
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3655
3715
 
3656
3716
  /*
3657
3717
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3730,7 +3790,7 @@ class StubPerformanceClient {
3730
3790
  }
3731
3791
  }
3732
3792
 
3733
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3793
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3734
3794
 
3735
3795
  /*
3736
3796
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3830,7 +3890,7 @@ function isOidcProtocolMode(config) {
3830
3890
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
3831
3891
  }
3832
3892
 
3833
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3893
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3834
3894
  /*
3835
3895
  * Copyright (c) Microsoft Corporation. All rights reserved.
3836
3896
  * Licensed under the MIT License.
@@ -3840,7 +3900,7 @@ const CcsCredentialType = {
3840
3900
  UPN: "UPN",
3841
3901
  };
3842
3902
 
3843
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3903
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3844
3904
 
3845
3905
  /*
3846
3906
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3880,7 +3940,7 @@ function buildClientInfoFromHomeAccountId(homeAccountId) {
3880
3940
  };
3881
3941
  }
3882
3942
 
3883
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3943
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3884
3944
  /*
3885
3945
  * Copyright (c) Microsoft Corporation. All rights reserved.
3886
3946
  * Licensed under the MIT License.
@@ -3930,7 +3990,7 @@ const INSTANCE_AWARE = "instance_aware";
3930
3990
  const EAR_JWK = "ear_jwk";
3931
3991
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
3932
3992
 
3933
- /*! @azure/msal-common v15.10.0 2025-08-05 */
3993
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3934
3994
 
3935
3995
  /*
3936
3996
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4310,7 +4370,7 @@ function addPostBodyParameters(parameters, bodyParameters) {
4310
4370
  });
4311
4371
  }
4312
4372
 
4313
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4373
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4314
4374
  /*
4315
4375
  * Copyright (c) Microsoft Corporation. All rights reserved.
4316
4376
  * Licensed under the MIT License.
@@ -4325,7 +4385,7 @@ const AuthorityType = {
4325
4385
  Ciam: 3,
4326
4386
  };
4327
4387
 
4328
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4388
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4329
4389
  /*
4330
4390
  * Copyright (c) Microsoft Corporation. All rights reserved.
4331
4391
  * Licensed under the MIT License.
@@ -4337,7 +4397,7 @@ function isOpenIdConfigResponse(response) {
4337
4397
  response.hasOwnProperty("jwks_uri"));
4338
4398
  }
4339
4399
 
4340
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4400
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4341
4401
  /*
4342
4402
  * Copyright (c) Microsoft Corporation. All rights reserved.
4343
4403
  * Licensed under the MIT License.
@@ -4347,7 +4407,7 @@ function isCloudInstanceDiscoveryResponse(response) {
4347
4407
  response.hasOwnProperty("metadata"));
4348
4408
  }
4349
4409
 
4350
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4410
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4351
4411
  /*
4352
4412
  * Copyright (c) Microsoft Corporation. All rights reserved.
4353
4413
  * Licensed under the MIT License.
@@ -4357,7 +4417,7 @@ function isCloudInstanceDiscoveryErrorResponse(response) {
4357
4417
  response.hasOwnProperty("error_description"));
4358
4418
  }
4359
4419
 
4360
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4420
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4361
4421
  /*
4362
4422
  * Copyright (c) Microsoft Corporation. All rights reserved.
4363
4423
  * Licensed under the MIT License.
@@ -4453,7 +4513,7 @@ const invokeAsync = (callback, eventName, logger, telemetryClient, correlationId
4453
4513
  };
4454
4514
  };
4455
4515
 
4456
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4516
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4457
4517
 
4458
4518
  /*
4459
4519
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4559,7 +4619,7 @@ RegionDiscovery.IMDS_OPTIONS = {
4559
4619
  },
4560
4620
  };
4561
4621
 
4562
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4622
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4563
4623
  /*
4564
4624
  * Copyright (c) Microsoft Corporation. All rights reserved.
4565
4625
  * Licensed under the MIT License.
@@ -4624,7 +4684,7 @@ function wasClockTurnedBack(cachedAt) {
4624
4684
  return cachedAtSec > nowSeconds();
4625
4685
  }
4626
4686
 
4627
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4687
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4628
4688
 
4629
4689
  /*
4630
4690
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4886,7 +4946,7 @@ function isAuthorityMetadataExpired(metadata) {
4886
4946
  return metadata.expiresAt <= nowSeconds();
4887
4947
  }
4888
4948
 
4889
- /*! @azure/msal-common v15.10.0 2025-08-05 */
4949
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4890
4950
 
4891
4951
  /*
4892
4952
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5725,7 +5785,7 @@ function buildStaticAuthorityOptions(authOptions) {
5725
5785
  };
5726
5786
  }
5727
5787
 
5728
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5788
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5729
5789
 
5730
5790
  /*
5731
5791
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5756,7 +5816,7 @@ async function createDiscoveredInstance(authorityUri, networkClient, cacheManage
5756
5816
  }
5757
5817
  }
5758
5818
 
5759
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5819
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5760
5820
 
5761
5821
  /*
5762
5822
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5775,7 +5835,7 @@ class ServerError extends AuthError {
5775
5835
  }
5776
5836
  }
5777
5837
 
5778
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5838
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5779
5839
  /*
5780
5840
  * Copyright (c) Microsoft Corporation. All rights reserved.
5781
5841
  * Licensed under the MIT License.
@@ -5796,7 +5856,7 @@ function getRequestThumbprint(clientId, request, homeAccountId) {
5796
5856
  };
5797
5857
  }
5798
5858
 
5799
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5859
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5800
5860
 
5801
5861
  /*
5802
5862
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5883,7 +5943,7 @@ class ThrottlingUtils {
5883
5943
  }
5884
5944
  }
5885
5945
 
5886
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5946
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5887
5947
 
5888
5948
  /*
5889
5949
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5914,7 +5974,7 @@ function createNetworkError(error, httpStatus, responseHeaders, additionalError)
5914
5974
  return new NetworkError(error, httpStatus, responseHeaders);
5915
5975
  }
5916
5976
 
5917
- /*! @azure/msal-common v15.10.0 2025-08-05 */
5977
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5918
5978
 
5919
5979
  /*
5920
5980
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6062,7 +6122,7 @@ class BaseClient {
6062
6122
  }
6063
6123
  }
6064
6124
 
6065
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6125
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6066
6126
  /*
6067
6127
  * Copyright (c) Microsoft Corporation. All rights reserved.
6068
6128
  * Licensed under the MIT License.
@@ -6084,7 +6144,7 @@ function getTenantIdFromIdTokenClaims(idTokenClaims) {
6084
6144
  return null;
6085
6145
  }
6086
6146
 
6087
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6147
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6088
6148
 
6089
6149
  /*
6090
6150
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6299,7 +6359,7 @@ class AccountEntity {
6299
6359
  }
6300
6360
  }
6301
6361
 
6302
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6362
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6303
6363
  /*
6304
6364
  * Copyright (c) Microsoft Corporation. All rights reserved.
6305
6365
  * Licensed under the MIT License.
@@ -6327,7 +6387,7 @@ var InteractionRequiredAuthErrorCodes = /*#__PURE__*/Object.freeze({
6327
6387
  uxNotAllowed: uxNotAllowed
6328
6388
  });
6329
6389
 
6330
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6390
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6331
6391
 
6332
6392
  /*
6333
6393
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6417,7 +6477,7 @@ function createInteractionRequiredAuthError(errorCode) {
6417
6477
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
6418
6478
  }
6419
6479
 
6420
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6480
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6421
6481
 
6422
6482
  /*
6423
6483
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6489,7 +6549,7 @@ class ProtocolUtils {
6489
6549
  }
6490
6550
  }
6491
6551
 
6492
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6552
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6493
6553
 
6494
6554
  /*
6495
6555
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6571,7 +6631,7 @@ class PopTokenGenerator {
6571
6631
  }
6572
6632
  }
6573
6633
 
6574
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6634
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6575
6635
  /*
6576
6636
  * Copyright (c) Microsoft Corporation. All rights reserved.
6577
6637
  * Licensed under the MIT License.
@@ -6598,7 +6658,7 @@ class PopTokenGenerator {
6598
6658
  }
6599
6659
  }
6600
6660
 
6601
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6661
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6602
6662
 
6603
6663
  /*
6604
6664
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6929,7 +6989,7 @@ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decod
6929
6989
  return baseAccount;
6930
6990
  }
6931
6991
 
6932
- /*! @azure/msal-common v15.10.0 2025-08-05 */
6992
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6933
6993
  /*
6934
6994
  * Copyright (c) Microsoft Corporation. All rights reserved.
6935
6995
  * Licensed under the MIT License.
@@ -6947,7 +7007,7 @@ async function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {
6947
7007
  }
6948
7008
  }
6949
7009
 
6950
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7010
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6951
7011
 
6952
7012
  /*
6953
7013
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7182,7 +7242,7 @@ class AuthorizationCodeClient extends BaseClient {
7182
7242
  }
7183
7243
  }
7184
7244
 
7185
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7245
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7186
7246
 
7187
7247
  /*
7188
7248
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7391,7 +7451,7 @@ class RefreshTokenClient extends BaseClient {
7391
7451
  }
7392
7452
  }
7393
7453
 
7394
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7454
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7395
7455
 
7396
7456
  /*
7397
7457
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7489,7 +7549,7 @@ class SilentFlowClient extends BaseClient {
7489
7549
  }
7490
7550
  }
7491
7551
 
7492
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7552
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7493
7553
 
7494
7554
  /*
7495
7555
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7504,7 +7564,7 @@ const StubbedNetworkModule = {
7504
7564
  },
7505
7565
  };
7506
7566
 
7507
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7567
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7508
7568
 
7509
7569
  /*
7510
7570
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7728,7 +7788,7 @@ function extractLoginHint(account) {
7728
7788
  return account.loginHint || account.idTokenClaims?.login_hint || null;
7729
7789
  }
7730
7790
 
7731
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7791
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7732
7792
 
7733
7793
  /*
7734
7794
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7786,7 +7846,7 @@ class AuthenticationHeaderParser {
7786
7846
  }
7787
7847
  }
7788
7848
 
7789
- /*! @azure/msal-common v15.10.0 2025-08-05 */
7849
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7790
7850
 
7791
7851
  /*
7792
7852
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8049,7 +8109,7 @@ class ServerTelemetryManager {
8049
8109
  }
8050
8110
  }
8051
8111
 
8052
- /*! @azure/msal-common v15.10.0 2025-08-05 */
8112
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8053
8113
  /*
8054
8114
  * Copyright (c) Microsoft Corporation. All rights reserved.
8055
8115
  * Licensed under the MIT License.
@@ -8057,7 +8117,7 @@ class ServerTelemetryManager {
8057
8117
  const missingKidError = "missing_kid_error";
8058
8118
  const missingAlgError = "missing_alg_error";
8059
8119
 
8060
- /*! @azure/msal-common v15.10.0 2025-08-05 */
8120
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8061
8121
 
8062
8122
  /*
8063
8123
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8082,7 +8142,7 @@ function createJoseHeaderError(code) {
8082
8142
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
8083
8143
  }
8084
8144
 
8085
- /*! @azure/msal-common v15.10.0 2025-08-05 */
8145
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8086
8146
 
8087
8147
  /*
8088
8148
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8122,7 +8182,7 @@ class JoseHeader {
8122
8182
  }
8123
8183
  }
8124
8184
 
8125
- /*! @azure/msal-common v15.10.0 2025-08-05 */
8185
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8126
8186
 
8127
8187
  /*
8128
8188
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10218,7 +10278,7 @@ function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system
10218
10278
 
10219
10279
  /* eslint-disable header/header */
10220
10280
  const name = "@azure/msal-browser";
10221
- const version = "4.19.0";
10281
+ const version = "4.21.0";
10222
10282
 
10223
10283
  /*
10224
10284
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -12846,11 +12906,6 @@ function getAllAccounts(logger, browserStorage, isInBrowser, correlationId, acco
12846
12906
  * @returns The first account found in the cache matching the provided filter or null if no account could be found.
12847
12907
  */
12848
12908
  function getAccount(accountFilter, logger, browserStorage, correlationId) {
12849
- logger.trace("getAccount called");
12850
- if (Object.keys(accountFilter).length === 0) {
12851
- logger.warning("getAccount: No accountFilter provided");
12852
- return null;
12853
- }
12854
12909
  const account = browserStorage.getAccountInfoFilteredBy(accountFilter, correlationId);
12855
12910
  if (account) {
12856
12911
  logger.verbose("getAccount: Account matching provided filter found, returning");
@@ -13624,7 +13679,6 @@ const userSwitch = "user_switch";
13624
13679
  const USER_INTERACTION_REQUIRED = "USER_INTERACTION_REQUIRED";
13625
13680
  const USER_CANCEL = "USER_CANCEL";
13626
13681
  const NO_NETWORK = "NO_NETWORK";
13627
- const PERSISTENT_ERROR = "PERSISTENT_ERROR";
13628
13682
  const DISABLED = "DISABLED";
13629
13683
  const ACCOUNT_UNAVAILABLE = "ACCOUNT_UNAVAILABLE";
13630
13684
  const UX_NOT_ALLOWED = "UX_NOT_ALLOWED";
@@ -13651,8 +13705,7 @@ class NativeAuthError extends AuthError {
13651
13705
  function isFatalNativeAuthError(error) {
13652
13706
  if (error.ext &&
13653
13707
  error.ext.status &&
13654
- (error.ext.status === PERSISTENT_ERROR ||
13655
- error.ext.status === DISABLED)) {
13708
+ error.ext.status === DISABLED) {
13656
13709
  return true;
13657
13710
  }
13658
13711
  if (error.ext &&
@@ -13776,10 +13829,10 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
13776
13829
  * @param request
13777
13830
  */
13778
13831
  async acquireToken(request, cacheLookupPolicy) {
13779
- this.performanceClient.addQueueMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);
13832
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, this.correlationId);
13780
13833
  this.logger.trace("NativeInteractionClient - acquireToken called.");
13781
13834
  // start the perf measurement
13782
- const nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, request.correlationId);
13835
+ const nativeATMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.NativeInteractionClientAcquireToken, this.correlationId);
13783
13836
  const reqTimestamp = nowSeconds();
13784
13837
  const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
13785
13838
  try {
@@ -13798,6 +13851,10 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
13798
13851
  catch (e) {
13799
13852
  if (cacheLookupPolicy === CacheLookupPolicy.AccessToken) {
13800
13853
  this.logger.info("MSAL internal Cache does not contain tokens, return error as per cache policy");
13854
+ nativeATMeasurement.end({
13855
+ success: false,
13856
+ brokerErrorCode: "cache_request_failed",
13857
+ });
13801
13858
  throw e;
13802
13859
  }
13803
13860
  // continue with a native call for any and all errors
@@ -13819,7 +13876,6 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
13819
13876
  success: false,
13820
13877
  errorCode: error.errorCode,
13821
13878
  subErrorCode: error.subError,
13822
- isNativeBroker: true,
13823
13879
  });
13824
13880
  throw error;
13825
13881
  });
@@ -13828,6 +13884,9 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
13828
13884
  if (e instanceof NativeAuthError) {
13829
13885
  serverTelemetryManager.setNativeBrokerErrorCode(e.errorCode);
13830
13886
  }
13887
+ nativeATMeasurement.end({
13888
+ success: false,
13889
+ });
13831
13890
  throw e;
13832
13891
  }
13833
13892
  }
@@ -13949,6 +14008,9 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
13949
14008
  const authResult = await this.handleNativeResponse(response, request, reqTimestamp);
13950
14009
  const serverTelemetryManager = this.initializeServerTelemetryManager(this.apiId);
13951
14010
  serverTelemetryManager.clearNativeBrokerErrorCode();
14011
+ if (performanceClient && this.correlationId) {
14012
+ this.performanceClient.addFields({ isNativeBroker: true }, this.correlationId);
14013
+ }
13952
14014
  return authResult;
13953
14015
  }
13954
14016
  catch (e) {
@@ -14265,7 +14327,7 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
14265
14327
  // generate reqCnf if not provided in the request
14266
14328
  let reqCnfData;
14267
14329
  if (!validatedRequest.keyId) {
14268
- const generatedReqCnfData = await invokeAsync(popTokenGenerator.generateCnf.bind(popTokenGenerator), PerformanceEvents.PopTokenGenerateCnf, this.logger, this.performanceClient, request.correlationId)(shrParameters, this.logger);
14330
+ const generatedReqCnfData = await invokeAsync(popTokenGenerator.generateCnf.bind(popTokenGenerator), PerformanceEvents.PopTokenGenerateCnf, this.logger, this.performanceClient, this.correlationId)(shrParameters, this.logger);
14269
14331
  reqCnfData = generatedReqCnfData.reqCnfString;
14270
14332
  validatedRequest.keyId = generatedReqCnfData.kid;
14271
14333
  validatedRequest.signPopToken = true;
@@ -14351,7 +14413,7 @@ class PlatformAuthInteractionClient extends BaseInteractionClient {
14351
14413
  this.performanceClient?.addFields({
14352
14414
  embeddedClientId: child_client_id,
14353
14415
  embeddedRedirectUri: child_redirect_uri,
14354
- }, request.correlationId);
14416
+ }, this.correlationId);
14355
14417
  }
14356
14418
  }
14357
14419
 
@@ -14382,6 +14444,10 @@ async function getStandardParameters(config, authority, request, logger, perform
14382
14444
  if (request.platformBroker) {
14383
14445
  // signal ests that this is a WAM call
14384
14446
  addNativeBroker(parameters);
14447
+ // instrument JS-platform bridge specific fields
14448
+ performanceClient.addFields({
14449
+ isPlatformAuthorizeRequest: true,
14450
+ }, request.correlationId);
14385
14451
  // pass the req_cnf for POP
14386
14452
  if (request.authenticationScheme === AuthenticationScheme.POP) {
14387
14453
  const cryptoOps = new CryptoOps(logger, performanceClient);
@@ -15774,8 +15840,8 @@ class RedirectClient extends StandardInteractionClient {
15774
15840
  }
15775
15841
  // If navigateToLoginRequestUrl is true, get the url where the redirect request was initiated
15776
15842
  const loginRequestUrl = this.browserStorage.getTemporaryCache(TemporaryCacheKeys.ORIGIN_URI, true) || Constants.EMPTY_STRING;
15777
- const loginRequestUrlNormalized = UrlString.removeHashFromUrl(loginRequestUrl);
15778
- const currentUrlNormalized = UrlString.removeHashFromUrl(window.location.href);
15843
+ const loginRequestUrlNormalized = normalizeUrlForComparison(loginRequestUrl);
15844
+ const currentUrlNormalized = normalizeUrlForComparison(window.location.href);
15779
15845
  if (loginRequestUrlNormalized === currentUrlNormalized &&
15780
15846
  this.config.auth.navigateToLoginRequestUrl) {
15781
15847
  // We are on the page we need to navigate to - handle hash
@@ -16904,6 +16970,9 @@ class StandardController {
16904
16970
  if (useNative && this.platformAuthProvider) {
16905
16971
  rootMeasurement = this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenRedirect, platformBrokerRequest?.correlationId || "");
16906
16972
  this.logger.trace("handleRedirectPromise - acquiring token from native platform");
16973
+ rootMeasurement.add({
16974
+ isPlatformBrokerRequest: true,
16975
+ });
16907
16976
  const nativeClient = new PlatformAuthInteractionClient(this.config, this.browserStorage, this.browserCrypto, this.logger, this.eventHandler, this.navigationClient, ApiId.handleRedirectPromise, this.performanceClient, this.platformAuthProvider, platformBrokerRequest.accountId, this.nativeInternalStorage, platformBrokerRequest.correlationId);
16908
16977
  redirectResponse = invokeAsync(nativeClient.handleRedirectPromise.bind(nativeClient), PerformanceEvents.HandleNativeRedirectPromiseMeasurement, this.logger, this.performanceClient, rootMeasurement.event.correlationId)(this.performanceClient, rootMeasurement.event.correlationId);
16909
16978
  }
@@ -16997,12 +17066,12 @@ class StandardController {
16997
17066
  const navigate = typeof onRedirectNavigateCb === "function"
16998
17067
  ? onRedirectNavigateCb(url)
16999
17068
  : undefined;
17000
- if (navigate !== false) {
17001
- atrMeasurement.end({ success: true });
17002
- }
17003
- else {
17004
- atrMeasurement.discard();
17005
- }
17069
+ atrMeasurement.add({
17070
+ navigateCallbackResult: navigate !== false,
17071
+ });
17072
+ atrMeasurement.event =
17073
+ atrMeasurement.end({ success: true }) ||
17074
+ atrMeasurement.event;
17006
17075
  return navigate;
17007
17076
  };
17008
17077
  }
@@ -17012,12 +17081,12 @@ class StandardController {
17012
17081
  const navigate = typeof configOnRedirectNavigateCb === "function"
17013
17082
  ? configOnRedirectNavigateCb(url)
17014
17083
  : undefined;
17015
- if (navigate !== false) {
17016
- atrMeasurement.end({ success: true });
17017
- }
17018
- else {
17019
- atrMeasurement.discard();
17020
- }
17084
+ atrMeasurement.add({
17085
+ navigateCallbackResult: navigate !== false,
17086
+ });
17087
+ atrMeasurement.event =
17088
+ atrMeasurement.end({ success: true }) ||
17089
+ atrMeasurement.event;
17021
17090
  return navigate;
17022
17091
  };
17023
17092
  }
@@ -17039,9 +17108,13 @@ class StandardController {
17039
17108
  result = nativeClient
17040
17109
  .acquireTokenRedirect(request, atrMeasurement)
17041
17110
  .catch((e) => {
17111
+ atrMeasurement.add({
17112
+ brokerErrorName: e.name,
17113
+ brokerErrorCode: e.errorCode,
17114
+ });
17042
17115
  if (e instanceof NativeAuthError &&
17043
17116
  isFatalNativeAuthError(e)) {
17044
- this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt
17117
+ this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt platform broker calls
17045
17118
  const redirectClient = this.createRedirectClient(correlationId);
17046
17119
  return redirectClient.acquireToken(request);
17047
17120
  }
@@ -17061,7 +17134,18 @@ class StandardController {
17061
17134
  }
17062
17135
  catch (e) {
17063
17136
  this.browserStorage.resetRequestCache();
17064
- atrMeasurement.end({ success: false }, e);
17137
+ /*
17138
+ * Pre-redirect event completes before navigation occurs.
17139
+ * Timed out navigation needs to be instrumented separately as a post-redirect event.
17140
+ */
17141
+ if (atrMeasurement.event.status === 2) {
17142
+ this.performanceClient
17143
+ .startMeasurement(PerformanceEvents.AcquireTokenRedirect, correlationId)
17144
+ .end({ success: false }, e);
17145
+ }
17146
+ else {
17147
+ atrMeasurement.end({ success: false }, e);
17148
+ }
17065
17149
  if (isLoggedIn) {
17066
17150
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_FAILURE, exports.InteractionType.Redirect, null, e);
17067
17151
  }
@@ -17107,6 +17191,9 @@ class StandardController {
17107
17191
  let result;
17108
17192
  const pkce = this.getPreGeneratedPkceCodes(correlationId);
17109
17193
  if (this.canUsePlatformBroker(request)) {
17194
+ atPopupMeasurement.add({
17195
+ isPlatformBrokerRequest: true,
17196
+ });
17110
17197
  result = this.acquireTokenNative({
17111
17198
  ...request,
17112
17199
  correlationId,
@@ -17114,15 +17201,18 @@ class StandardController {
17114
17201
  .then((response) => {
17115
17202
  atPopupMeasurement.end({
17116
17203
  success: true,
17117
- isNativeBroker: true,
17118
17204
  accountType: getAccountType(response.account),
17119
17205
  });
17120
17206
  return response;
17121
17207
  })
17122
17208
  .catch((e) => {
17209
+ atPopupMeasurement.add({
17210
+ brokerErrorName: e.name,
17211
+ brokerErrorCode: e.errorCode,
17212
+ });
17123
17213
  if (e instanceof NativeAuthError &&
17124
17214
  isFatalNativeAuthError(e)) {
17125
- this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt
17215
+ this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to continuing to attempt platform broker calls
17126
17216
  const popupClient = this.createPopupClient(correlationId);
17127
17217
  return popupClient.acquireToken(request, pkce);
17128
17218
  }
@@ -17228,7 +17318,14 @@ class StandardController {
17228
17318
  this.eventHandler.emitEvent(EventType.SSO_SILENT_START, exports.InteractionType.Silent, validRequest);
17229
17319
  let result;
17230
17320
  if (this.canUsePlatformBroker(validRequest)) {
17321
+ this.ssoSilentMeasurement?.add({
17322
+ isPlatformBrokerRequest: true,
17323
+ });
17231
17324
  result = this.acquireTokenNative(validRequest, ApiId.ssoSilent).catch((e) => {
17325
+ this.ssoSilentMeasurement?.add({
17326
+ brokerErrorName: e.name,
17327
+ brokerErrorCode: e.errorCode,
17328
+ });
17232
17329
  // If native token acquisition fails for availability reasons fallback to standard flow
17233
17330
  if (e instanceof NativeAuthError && isFatalNativeAuthError(e)) {
17234
17331
  this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt
@@ -17247,7 +17344,6 @@ class StandardController {
17247
17344
  this.eventHandler.emitEvent(EventType.SSO_SILENT_SUCCESS, exports.InteractionType.Silent, response);
17248
17345
  this.ssoSilentMeasurement?.end({
17249
17346
  success: true,
17250
- isNativeBroker: response.fromNativeBroker,
17251
17347
  accessTokenSize: response.accessToken.length,
17252
17348
  idTokenSize: response.idToken.length,
17253
17349
  accountType: getAccountType(response.account),
@@ -17301,7 +17397,6 @@ class StandardController {
17301
17397
  this.hybridAuthCodeResponses.delete(hybridAuthCode);
17302
17398
  atbcMeasurement.end({
17303
17399
  success: true,
17304
- isNativeBroker: result.fromNativeBroker,
17305
17400
  accessTokenSize: result.accessToken.length,
17306
17401
  idTokenSize: result.idToken.length,
17307
17402
  accountType: getAccountType(result.account),
@@ -17326,6 +17421,9 @@ class StandardController {
17326
17421
  }
17327
17422
  else if (request.nativeAccountId) {
17328
17423
  if (this.canUsePlatformBroker(request, request.nativeAccountId)) {
17424
+ atbcMeasurement.add({
17425
+ isPlatformBrokerRequest: true,
17426
+ });
17329
17427
  const result = await this.acquireTokenNative({
17330
17428
  ...request,
17331
17429
  correlationId,
@@ -17335,6 +17433,10 @@ class StandardController {
17335
17433
  isFatalNativeAuthError(e)) {
17336
17434
  this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt
17337
17435
  }
17436
+ atbcMeasurement.add({
17437
+ brokerErrorName: e.name,
17438
+ brokerErrorCode: e.errorCode,
17439
+ });
17338
17440
  throw e;
17339
17441
  });
17340
17442
  atbcMeasurement.end({
@@ -17379,7 +17481,6 @@ class StandardController {
17379
17481
  this.acquireTokenByCodeAsyncMeasurement?.end({
17380
17482
  success: true,
17381
17483
  fromCache: response.fromCache,
17382
- isNativeBroker: response.fromNativeBroker,
17383
17484
  });
17384
17485
  return response;
17385
17486
  })
@@ -17877,7 +17978,6 @@ class StandardController {
17877
17978
  atsMeasurement.end({
17878
17979
  success: true,
17879
17980
  fromCache: result.fromCache,
17880
- isNativeBroker: result.fromNativeBroker,
17881
17981
  accessTokenSize: result.accessToken.length,
17882
17982
  idTokenSize: result.idToken.length,
17883
17983
  });
@@ -18010,7 +18110,6 @@ class StandardController {
18010
18110
  if (request.correlationId) {
18011
18111
  this.performanceClient.addFields({
18012
18112
  fromCache: response.fromCache,
18013
- isNativeBroker: response.fromNativeBroker,
18014
18113
  }, request.correlationId);
18015
18114
  }
18016
18115
  return response;
@@ -18034,7 +18133,12 @@ class StandardController {
18034
18133
  if (isPlatformAuthAllowed(this.config, this.logger, this.platformAuthProvider, silentRequest.authenticationScheme) &&
18035
18134
  silentRequest.account.nativeAccountId) {
18036
18135
  this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform");
18136
+ this.performanceClient.addFields({ isPlatformBrokerRequest: true }, silentRequest.correlationId);
18037
18137
  return this.acquireTokenNative(silentRequest, ApiId.acquireTokenSilent_silentFlow, silentRequest.account.nativeAccountId, cacheLookupPolicy).catch(async (e) => {
18138
+ this.performanceClient.addFields({
18139
+ brokerErrorName: e.name,
18140
+ brokerErrorCode: e.errorCode,
18141
+ }, silentRequest.correlationId);
18038
18142
  // If native token acquisition fails for availability reasons fallback to web flow
18039
18143
  if (e instanceof NativeAuthError && isFatalNativeAuthError(e)) {
18040
18144
  this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow");