@azure/msal-browser 4.29.0 → 4.30.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 (329) hide show
  1. package/README.md +25 -25
  2. package/dist/app/IPublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientApplication.mjs +1 -1
  4. package/dist/app/PublicClientNext.mjs +1 -1
  5. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  6. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +23 -9
  8. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
  9. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  10. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  11. package/dist/cache/AccountManager.mjs +1 -1
  12. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  13. package/dist/cache/BrowserCacheManager.mjs +1 -1
  14. package/dist/cache/CacheHelpers.mjs +1 -1
  15. package/dist/cache/CacheKeys.mjs +1 -1
  16. package/dist/cache/CookieStorage.mjs +1 -1
  17. package/dist/cache/DatabaseStorage.mjs +1 -1
  18. package/dist/cache/EncryptedData.mjs +1 -1
  19. package/dist/cache/LocalStorage.mjs +1 -1
  20. package/dist/cache/MemoryStorage.mjs +1 -1
  21. package/dist/cache/SessionStorage.mjs +1 -1
  22. package/dist/cache/TokenCache.mjs +1 -1
  23. package/dist/config/Configuration.mjs +1 -1
  24. package/dist/controllers/ControllerFactory.mjs +1 -1
  25. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  26. package/dist/controllers/StandardController.d.ts +4 -2
  27. package/dist/controllers/StandardController.d.ts.map +1 -1
  28. package/dist/controllers/StandardController.mjs +55 -21
  29. package/dist/controllers/StandardController.mjs.map +1 -1
  30. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  31. package/dist/crypto/BrowserCrypto.mjs +1 -1
  32. package/dist/crypto/CryptoOps.mjs +1 -1
  33. package/dist/crypto/PkceGenerator.mjs +1 -1
  34. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  35. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  36. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  37. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  38. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +23 -9
  39. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
  40. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  41. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  42. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  43. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  44. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  45. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  46. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  47. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  48. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  50. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  51. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  52. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  53. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  54. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  55. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  56. package/dist/custom-auth-path/controllers/StandardController.d.ts +4 -2
  57. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  58. package/dist/custom-auth-path/controllers/StandardController.mjs +55 -21
  59. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  60. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  61. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  62. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  63. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  64. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  65. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  67. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  69. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  112. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  119. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  120. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  154. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  155. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  156. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  157. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  161. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  169. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  170. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  171. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  172. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  173. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  174. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  175. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  176. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  177. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  178. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  179. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  180. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  181. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  182. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  183. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +11 -3
  184. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  185. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  186. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  187. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  188. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  189. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  190. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  191. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  192. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +5 -1
  193. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs.map +1 -1
  194. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  195. package/dist/custom-auth-path/interaction_handler/SilentHandler.d.ts.map +1 -1
  196. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +15 -2
  197. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs.map +1 -1
  198. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  199. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  200. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  201. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  202. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  203. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  204. package/dist/custom-auth-path/protocol/Authorize.d.ts +28 -0
  205. package/dist/custom-auth-path/protocol/Authorize.d.ts.map +1 -1
  206. package/dist/custom-auth-path/protocol/Authorize.mjs +53 -2
  207. package/dist/custom-auth-path/protocol/Authorize.mjs.map +1 -1
  208. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  209. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  210. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts +1 -0
  211. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  212. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  213. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  214. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  215. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  216. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.d.ts +10 -0
  217. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  218. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +5 -1
  219. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs.map +1 -1
  220. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  221. package/dist/encode/Base64Decode.mjs +1 -1
  222. package/dist/encode/Base64Encode.mjs +1 -1
  223. package/dist/error/BrowserAuthError.mjs +1 -1
  224. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  225. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  226. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  227. package/dist/error/NativeAuthError.mjs +1 -1
  228. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  229. package/dist/error/NestedAppAuthError.mjs +1 -1
  230. package/dist/event/EventHandler.mjs +1 -1
  231. package/dist/event/EventMessage.mjs +1 -1
  232. package/dist/event/EventType.mjs +1 -1
  233. package/dist/index.mjs +1 -1
  234. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  235. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  236. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  237. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +11 -3
  238. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  239. package/dist/interaction_client/PopupClient.mjs +1 -1
  240. package/dist/interaction_client/RedirectClient.mjs +1 -1
  241. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  242. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  243. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  244. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  245. package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  246. package/dist/interaction_client/StandardInteractionClient.mjs +5 -1
  247. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  248. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  249. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  250. package/dist/interaction_handler/SilentHandler.mjs +15 -2
  251. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  252. package/dist/naa/BridgeError.mjs +1 -1
  253. package/dist/naa/BridgeProxy.mjs +1 -1
  254. package/dist/naa/BridgeStatusCode.mjs +1 -1
  255. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  256. package/dist/navigation/NavigationClient.mjs +1 -1
  257. package/dist/network/FetchClient.mjs +1 -1
  258. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  259. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  260. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  261. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  262. package/dist/packageMetadata.d.ts +1 -1
  263. package/dist/packageMetadata.mjs +2 -2
  264. package/dist/protocol/Authorize.d.ts +28 -0
  265. package/dist/protocol/Authorize.d.ts.map +1 -1
  266. package/dist/protocol/Authorize.mjs +53 -2
  267. package/dist/protocol/Authorize.mjs.map +1 -1
  268. package/dist/request/RequestHelpers.mjs +1 -1
  269. package/dist/response/ResponseHandler.mjs +1 -1
  270. package/dist/telemetry/BrowserPerformanceClient.d.ts +1 -0
  271. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  272. package/dist/telemetry/BrowserPerformanceClient.mjs +10 -1
  273. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  274. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  275. package/dist/utils/BrowserConstants.mjs +1 -1
  276. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  277. package/dist/utils/BrowserUtils.mjs +1 -1
  278. package/dist/utils/Helpers.mjs +1 -1
  279. package/dist/utils/MsalFrameStatsUtils.d.ts +10 -0
  280. package/dist/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  281. package/dist/utils/MsalFrameStatsUtils.mjs +18 -2
  282. package/dist/utils/MsalFrameStatsUtils.mjs.map +1 -1
  283. package/lib/custom-auth-path/msal-custom-auth.cjs +298 -111
  284. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  285. package/lib/custom-auth-path/msal-custom-auth.js +298 -111
  286. package/lib/custom-auth-path/msal-custom-auth.js.map +1 -1
  287. package/lib/custom-auth-path/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  288. package/lib/custom-auth-path/types/controllers/StandardController.d.ts +4 -2
  289. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  290. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  291. package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  292. package/lib/custom-auth-path/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  293. package/lib/custom-auth-path/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  294. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  295. package/lib/custom-auth-path/types/protocol/Authorize.d.ts +28 -0
  296. package/lib/custom-auth-path/types/protocol/Authorize.d.ts.map +1 -1
  297. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
  298. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  299. package/lib/custom-auth-path/types/utils/MsalFrameStatsUtils.d.ts +10 -0
  300. package/lib/custom-auth-path/types/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  301. package/lib/msal-browser.cjs +329 -115
  302. package/lib/msal-browser.cjs.map +1 -1
  303. package/lib/msal-browser.js +329 -115
  304. package/lib/msal-browser.js.map +1 -1
  305. package/lib/msal-browser.min.js +64 -64
  306. package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  307. package/lib/types/controllers/StandardController.d.ts +4 -2
  308. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  309. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  310. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  311. package/lib/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  312. package/lib/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  313. package/lib/types/packageMetadata.d.ts +1 -1
  314. package/lib/types/protocol/Authorize.d.ts +28 -0
  315. package/lib/types/protocol/Authorize.d.ts.map +1 -1
  316. package/lib/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
  317. package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  318. package/lib/types/utils/MsalFrameStatsUtils.d.ts +10 -0
  319. package/lib/types/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  320. package/package.json +2 -2
  321. package/src/broker/nativeBroker/PlatformAuthDOMHandler.ts +24 -13
  322. package/src/controllers/StandardController.ts +74 -41
  323. package/src/interaction_client/PlatformAuthInteractionClient.ts +17 -1
  324. package/src/interaction_client/StandardInteractionClient.ts +12 -0
  325. package/src/interaction_handler/SilentHandler.ts +21 -1
  326. package/src/packageMetadata.ts +1 -1
  327. package/src/protocol/Authorize.ts +91 -0
  328. package/src/telemetry/BrowserPerformanceClient.ts +10 -0
  329. package/src/utils/MsalFrameStatsUtils.ts +27 -0
@@ -45,6 +45,90 @@ import { EventHandler } from "../event/EventHandler.js";
45
45
  import { decryptEarResponse } from "../crypto/BrowserCrypto.js";
46
46
  import { IPlatformAuthHandler } from "../broker/nativeBroker/IPlatformAuthHandler.js";
47
47
 
48
+ /**
49
+ * Parsed representation of the clientdata response parameter from the /authorize endpoint.
50
+ *
51
+ * Format: urlencoded(account_type|error|sub_error|cloud_instance|caller_data_boundary)
52
+ */
53
+ type ClientData = {
54
+ /** Account type: MSA, AAD */
55
+ accountType: string;
56
+ /** Error code string (e.g. "0x8004345C" for MSA) */
57
+ error: string;
58
+ /** Sub-error code string (e.g. "0x80043588" for MSA) */
59
+ subError: string;
60
+ /** Cloud instance hostname (e.g. "login.microsoftonline.com") */
61
+ cloudInstance: string;
62
+ /** Caller data boundary (e.g. "none" for MSA) */
63
+ callerDataBoundary: string;
64
+ };
65
+
66
+ const clientDataAccountTypeMapping = new Map([
67
+ ["e", "AAD"],
68
+ ["m", "MSA"],
69
+ ]);
70
+
71
+ /**
72
+ * Parses the clientdata response parameter from the /authorize endpoint.
73
+ *
74
+ * The clientdata value is URL-encoded and pipe-delimited:
75
+ * urlencoded(account_type | error | sub_error | cloud_instance | caller_data_boundary)
76
+ *
77
+ * @param clientdata - The raw clientdata string from the authorize response
78
+ * @returns Parsed ClientData object, or null if the input is empty/invalid
79
+ */
80
+ export function parseClientData(clientdata?: string): ClientData | null {
81
+ if (!clientdata) {
82
+ return null;
83
+ }
84
+
85
+ try {
86
+ const decoded = decodeURIComponent(clientdata);
87
+ const parts = decoded.split("|");
88
+
89
+ if (parts.length < 5) {
90
+ return null;
91
+ }
92
+
93
+ return {
94
+ accountType:
95
+ clientDataAccountTypeMapping.get(parts[0]?.trim() || "") || "",
96
+ error: parts[1]?.trim() || "",
97
+ subError: parts[2]?.trim() || "",
98
+ cloudInstance: parts[3]?.trim() || "",
99
+ callerDataBoundary: parts[4]?.trim() || "",
100
+ };
101
+ } catch {
102
+ return null;
103
+ }
104
+ }
105
+
106
+ /**
107
+ * Instruments account type, error, and suberror from clientdata
108
+ */
109
+ function instrumentClientData(
110
+ response: AuthorizeResponse,
111
+ correlationId: string,
112
+ performanceClient: IPerformanceClient
113
+ ): void {
114
+ const parsed = parseClientData(response.clientdata);
115
+ parsed?.accountType &&
116
+ performanceClient.addFields(
117
+ { accountType: parsed.accountType },
118
+ correlationId
119
+ );
120
+ parsed?.error &&
121
+ performanceClient.addFields(
122
+ { serverErrorNo: parsed.error },
123
+ correlationId
124
+ );
125
+ parsed?.subError &&
126
+ performanceClient.addFields(
127
+ { serverSubErrorNo: parsed.subError },
128
+ correlationId
129
+ );
130
+ }
131
+
48
132
  /**
49
133
  * Returns map of parameters that are applicable to all calls to /authorize whether using PKCE or EAR
50
134
  * @param config
@@ -412,6 +496,10 @@ export async function handleResponseCode(
412
496
  config.auth.clientId,
413
497
  request
414
498
  );
499
+
500
+ // Instrument clientdata telemetry fields from the authorize response
501
+ instrumentClientData(response, request.correlationId, performanceClient);
502
+
415
503
  if (response.accountId) {
416
504
  return invokeAsync(
417
505
  handleResponsePlatformBroker,
@@ -492,6 +580,9 @@ export async function handleResponseEAR(
492
580
  request
493
581
  );
494
582
 
583
+ // Instrument clientdata telemetry fields from the authorize response
584
+ instrumentClientData(response, request.correlationId, performanceClient);
585
+
495
586
  // Validate state & check response for errors
496
587
  AuthorizeProtocol.validateAuthorizationResponse(response, request.state);
497
588
 
@@ -20,6 +20,7 @@ import { name, version } from "../packageMetadata.js";
20
20
  import { BrowserCacheLocation } from "../utils/BrowserConstants.js";
21
21
  import * as BrowserCrypto from "../crypto/BrowserCrypto.js";
22
22
  import { BROWSER_PERF_ENABLED_KEY } from "../cache/CacheKeys.js";
23
+ import { getNetworkInfo } from "../utils/MsalFrameStatsUtils.js";
23
24
 
24
25
  /**
25
26
  * Returns browser performance measurement module if session flag is enabled. Returns undefined otherwise.
@@ -100,6 +101,10 @@ export class BrowserPerformanceClient
100
101
  return document.visibilityState?.toString() || null;
101
102
  }
102
103
 
104
+ private getOnlineStatus(): boolean | null {
105
+ return typeof navigator !== "undefined" ? navigator.onLine : null;
106
+ }
107
+
103
108
  private deleteIncompleteSubMeasurements(
104
109
  inProgressEvent: InProgressPerformanceEvent
105
110
  ): void {
@@ -140,6 +145,7 @@ export class BrowserPerformanceClient
140
145
  ): InProgressPerformanceEvent {
141
146
  // Capture page visibilityState and then invoke start/end measurement
142
147
  const startPageVisibility = this.getPageVisibility();
148
+ const startOnlineStatus = this.getOnlineStatus();
143
149
  const inProgressEvent = super.startMeasurement(
144
150
  measureName,
145
151
  correlationId
@@ -167,12 +173,16 @@ export class BrowserPerformanceClient
167
173
  error?: unknown,
168
174
  account?: AccountInfo
169
175
  ): PerformanceEvent | null => {
176
+ const networkInfo = getNetworkInfo();
170
177
  const res = inProgressEvent.end(
171
178
  {
172
179
  ...event,
173
180
  startPageVisibility,
181
+ startOnlineStatus,
174
182
  endPageVisibility: this.getPageVisibility(),
175
183
  durationMs: getPerfDurationMs(startTime),
184
+ networkEffectiveType: networkInfo.effectiveType,
185
+ networkRtt: networkInfo.rtt,
176
186
  },
177
187
  error,
178
188
  account
@@ -5,6 +5,33 @@
5
5
 
6
6
  import { InProgressPerformanceEvent, Logger } from "@azure/msal-common/browser";
7
7
 
8
+ interface NetworkConnection {
9
+ effectiveType?: string;
10
+ rtt?: number;
11
+ }
12
+
13
+ /**
14
+ * Get network information for telemetry purposes. This is only supported in Chromium-based browsers.
15
+ * @returns Network connection information, or an empty object if not available.
16
+ */
17
+ export function getNetworkInfo(): NetworkConnection {
18
+ if (typeof window === "undefined" || !window.navigator) {
19
+ return {};
20
+ }
21
+ const connection: NetworkConnection | undefined =
22
+ "connection" in window.navigator
23
+ ? (
24
+ window.navigator as Navigator & {
25
+ connection: NetworkConnection;
26
+ }
27
+ ).connection
28
+ : undefined;
29
+ return {
30
+ effectiveType: connection?.effectiveType,
31
+ rtt: connection?.rtt,
32
+ };
33
+ }
34
+
8
35
  export function collectInstanceStats(
9
36
  currentClientId: string,
10
37
  performanceEvent: InProgressPerformanceEvent,