@azure/msal-browser 4.20.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 (272) 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.mjs +1 -1
  11. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  12. package/dist/cache/BrowserCacheManager.mjs +1 -1
  13. package/dist/cache/CacheHelpers.mjs +1 -1
  14. package/dist/cache/CacheKeys.mjs +1 -1
  15. package/dist/cache/CookieStorage.mjs +1 -1
  16. package/dist/cache/DatabaseStorage.mjs +1 -1
  17. package/dist/cache/EncryptedData.mjs +1 -1
  18. package/dist/cache/LocalStorage.mjs +1 -1
  19. package/dist/cache/MemoryStorage.mjs +1 -1
  20. package/dist/cache/SessionStorage.mjs +1 -1
  21. package/dist/cache/TokenCache.mjs +1 -1
  22. package/dist/config/Configuration.mjs +1 -1
  23. package/dist/controllers/ControllerFactory.mjs +1 -1
  24. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  25. package/dist/controllers/StandardController.d.ts.map +1 -1
  26. package/dist/controllers/StandardController.mjs +36 -9
  27. package/dist/controllers/StandardController.mjs.map +1 -1
  28. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  29. package/dist/crypto/BrowserCrypto.mjs +1 -1
  30. package/dist/crypto/CryptoOps.mjs +1 -1
  31. package/dist/crypto/PkceGenerator.mjs +1 -1
  32. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  33. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  34. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +2 -3
  35. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs.map +1 -1
  36. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  37. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  38. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  39. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  40. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  41. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  42. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  43. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  44. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  45. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  46. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  47. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  48. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  50. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  51. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  52. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  53. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  54. package/dist/custom-auth-path/controllers/StandardController.mjs +36 -9
  55. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  56. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  57. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  58. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  59. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  60. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  61. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  62. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  63. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  64. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  65. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  67. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  69. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  112. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  119. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  120. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCredentialResult.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  149. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  150. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  151. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  152. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  153. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  154. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  155. package/dist/custom-auth-path/error/NativeAuthError.d.ts.map +1 -1
  156. package/dist/custom-auth-path/error/NativeAuthError.mjs +3 -4
  157. package/dist/custom-auth-path/error/NativeAuthError.mjs.map +1 -1
  158. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  159. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  160. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  161. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  162. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  163. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  164. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +15 -6
  165. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  166. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  167. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +4 -4
  168. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs.map +1 -1
  169. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  170. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  171. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  172. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  173. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  174. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  175. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  176. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  177. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  178. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  179. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  180. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  181. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  182. package/dist/custom-auth-path/protocol/Authorize.d.ts.map +1 -1
  183. package/dist/custom-auth-path/protocol/Authorize.mjs +5 -1
  184. package/dist/custom-auth-path/protocol/Authorize.mjs.map +1 -1
  185. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  186. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  187. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  188. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  189. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  190. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  191. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  192. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  193. package/dist/encode/Base64Decode.mjs +1 -1
  194. package/dist/encode/Base64Encode.mjs +1 -1
  195. package/dist/error/BrowserAuthError.mjs +1 -1
  196. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  197. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  198. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  199. package/dist/error/NativeAuthError.d.ts.map +1 -1
  200. package/dist/error/NativeAuthError.mjs +3 -4
  201. package/dist/error/NativeAuthError.mjs.map +1 -1
  202. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  203. package/dist/error/NestedAppAuthError.mjs +1 -1
  204. package/dist/event/EventHandler.mjs +1 -1
  205. package/dist/event/EventMessage.mjs +1 -1
  206. package/dist/event/EventType.mjs +1 -1
  207. package/dist/index.mjs +1 -1
  208. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  209. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  210. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  211. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +15 -6
  212. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  213. package/dist/interaction_client/PopupClient.mjs +1 -1
  214. package/dist/interaction_client/RedirectClient.mjs +4 -4
  215. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  216. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  217. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  218. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  219. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  220. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  221. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  222. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  223. package/dist/naa/BridgeError.mjs +1 -1
  224. package/dist/naa/BridgeProxy.mjs +1 -1
  225. package/dist/naa/BridgeStatusCode.mjs +1 -1
  226. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  227. package/dist/navigation/NavigationClient.mjs +1 -1
  228. package/dist/network/FetchClient.mjs +1 -1
  229. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  230. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  231. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  232. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  233. package/dist/packageMetadata.d.ts +1 -1
  234. package/dist/packageMetadata.mjs +2 -2
  235. package/dist/protocol/Authorize.d.ts.map +1 -1
  236. package/dist/protocol/Authorize.mjs +5 -1
  237. package/dist/protocol/Authorize.mjs.map +1 -1
  238. package/dist/request/RequestHelpers.mjs +1 -1
  239. package/dist/response/ResponseHandler.mjs +1 -1
  240. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  241. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  242. package/dist/utils/BrowserConstants.mjs +1 -1
  243. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  244. package/dist/utils/BrowserUtils.mjs +1 -1
  245. package/dist/utils/Helpers.mjs +1 -1
  246. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  247. package/lib/custom-auth-path/msal-custom-auth.cjs +177 -84
  248. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  249. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  250. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  251. package/lib/custom-auth-path/types/error/NativeAuthError.d.ts.map +1 -1
  252. package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  253. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  254. package/lib/custom-auth-path/types/protocol/Authorize.d.ts.map +1 -1
  255. package/lib/msal-browser.cjs +179 -86
  256. package/lib/msal-browser.cjs.map +1 -1
  257. package/lib/msal-browser.js +179 -86
  258. package/lib/msal-browser.js.map +1 -1
  259. package/lib/msal-browser.min.js +66 -66
  260. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  261. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  262. package/lib/types/error/NativeAuthError.d.ts.map +1 -1
  263. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  264. package/lib/types/packageMetadata.d.ts +1 -1
  265. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  266. package/package.json +2 -2
  267. package/src/controllers/StandardController.ts +42 -9
  268. package/src/error/NativeAuthError.ts +1 -2
  269. package/src/interaction_client/PlatformAuthInteractionClient.ts +17 -5
  270. package/src/interaction_client/RedirectClient.ts +2 -2
  271. package/src/packageMetadata.ts +1 -1
  272. package/src/protocol/Authorize.ts +8 -0
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-browser v4.20.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0";
931
+ const version$1 = "15.12.0";
932
932
 
933
- /*! @azure/msal-common v15.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
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.11.0 2025-08-12 */
2059
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
2005
2060
 
2006
2061
  /*
2007
2062
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3110,7 +3165,7 @@ class DefaultStorageClass extends CacheManager {
3110
3165
  }
3111
3166
  }
3112
3167
 
3113
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3168
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3114
3169
  /*
3115
3170
  * Copyright (c) Microsoft Corporation. All rights reserved.
3116
3171
  * Licensed under the MIT License.
@@ -3134,7 +3189,7 @@ const ProtocolMode = {
3134
3189
  EAR: "EAR",
3135
3190
  };
3136
3191
 
3137
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3192
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3138
3193
  /*
3139
3194
  * Copyright (c) Microsoft Corporation. All rights reserved.
3140
3195
  * Licensed under the MIT License.
@@ -3656,7 +3711,7 @@ const IntFields = new Set([
3656
3711
  "upgradedCacheCount",
3657
3712
  ]);
3658
3713
 
3659
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3714
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3660
3715
 
3661
3716
  /*
3662
3717
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3735,7 +3790,7 @@ class StubPerformanceClient {
3735
3790
  }
3736
3791
  }
3737
3792
 
3738
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3793
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3739
3794
 
3740
3795
  /*
3741
3796
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3835,7 +3890,7 @@ function isOidcProtocolMode(config) {
3835
3890
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
3836
3891
  }
3837
3892
 
3838
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3893
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3839
3894
  /*
3840
3895
  * Copyright (c) Microsoft Corporation. All rights reserved.
3841
3896
  * Licensed under the MIT License.
@@ -3845,7 +3900,7 @@ const CcsCredentialType = {
3845
3900
  UPN: "UPN",
3846
3901
  };
3847
3902
 
3848
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3903
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3849
3904
 
3850
3905
  /*
3851
3906
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3885,7 +3940,7 @@ function buildClientInfoFromHomeAccountId(homeAccountId) {
3885
3940
  };
3886
3941
  }
3887
3942
 
3888
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3943
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3889
3944
  /*
3890
3945
  * Copyright (c) Microsoft Corporation. All rights reserved.
3891
3946
  * Licensed under the MIT License.
@@ -3935,7 +3990,7 @@ const INSTANCE_AWARE = "instance_aware";
3935
3990
  const EAR_JWK = "ear_jwk";
3936
3991
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
3937
3992
 
3938
- /*! @azure/msal-common v15.11.0 2025-08-12 */
3993
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
3939
3994
 
3940
3995
  /*
3941
3996
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4315,7 +4370,7 @@ function addPostBodyParameters(parameters, bodyParameters) {
4315
4370
  });
4316
4371
  }
4317
4372
 
4318
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4373
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4319
4374
  /*
4320
4375
  * Copyright (c) Microsoft Corporation. All rights reserved.
4321
4376
  * Licensed under the MIT License.
@@ -4330,7 +4385,7 @@ const AuthorityType = {
4330
4385
  Ciam: 3,
4331
4386
  };
4332
4387
 
4333
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4388
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4334
4389
  /*
4335
4390
  * Copyright (c) Microsoft Corporation. All rights reserved.
4336
4391
  * Licensed under the MIT License.
@@ -4342,7 +4397,7 @@ function isOpenIdConfigResponse(response) {
4342
4397
  response.hasOwnProperty("jwks_uri"));
4343
4398
  }
4344
4399
 
4345
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4400
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4346
4401
  /*
4347
4402
  * Copyright (c) Microsoft Corporation. All rights reserved.
4348
4403
  * Licensed under the MIT License.
@@ -4352,7 +4407,7 @@ function isCloudInstanceDiscoveryResponse(response) {
4352
4407
  response.hasOwnProperty("metadata"));
4353
4408
  }
4354
4409
 
4355
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4410
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4356
4411
  /*
4357
4412
  * Copyright (c) Microsoft Corporation. All rights reserved.
4358
4413
  * Licensed under the MIT License.
@@ -4362,7 +4417,7 @@ function isCloudInstanceDiscoveryErrorResponse(response) {
4362
4417
  response.hasOwnProperty("error_description"));
4363
4418
  }
4364
4419
 
4365
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4420
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4366
4421
  /*
4367
4422
  * Copyright (c) Microsoft Corporation. All rights reserved.
4368
4423
  * Licensed under the MIT License.
@@ -4458,7 +4513,7 @@ const invokeAsync = (callback, eventName, logger, telemetryClient, correlationId
4458
4513
  };
4459
4514
  };
4460
4515
 
4461
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4516
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4462
4517
 
4463
4518
  /*
4464
4519
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4564,7 +4619,7 @@ RegionDiscovery.IMDS_OPTIONS = {
4564
4619
  },
4565
4620
  };
4566
4621
 
4567
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4622
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4568
4623
  /*
4569
4624
  * Copyright (c) Microsoft Corporation. All rights reserved.
4570
4625
  * Licensed under the MIT License.
@@ -4629,7 +4684,7 @@ function wasClockTurnedBack(cachedAt) {
4629
4684
  return cachedAtSec > nowSeconds();
4630
4685
  }
4631
4686
 
4632
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4687
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4633
4688
 
4634
4689
  /*
4635
4690
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4891,7 +4946,7 @@ function isAuthorityMetadataExpired(metadata) {
4891
4946
  return metadata.expiresAt <= nowSeconds();
4892
4947
  }
4893
4948
 
4894
- /*! @azure/msal-common v15.11.0 2025-08-12 */
4949
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
4895
4950
 
4896
4951
  /*
4897
4952
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5730,7 +5785,7 @@ function buildStaticAuthorityOptions(authOptions) {
5730
5785
  };
5731
5786
  }
5732
5787
 
5733
- /*! @azure/msal-common v15.11.0 2025-08-12 */
5788
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5734
5789
 
5735
5790
  /*
5736
5791
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5761,7 +5816,7 @@ async function createDiscoveredInstance(authorityUri, networkClient, cacheManage
5761
5816
  }
5762
5817
  }
5763
5818
 
5764
- /*! @azure/msal-common v15.11.0 2025-08-12 */
5819
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5765
5820
 
5766
5821
  /*
5767
5822
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5780,7 +5835,7 @@ class ServerError extends AuthError {
5780
5835
  }
5781
5836
  }
5782
5837
 
5783
- /*! @azure/msal-common v15.11.0 2025-08-12 */
5838
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5784
5839
  /*
5785
5840
  * Copyright (c) Microsoft Corporation. All rights reserved.
5786
5841
  * Licensed under the MIT License.
@@ -5801,7 +5856,7 @@ function getRequestThumbprint(clientId, request, homeAccountId) {
5801
5856
  };
5802
5857
  }
5803
5858
 
5804
- /*! @azure/msal-common v15.11.0 2025-08-12 */
5859
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5805
5860
 
5806
5861
  /*
5807
5862
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5888,7 +5943,7 @@ class ThrottlingUtils {
5888
5943
  }
5889
5944
  }
5890
5945
 
5891
- /*! @azure/msal-common v15.11.0 2025-08-12 */
5946
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5892
5947
 
5893
5948
  /*
5894
5949
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5919,7 +5974,7 @@ function createNetworkError(error, httpStatus, responseHeaders, additionalError)
5919
5974
  return new NetworkError(error, httpStatus, responseHeaders);
5920
5975
  }
5921
5976
 
5922
- /*! @azure/msal-common v15.11.0 2025-08-12 */
5977
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
5923
5978
 
5924
5979
  /*
5925
5980
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6067,7 +6122,7 @@ class BaseClient {
6067
6122
  }
6068
6123
  }
6069
6124
 
6070
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6125
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6071
6126
  /*
6072
6127
  * Copyright (c) Microsoft Corporation. All rights reserved.
6073
6128
  * Licensed under the MIT License.
@@ -6089,7 +6144,7 @@ function getTenantIdFromIdTokenClaims(idTokenClaims) {
6089
6144
  return null;
6090
6145
  }
6091
6146
 
6092
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6147
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6093
6148
 
6094
6149
  /*
6095
6150
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6304,7 +6359,7 @@ class AccountEntity {
6304
6359
  }
6305
6360
  }
6306
6361
 
6307
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6362
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6308
6363
  /*
6309
6364
  * Copyright (c) Microsoft Corporation. All rights reserved.
6310
6365
  * Licensed under the MIT License.
@@ -6332,7 +6387,7 @@ var InteractionRequiredAuthErrorCodes = /*#__PURE__*/Object.freeze({
6332
6387
  uxNotAllowed: uxNotAllowed
6333
6388
  });
6334
6389
 
6335
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6390
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6336
6391
 
6337
6392
  /*
6338
6393
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6422,7 +6477,7 @@ function createInteractionRequiredAuthError(errorCode) {
6422
6477
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
6423
6478
  }
6424
6479
 
6425
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6480
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6426
6481
 
6427
6482
  /*
6428
6483
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6494,7 +6549,7 @@ class ProtocolUtils {
6494
6549
  }
6495
6550
  }
6496
6551
 
6497
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6552
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6498
6553
 
6499
6554
  /*
6500
6555
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6576,7 +6631,7 @@ class PopTokenGenerator {
6576
6631
  }
6577
6632
  }
6578
6633
 
6579
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6634
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6580
6635
  /*
6581
6636
  * Copyright (c) Microsoft Corporation. All rights reserved.
6582
6637
  * Licensed under the MIT License.
@@ -6603,7 +6658,7 @@ class PopTokenGenerator {
6603
6658
  }
6604
6659
  }
6605
6660
 
6606
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6661
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6607
6662
 
6608
6663
  /*
6609
6664
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6934,7 +6989,7 @@ function buildAccountToCache(cacheStorage, authority, homeAccountId, base64Decod
6934
6989
  return baseAccount;
6935
6990
  }
6936
6991
 
6937
- /*! @azure/msal-common v15.11.0 2025-08-12 */
6992
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6938
6993
  /*
6939
6994
  * Copyright (c) Microsoft Corporation. All rights reserved.
6940
6995
  * Licensed under the MIT License.
@@ -6952,7 +7007,7 @@ async function getClientAssertion(clientAssertion, clientId, tokenEndpoint) {
6952
7007
  }
6953
7008
  }
6954
7009
 
6955
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7010
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
6956
7011
 
6957
7012
  /*
6958
7013
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7187,7 +7242,7 @@ class AuthorizationCodeClient extends BaseClient {
7187
7242
  }
7188
7243
  }
7189
7244
 
7190
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7245
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7191
7246
 
7192
7247
  /*
7193
7248
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7396,7 +7451,7 @@ class RefreshTokenClient extends BaseClient {
7396
7451
  }
7397
7452
  }
7398
7453
 
7399
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7454
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7400
7455
 
7401
7456
  /*
7402
7457
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7494,7 +7549,7 @@ class SilentFlowClient extends BaseClient {
7494
7549
  }
7495
7550
  }
7496
7551
 
7497
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7552
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7498
7553
 
7499
7554
  /*
7500
7555
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7509,7 +7564,7 @@ const StubbedNetworkModule = {
7509
7564
  },
7510
7565
  };
7511
7566
 
7512
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7567
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7513
7568
 
7514
7569
  /*
7515
7570
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7733,7 +7788,7 @@ function extractLoginHint(account) {
7733
7788
  return account.loginHint || account.idTokenClaims?.login_hint || null;
7734
7789
  }
7735
7790
 
7736
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7791
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7737
7792
 
7738
7793
  /*
7739
7794
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7791,7 +7846,7 @@ class AuthenticationHeaderParser {
7791
7846
  }
7792
7847
  }
7793
7848
 
7794
- /*! @azure/msal-common v15.11.0 2025-08-12 */
7849
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
7795
7850
 
7796
7851
  /*
7797
7852
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8054,7 +8109,7 @@ class ServerTelemetryManager {
8054
8109
  }
8055
8110
  }
8056
8111
 
8057
- /*! @azure/msal-common v15.11.0 2025-08-12 */
8112
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8058
8113
  /*
8059
8114
  * Copyright (c) Microsoft Corporation. All rights reserved.
8060
8115
  * Licensed under the MIT License.
@@ -8062,7 +8117,7 @@ class ServerTelemetryManager {
8062
8117
  const missingKidError = "missing_kid_error";
8063
8118
  const missingAlgError = "missing_alg_error";
8064
8119
 
8065
- /*! @azure/msal-common v15.11.0 2025-08-12 */
8120
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8066
8121
 
8067
8122
  /*
8068
8123
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8087,7 +8142,7 @@ function createJoseHeaderError(code) {
8087
8142
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
8088
8143
  }
8089
8144
 
8090
- /*! @azure/msal-common v15.11.0 2025-08-12 */
8145
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8091
8146
 
8092
8147
  /*
8093
8148
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8127,7 +8182,7 @@ class JoseHeader {
8127
8182
  }
8128
8183
  }
8129
8184
 
8130
- /*! @azure/msal-common v15.11.0 2025-08-12 */
8185
+ /*! @azure/msal-common v15.12.0 2025-08-19 */
8131
8186
 
8132
8187
  /*
8133
8188
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10223,7 +10278,7 @@ function buildConfiguration({ auth: userInputAuth, cache: userInputCache, system
10223
10278
 
10224
10279
  /* eslint-disable header/header */
10225
10280
  const name = "@azure/msal-browser";
10226
- const version = "4.20.0";
10281
+ const version = "4.21.0";
10227
10282
 
10228
10283
  /*
10229
10284
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -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
  }
@@ -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
  }
@@ -17118,6 +17191,9 @@ class StandardController {
17118
17191
  let result;
17119
17192
  const pkce = this.getPreGeneratedPkceCodes(correlationId);
17120
17193
  if (this.canUsePlatformBroker(request)) {
17194
+ atPopupMeasurement.add({
17195
+ isPlatformBrokerRequest: true,
17196
+ });
17121
17197
  result = this.acquireTokenNative({
17122
17198
  ...request,
17123
17199
  correlationId,
@@ -17125,15 +17201,18 @@ class StandardController {
17125
17201
  .then((response) => {
17126
17202
  atPopupMeasurement.end({
17127
17203
  success: true,
17128
- isNativeBroker: true,
17129
17204
  accountType: getAccountType(response.account),
17130
17205
  });
17131
17206
  return response;
17132
17207
  })
17133
17208
  .catch((e) => {
17209
+ atPopupMeasurement.add({
17210
+ brokerErrorName: e.name,
17211
+ brokerErrorCode: e.errorCode,
17212
+ });
17134
17213
  if (e instanceof NativeAuthError &&
17135
17214
  isFatalNativeAuthError(e)) {
17136
- 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
17137
17216
  const popupClient = this.createPopupClient(correlationId);
17138
17217
  return popupClient.acquireToken(request, pkce);
17139
17218
  }
@@ -17239,7 +17318,14 @@ class StandardController {
17239
17318
  this.eventHandler.emitEvent(EventType.SSO_SILENT_START, exports.InteractionType.Silent, validRequest);
17240
17319
  let result;
17241
17320
  if (this.canUsePlatformBroker(validRequest)) {
17321
+ this.ssoSilentMeasurement?.add({
17322
+ isPlatformBrokerRequest: true,
17323
+ });
17242
17324
  result = this.acquireTokenNative(validRequest, ApiId.ssoSilent).catch((e) => {
17325
+ this.ssoSilentMeasurement?.add({
17326
+ brokerErrorName: e.name,
17327
+ brokerErrorCode: e.errorCode,
17328
+ });
17243
17329
  // If native token acquisition fails for availability reasons fallback to standard flow
17244
17330
  if (e instanceof NativeAuthError && isFatalNativeAuthError(e)) {
17245
17331
  this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt
@@ -17258,7 +17344,6 @@ class StandardController {
17258
17344
  this.eventHandler.emitEvent(EventType.SSO_SILENT_SUCCESS, exports.InteractionType.Silent, response);
17259
17345
  this.ssoSilentMeasurement?.end({
17260
17346
  success: true,
17261
- isNativeBroker: response.fromNativeBroker,
17262
17347
  accessTokenSize: response.accessToken.length,
17263
17348
  idTokenSize: response.idToken.length,
17264
17349
  accountType: getAccountType(response.account),
@@ -17312,7 +17397,6 @@ class StandardController {
17312
17397
  this.hybridAuthCodeResponses.delete(hybridAuthCode);
17313
17398
  atbcMeasurement.end({
17314
17399
  success: true,
17315
- isNativeBroker: result.fromNativeBroker,
17316
17400
  accessTokenSize: result.accessToken.length,
17317
17401
  idTokenSize: result.idToken.length,
17318
17402
  accountType: getAccountType(result.account),
@@ -17337,6 +17421,9 @@ class StandardController {
17337
17421
  }
17338
17422
  else if (request.nativeAccountId) {
17339
17423
  if (this.canUsePlatformBroker(request, request.nativeAccountId)) {
17424
+ atbcMeasurement.add({
17425
+ isPlatformBrokerRequest: true,
17426
+ });
17340
17427
  const result = await this.acquireTokenNative({
17341
17428
  ...request,
17342
17429
  correlationId,
@@ -17346,6 +17433,10 @@ class StandardController {
17346
17433
  isFatalNativeAuthError(e)) {
17347
17434
  this.platformAuthProvider = undefined; // If extension gets uninstalled during session prevent future requests from continuing to attempt
17348
17435
  }
17436
+ atbcMeasurement.add({
17437
+ brokerErrorName: e.name,
17438
+ brokerErrorCode: e.errorCode,
17439
+ });
17349
17440
  throw e;
17350
17441
  });
17351
17442
  atbcMeasurement.end({
@@ -17390,7 +17481,6 @@ class StandardController {
17390
17481
  this.acquireTokenByCodeAsyncMeasurement?.end({
17391
17482
  success: true,
17392
17483
  fromCache: response.fromCache,
17393
- isNativeBroker: response.fromNativeBroker,
17394
17484
  });
17395
17485
  return response;
17396
17486
  })
@@ -17888,7 +17978,6 @@ class StandardController {
17888
17978
  atsMeasurement.end({
17889
17979
  success: true,
17890
17980
  fromCache: result.fromCache,
17891
- isNativeBroker: result.fromNativeBroker,
17892
17981
  accessTokenSize: result.accessToken.length,
17893
17982
  idTokenSize: result.idToken.length,
17894
17983
  });
@@ -18021,7 +18110,6 @@ class StandardController {
18021
18110
  if (request.correlationId) {
18022
18111
  this.performanceClient.addFields({
18023
18112
  fromCache: response.fromCache,
18024
- isNativeBroker: response.fromNativeBroker,
18025
18113
  }, request.correlationId);
18026
18114
  }
18027
18115
  return response;
@@ -18045,7 +18133,12 @@ class StandardController {
18045
18133
  if (isPlatformAuthAllowed(this.config, this.logger, this.platformAuthProvider, silentRequest.authenticationScheme) &&
18046
18134
  silentRequest.account.nativeAccountId) {
18047
18135
  this.logger.verbose("acquireTokenSilent - attempting to acquire token from native platform");
18136
+ this.performanceClient.addFields({ isPlatformBrokerRequest: true }, silentRequest.correlationId);
18048
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);
18049
18142
  // If native token acquisition fails for availability reasons fallback to web flow
18050
18143
  if (e instanceof NativeAuthError && isFatalNativeAuthError(e)) {
18051
18144
  this.logger.verbose("acquireTokenSilent - native platform unavailable, falling back to web flow");