@azure/msal-browser 4.24.1 → 4.25.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 (445) hide show
  1. package/dist/app/IPublicClientApplication.mjs +1 -1
  2. package/dist/app/PublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientNext.mjs +1 -1
  4. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  5. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  6. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  8. package/dist/cache/AccountManager.mjs +1 -1
  9. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  10. package/dist/cache/BrowserCacheManager.mjs +1 -1
  11. package/dist/cache/CacheHelpers.mjs +1 -1
  12. package/dist/cache/CacheKeys.mjs +1 -1
  13. package/dist/cache/CookieStorage.mjs +1 -1
  14. package/dist/cache/DatabaseStorage.mjs +1 -1
  15. package/dist/cache/EncryptedData.mjs +1 -1
  16. package/dist/cache/LocalStorage.mjs +1 -1
  17. package/dist/cache/MemoryStorage.mjs +1 -1
  18. package/dist/cache/SessionStorage.mjs +1 -1
  19. package/dist/cache/TokenCache.mjs +1 -1
  20. package/dist/config/Configuration.mjs +1 -1
  21. package/dist/controllers/ControllerFactory.mjs +1 -1
  22. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  23. package/dist/controllers/StandardController.mjs +1 -1
  24. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  25. package/dist/crypto/BrowserCrypto.mjs +1 -1
  26. package/dist/crypto/CryptoOps.mjs +1 -1
  27. package/dist/crypto/PkceGenerator.mjs +1 -1
  28. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  29. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  30. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  31. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  32. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  33. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  34. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  35. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  36. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  37. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  38. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  39. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  40. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  41. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  42. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  43. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  44. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  45. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  46. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  47. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  48. package/dist/custom-auth-path/controllers/StandardController.mjs +1 -1
  49. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  50. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  51. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  52. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  53. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  54. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  55. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.d.ts +1 -0
  56. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  57. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +25 -2
  58. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs.map +1 -1
  59. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  60. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  61. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +6 -6
  62. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs.map +1 -1
  63. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  64. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  65. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  67. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  69. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +5 -0
  72. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +42 -0
  74. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs.map +1 -0
  75. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +45 -0
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs.map +1 -0
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +45 -0
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs.map +1 -0
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +16 -0
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs.map +1 -0
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +16 -0
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs.map +1 -0
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +125 -0
  84. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs.map +1 -0
  85. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +85 -0
  106. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs.map +1 -0
  107. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +24 -0
  108. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs.map +1 -0
  109. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.d.ts.map +1 -1
  111. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +2 -2
  112. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs.map +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts +1 -0
  119. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts.map +1 -1
  120. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +4 -3
  121. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs.map +1 -1
  122. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  123. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  124. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +4 -3
  125. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs.map +1 -1
  126. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +6 -3
  129. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs.map +1 -1
  130. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  141. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +15 -13
  142. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs.map +1 -1
  143. package/dist/custom-auth-path/custom_auth/index.d.ts +7 -0
  144. package/dist/custom-auth-path/custom_auth/index.d.ts.map +1 -1
  145. package/dist/custom-auth-path/custom_auth/index.mjs +7 -1
  146. package/dist/custom-auth-path/custom_auth/index.mjs.map +1 -1
  147. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.d.ts.map +1 -1
  154. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +3 -1
  155. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs.map +1 -1
  156. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  157. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.d.ts.map +1 -1
  159. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +2 -1
  160. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs.map +1 -1
  161. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts +2 -0
  163. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts.map +1 -1
  164. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts +10 -1
  169. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts.map +1 -1
  170. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +9 -1
  171. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs.map +1 -1
  172. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts +19 -1
  173. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts.map +1 -1
  174. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +17 -1
  175. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs.map +1 -1
  176. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts +10 -1
  177. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts.map +1 -1
  178. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +9 -1
  179. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs.map +1 -1
  180. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  181. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +6 -13
  182. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs.map +1 -1
  183. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  184. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  185. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +5 -33
  186. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs.map +1 -1
  187. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  188. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  189. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +5 -30
  190. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs.map +1 -1
  191. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.d.ts +16 -0
  192. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.d.ts.map +1 -1
  193. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +68 -1
  194. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs.map +1 -1
  195. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +2 -0
  196. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  197. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  198. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  199. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  200. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  201. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  202. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  203. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  204. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  205. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.d.ts.map +1 -1
  206. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +2 -1
  207. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs.map +1 -1
  208. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.d.ts.map +1 -1
  209. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +5 -1
  210. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs.map +1 -1
  211. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  212. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  213. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.d.ts.map +1 -1
  214. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +3 -1
  215. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs.map +1 -1
  216. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  217. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts +2 -0
  218. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts.map +1 -1
  219. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  220. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  221. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  222. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  223. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  224. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  225. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  226. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  227. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  228. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  229. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  230. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  231. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  232. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  233. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  234. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  235. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  236. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  237. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  238. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  239. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  240. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  241. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  242. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  243. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  244. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  245. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  246. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  247. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  248. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  249. package/dist/custom-auth-path/protocol/Authorize.mjs +1 -1
  250. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  251. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  252. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  253. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  254. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  255. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  256. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  257. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  258. package/dist/custom_auth/controller/CustomAuthStandardController.d.ts +1 -0
  259. package/dist/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  260. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  261. package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +5 -0
  262. package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -1
  263. package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.d.ts.map +1 -1
  264. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts +1 -0
  265. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts.map +1 -1
  266. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  267. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  268. package/dist/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  269. package/dist/custom_auth/index.d.ts +7 -0
  270. package/dist/custom_auth/index.d.ts.map +1 -1
  271. package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.d.ts.map +1 -1
  272. package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.d.ts.map +1 -1
  273. package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts +2 -0
  274. package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts.map +1 -1
  275. package/dist/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts +10 -1
  276. package/dist/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts.map +1 -1
  277. package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts +19 -1
  278. package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts.map +1 -1
  279. package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts +10 -1
  280. package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts.map +1 -1
  281. package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  282. package/dist/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  283. package/dist/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  284. package/dist/custom_auth/sign_in/auth_flow/state/SignInState.d.ts +16 -0
  285. package/dist/custom_auth/sign_in/auth_flow/state/SignInState.d.ts.map +1 -1
  286. package/dist/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +2 -0
  287. package/dist/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  288. package/dist/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.d.ts.map +1 -1
  289. package/dist/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.d.ts.map +1 -1
  290. package/dist/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.d.ts.map +1 -1
  291. package/dist/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts +2 -0
  292. package/dist/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts.map +1 -1
  293. package/dist/encode/Base64Decode.mjs +1 -1
  294. package/dist/encode/Base64Encode.mjs +1 -1
  295. package/dist/error/BrowserAuthError.mjs +1 -1
  296. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  297. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  298. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  299. package/dist/error/NativeAuthError.mjs +1 -1
  300. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  301. package/dist/error/NestedAppAuthError.mjs +1 -1
  302. package/dist/event/EventHandler.mjs +1 -1
  303. package/dist/event/EventMessage.mjs +1 -1
  304. package/dist/event/EventType.mjs +1 -1
  305. package/dist/index.mjs +1 -1
  306. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  307. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  308. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  309. package/dist/interaction_client/PopupClient.mjs +1 -1
  310. package/dist/interaction_client/RedirectClient.mjs +1 -1
  311. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  312. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  313. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  314. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  315. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  316. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  317. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  318. package/dist/naa/BridgeError.mjs +1 -1
  319. package/dist/naa/BridgeProxy.mjs +1 -1
  320. package/dist/naa/BridgeStatusCode.mjs +1 -1
  321. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  322. package/dist/navigation/NavigationClient.mjs +1 -1
  323. package/dist/network/FetchClient.mjs +1 -1
  324. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  325. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  326. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  327. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  328. package/dist/packageMetadata.d.ts +1 -1
  329. package/dist/packageMetadata.mjs +2 -2
  330. package/dist/protocol/Authorize.mjs +1 -1
  331. package/dist/request/RequestHelpers.mjs +1 -1
  332. package/dist/response/ResponseHandler.mjs +1 -1
  333. package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
  334. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  335. package/dist/utils/BrowserConstants.mjs +1 -1
  336. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  337. package/dist/utils/BrowserUtils.mjs +1 -1
  338. package/dist/utils/Helpers.mjs +1 -1
  339. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  340. package/lib/custom-auth-path/msal-custom-auth.cjs +890 -468
  341. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  342. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  343. package/lib/custom-auth-path/types/custom_auth/controller/CustomAuthStandardController.d.ts +1 -0
  344. package/lib/custom-auth-path/types/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  345. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  346. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +5 -0
  347. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -1
  348. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.d.ts.map +1 -1
  349. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts +1 -0
  350. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts.map +1 -1
  351. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  352. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  353. package/lib/custom-auth-path/types/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  354. package/lib/custom-auth-path/types/custom_auth/index.d.ts +7 -0
  355. package/lib/custom-auth-path/types/custom_auth/index.d.ts.map +1 -1
  356. package/lib/custom-auth-path/types/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.d.ts.map +1 -1
  357. package/lib/custom-auth-path/types/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.d.ts.map +1 -1
  358. package/lib/custom-auth-path/types/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts +2 -0
  359. package/lib/custom-auth-path/types/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts.map +1 -1
  360. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts +10 -1
  361. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts.map +1 -1
  362. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts +19 -1
  363. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts.map +1 -1
  364. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts +10 -1
  365. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts.map +1 -1
  366. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  367. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  368. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  369. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInState.d.ts +16 -0
  370. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInState.d.ts.map +1 -1
  371. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +2 -0
  372. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  373. package/lib/custom-auth-path/types/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.d.ts.map +1 -1
  374. package/lib/custom-auth-path/types/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.d.ts.map +1 -1
  375. package/lib/custom-auth-path/types/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.d.ts.map +1 -1
  376. package/lib/custom-auth-path/types/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts +2 -0
  377. package/lib/custom-auth-path/types/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts.map +1 -1
  378. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  379. package/lib/msal-browser.cjs +66 -66
  380. package/lib/msal-browser.cjs.map +1 -1
  381. package/lib/msal-browser.js +66 -66
  382. package/lib/msal-browser.js.map +1 -1
  383. package/lib/msal-browser.min.js +60 -60
  384. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  385. package/lib/types/custom_auth/controller/CustomAuthStandardController.d.ts +1 -0
  386. package/lib/types/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  387. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  388. package/lib/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +5 -0
  389. package/lib/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -1
  390. package/lib/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.d.ts.map +1 -1
  391. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts +1 -0
  392. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.d.ts.map +1 -1
  393. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  394. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  395. package/lib/types/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.d.ts.map +1 -1
  396. package/lib/types/custom_auth/index.d.ts +7 -0
  397. package/lib/types/custom_auth/index.d.ts.map +1 -1
  398. package/lib/types/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.d.ts.map +1 -1
  399. package/lib/types/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.d.ts.map +1 -1
  400. package/lib/types/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts +2 -0
  401. package/lib/types/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.d.ts.map +1 -1
  402. package/lib/types/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts +10 -1
  403. package/lib/types/custom_auth/sign_in/auth_flow/result/SignInResult.d.ts.map +1 -1
  404. package/lib/types/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts +19 -1
  405. package/lib/types/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.d.ts.map +1 -1
  406. package/lib/types/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts +10 -1
  407. package/lib/types/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.d.ts.map +1 -1
  408. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  409. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  410. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  411. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInState.d.ts +16 -0
  412. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInState.d.ts.map +1 -1
  413. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +2 -0
  414. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  415. package/lib/types/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.d.ts.map +1 -1
  416. package/lib/types/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.d.ts.map +1 -1
  417. package/lib/types/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.d.ts.map +1 -1
  418. package/lib/types/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts +2 -0
  419. package/lib/types/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.d.ts.map +1 -1
  420. package/lib/types/packageMetadata.d.ts +1 -1
  421. package/package.json +1 -1
  422. package/src/custom_auth/controller/CustomAuthStandardController.ts +33 -0
  423. package/src/custom_auth/core/auth_flow/AuthFlowErrorBase.ts +3 -5
  424. package/src/custom_auth/core/auth_flow/mfa/error_type/MfaError.ts +8 -0
  425. package/src/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.ts +2 -1
  426. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.ts +1 -0
  427. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.ts +1 -0
  428. package/src/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.ts +17 -15
  429. package/src/custom_auth/index.ts +22 -0
  430. package/src/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.ts +2 -0
  431. package/src/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.ts +1 -0
  432. package/src/custom_auth/reset_password/auth_flow/state/ResetPasswordStateParameters.ts +2 -0
  433. package/src/custom_auth/sign_in/auth_flow/result/SignInResult.ts +12 -1
  434. package/src/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.ts +27 -1
  435. package/src/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.ts +14 -1
  436. package/src/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.ts +12 -22
  437. package/src/custom_auth/sign_in/auth_flow/state/SignInContinuationState.ts +8 -50
  438. package/src/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.ts +12 -49
  439. package/src/custom_auth/sign_in/auth_flow/state/SignInState.ts +108 -0
  440. package/src/custom_auth/sign_in/auth_flow/state/SignInStateParameters.ts +2 -0
  441. package/src/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.ts +1 -0
  442. package/src/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.ts +4 -0
  443. package/src/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.ts +2 -0
  444. package/src/custom_auth/sign_up/auth_flow/state/SignUpStateParameters.ts +2 -0
  445. package/src/packageMetadata.ts +1 -1
@@ -14,3 +14,4 @@ export const ATTRIBUTE_VALIATION_FAILED = "attribute_validation_failed";
14
14
  export const NATIVEAUTHAPI_DISABLED = "nativeauthapi_disabled";
15
15
  export const REGISTRATION_REQUIRED = "registration_required";
16
16
  export const MFA_REQUIRED = "mfa_required";
17
+ export const PROVIDER_BLOCKED_BY_REPUTATION = "provider_blocked_by_rep";
@@ -37,12 +37,14 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
37
37
  override async acquireToken(
38
38
  silentRequest: CommonSilentFlowRequest
39
39
  ): Promise<AuthenticationResult> {
40
+ const correlationId = silentRequest.correlationId || this.correlationId;
40
41
  const telemetryManager = this.initializeServerTelemetryManager(
41
42
  PublicApiId.ACCOUNT_GET_ACCESS_TOKEN
42
43
  );
43
44
  const clientConfig = this.getCustomAuthClientConfiguration(
44
45
  telemetryManager,
45
- this.customAuthAuthority
46
+ this.customAuthAuthority,
47
+ correlationId
46
48
  );
47
49
  const silentFlowClient = new SilentFlowClient(
48
50
  clientConfig,
@@ -52,7 +54,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
52
54
  try {
53
55
  this.logger.verbose(
54
56
  "Starting silent flow to acquire token from cache",
55
- this.correlationId
57
+ correlationId
56
58
  );
57
59
 
58
60
  const result = await silentFlowClient.acquireCachedToken(
@@ -61,7 +63,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
61
63
 
62
64
  this.logger.verbose(
63
65
  "Silent flow to acquire token from cache is completed and token is found",
64
- this.correlationId
66
+ correlationId
65
67
  );
66
68
 
67
69
  return result[0] as AuthenticationResult;
@@ -72,7 +74,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
72
74
  ) {
73
75
  this.logger.verbose(
74
76
  "Token refresh is required to acquire token silently",
75
- this.correlationId
77
+ correlationId
76
78
  );
77
79
 
78
80
  const refreshTokenClient = new RefreshTokenClient(
@@ -82,7 +84,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
82
84
 
83
85
  this.logger.verbose(
84
86
  "Starting refresh flow to refresh token",
85
- this.correlationId
87
+ correlationId
86
88
  );
87
89
 
88
90
  const refreshTokenResult =
@@ -92,7 +94,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
92
94
 
93
95
  this.logger.verbose(
94
96
  "Refresh flow to refresh token is completed",
95
- this.correlationId
97
+ correlationId
96
98
  );
97
99
 
98
100
  return refreshTokenResult as AuthenticationResult;
@@ -103,18 +105,17 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
103
105
  }
104
106
 
105
107
  override async logout(logoutRequest?: ClearCacheRequest): Promise<void> {
108
+ const correlationId =
109
+ logoutRequest?.correlationId || this.correlationId;
106
110
  const validLogoutRequest = this.initializeLogoutRequest(logoutRequest);
107
111
 
108
112
  // Clear the cache
109
- this.logger.verbose(
110
- "Start to clear the cache",
111
- logoutRequest?.correlationId
112
- );
113
+ this.logger.verbose("Start to clear the cache", correlationId);
113
114
  await this.clearCacheOnLogout(
114
- validLogoutRequest.correlationId,
115
+ correlationId,
115
116
  validLogoutRequest?.account
116
117
  );
117
- this.logger.verbose("Cache cleared", logoutRequest?.correlationId);
118
+ this.logger.verbose("Cache cleared", correlationId);
118
119
 
119
120
  const postLogoutRedirectUri = this.config.auth.postLogoutRedirectUri;
120
121
 
@@ -126,7 +127,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
126
127
 
127
128
  this.logger.verbose(
128
129
  "Post logout redirect uri is set, redirecting to uri",
129
- logoutRequest?.correlationId
130
+ correlationId
130
131
  );
131
132
 
132
133
  // Redirect to post logout redirect uri
@@ -173,7 +174,8 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
173
174
 
174
175
  private getCustomAuthClientConfiguration(
175
176
  serverTelemetryManager: ServerTelemetryManager,
176
- customAuthAuthority: CustomAuthAuthority
177
+ customAuthAuthority: CustomAuthAuthority,
178
+ correlationId: string
177
179
  ): ClientConfiguration {
178
180
  const logger = this.config.system.loggerOptions;
179
181
 
@@ -193,7 +195,7 @@ export class CustomAuthSilentCacheClient extends CustomAuthInteractionClientBase
193
195
  loggerCallback: logger.loggerCallback,
194
196
  piiLoggingEnabled: logger.piiLoggingEnabled,
195
197
  logLevel: logger.logLevel,
196
- correlationId: this.correlationId,
198
+ correlationId: correlationId,
197
199
  },
198
200
  cacheOptions: {
199
201
  claimsBasedCachingEnabled:
@@ -212,5 +212,27 @@ export {
212
212
  // Auth Method Registration Types
213
213
  export { AuthMethodDetails } from "./core/auth_flow/jit/AuthMethodDetails.js";
214
214
 
215
+ // MFA State
216
+ export { MfaAwaitingState } from "./core/auth_flow/mfa/state/MfaState.js";
217
+ export { MfaVerificationRequiredState } from "./core/auth_flow/mfa/state/MfaState.js";
218
+ export { MfaCompletedState } from "./core/auth_flow/mfa/state/MfaCompletedState.js";
219
+ export { MfaFailedState } from "./core/auth_flow/mfa/state/MfaFailedState.js";
220
+
221
+ // MFA Results
222
+ export {
223
+ MfaRequestChallengeResult,
224
+ MfaRequestChallengeResultState,
225
+ } from "./core/auth_flow/mfa/result/MfaRequestChallengeResult.js";
226
+ export {
227
+ MfaSubmitChallengeResult,
228
+ MfaSubmitChallengeResultState,
229
+ } from "./core/auth_flow/mfa/result/MfaSubmitChallengeResult.js";
230
+
231
+ // MFA Errors
232
+ export {
233
+ MfaRequestChallengeError,
234
+ MfaSubmitChallengeError,
235
+ } from "./core/auth_flow/mfa/error_type/MfaError.js";
236
+
215
237
  // Components from msal_browser
216
238
  export { LogLevel } from "@azure/msal-common/browser";
@@ -56,6 +56,7 @@ export class ResetPasswordCodeRequiredState extends ResetPasswordState<ResetPass
56
56
  signInClient: this.stateParameters.signInClient,
57
57
  cacheClient: this.stateParameters.cacheClient,
58
58
  jitClient: this.stateParameters.jitClient,
59
+ mfaClient: this.stateParameters.mfaClient,
59
60
  username: this.stateParameters.username,
60
61
  })
61
62
  );
@@ -108,6 +109,7 @@ export class ResetPasswordCodeRequiredState extends ResetPasswordState<ResetPass
108
109
  signInClient: this.stateParameters.signInClient,
109
110
  cacheClient: this.stateParameters.cacheClient,
110
111
  jitClient: this.stateParameters.jitClient,
112
+ mfaClient: this.stateParameters.mfaClient,
111
113
  username: this.stateParameters.username,
112
114
  codeLength: result.codeLength,
113
115
  })
@@ -59,6 +59,7 @@ export class ResetPasswordPasswordRequiredState extends ResetPasswordState<Reset
59
59
  signInClient: this.stateParameters.signInClient,
60
60
  cacheClient: this.stateParameters.cacheClient,
61
61
  jitClient: this.stateParameters.jitClient,
62
+ mfaClient: this.stateParameters.mfaClient,
62
63
  signInScenario: SignInScenario.SignInAfterPasswordReset,
63
64
  })
64
65
  );
@@ -8,6 +8,7 @@ import { SignInClient } from "../../../sign_in/interaction_client/SignInClient.j
8
8
  import { CustomAuthSilentCacheClient } from "../../../get_account/interaction_client/CustomAuthSilentCacheClient.js";
9
9
  import { AuthFlowActionRequiredStateParameters } from "../../../core/auth_flow/AuthFlowState.js";
10
10
  import { JitClient } from "../../../core/interaction_client/jit/JitClient.js";
11
+ import { MfaClient } from "../../../core/interaction_client/mfa/MfaClient.js";
11
12
 
12
13
  export interface ResetPasswordStateParameters
13
14
  extends AuthFlowActionRequiredStateParameters {
@@ -16,6 +17,7 @@ export interface ResetPasswordStateParameters
16
17
  signInClient: SignInClient;
17
18
  cacheClient: CustomAuthSilentCacheClient;
18
19
  jitClient: JitClient;
20
+ mfaClient: MfaClient;
19
21
  }
20
22
 
21
23
  export type ResetPasswordPasswordRequiredStateParameters =
@@ -11,6 +11,7 @@ import { SignInPasswordRequiredState } from "../state/SignInPasswordRequiredStat
11
11
  import { SignInFailedState } from "../state/SignInFailedState.js";
12
12
  import { SignInCompletedState } from "../state/SignInCompletedState.js";
13
13
  import { AuthMethodRegistrationRequiredState } from "../../../core/auth_flow/jit/state/AuthMethodRegistrationState.js";
14
+ import { MfaAwaitingState } from "../../../core/auth_flow/mfa/state/MfaState.js";
14
15
 
15
16
  /*
16
17
  * Result of a sign-in operation.
@@ -81,6 +82,14 @@ export class SignInResult extends AuthFlowResultBase<
81
82
  } {
82
83
  return this.state instanceof AuthMethodRegistrationRequiredState;
83
84
  }
85
+
86
+ /**
87
+ * Checks if the result requires MFA.
88
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
89
+ */
90
+ isMfaRequired(): this is SignInResult & { state: MfaAwaitingState } {
91
+ return this.state instanceof MfaAwaitingState;
92
+ }
84
93
  }
85
94
 
86
95
  /**
@@ -91,10 +100,12 @@ export class SignInResult extends AuthFlowResultBase<
91
100
  * - SignInFailedState: The sign-in process has failed.
92
101
  * - SignInCompletedState: The sign-in process is completed.
93
102
  * - AuthMethodRegistrationRequiredState: The sign-in process requires authentication method registration.
103
+ * - MfaAwaitingState: The sign-in process requires MFA.
94
104
  */
95
105
  export type SignInResultState =
96
106
  | SignInCodeRequiredState
97
107
  | SignInPasswordRequiredState
98
108
  | SignInFailedState
99
109
  | SignInCompletedState
100
- | AuthMethodRegistrationRequiredState;
110
+ | AuthMethodRegistrationRequiredState
111
+ | MfaAwaitingState;
@@ -8,6 +8,8 @@ import { SignInCompletedState } from "../state/SignInCompletedState.js";
8
8
  import { SignInFailedState } from "../state/SignInFailedState.js";
9
9
  import { AuthFlowResultBase } from "../../../core/auth_flow/AuthFlowResultBase.js";
10
10
  import { CustomAuthAccountData } from "../../../get_account/auth_flow/CustomAuthAccountData.js";
11
+ import { AuthMethodRegistrationRequiredState } from "../../../core/auth_flow/jit/state/AuthMethodRegistrationState.js";
12
+ import { MfaAwaitingState } from "../../../core/auth_flow/mfa/state/MfaState.js";
11
13
 
12
14
  /*
13
15
  * Result of a sign-in submit code operation.
@@ -46,6 +48,26 @@ export class SignInSubmitCodeResult extends AuthFlowResultBase<
46
48
  } {
47
49
  return this.state instanceof SignInCompletedState;
48
50
  }
51
+
52
+ /**
53
+ * Checks if the result requires authentication method registration.
54
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
55
+ */
56
+ isAuthMethodRegistrationRequired(): this is SignInSubmitCodeResult & {
57
+ state: AuthMethodRegistrationRequiredState;
58
+ } {
59
+ return this.state instanceof AuthMethodRegistrationRequiredState;
60
+ }
61
+
62
+ /**
63
+ * Checks if the result requires MFA.
64
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
65
+ */
66
+ isMfaRequired(): this is SignInSubmitCodeResult & {
67
+ state: MfaAwaitingState;
68
+ } {
69
+ return this.state instanceof MfaAwaitingState;
70
+ }
49
71
  }
50
72
 
51
73
  /**
@@ -53,7 +75,11 @@ export class SignInSubmitCodeResult extends AuthFlowResultBase<
53
75
  * This includes:
54
76
  * - SignInCompletedState: The sign-in process has completed successfully.
55
77
  * - SignInFailedState: The sign-in process has failed.
78
+ * - AuthMethodRegistrationRequiredState: The user needs to register an authentication method.
79
+ * - MfaAwaitingState: The user is in a multi-factor authentication (MFA) waiting state.
56
80
  */
57
81
  export type SignInSubmitCodeResultState =
58
82
  | SignInCompletedState
59
- | SignInFailedState;
83
+ | SignInFailedState
84
+ | AuthMethodRegistrationRequiredState
85
+ | MfaAwaitingState;
@@ -9,6 +9,7 @@ import { SignInFailedState } from "../state/SignInFailedState.js";
9
9
  import { AuthFlowResultBase } from "../../../core/auth_flow/AuthFlowResultBase.js";
10
10
  import { CustomAuthAccountData } from "../../../get_account/auth_flow/CustomAuthAccountData.js";
11
11
  import { AuthMethodRegistrationRequiredState } from "../../../core/auth_flow/jit/state/AuthMethodRegistrationState.js";
12
+ import { MfaAwaitingState } from "../../../core/auth_flow/mfa/state/MfaState.js";
12
13
 
13
14
  /*
14
15
  * Result of a sign-in submit password operation.
@@ -54,6 +55,16 @@ export class SignInSubmitPasswordResult extends AuthFlowResultBase<
54
55
  } {
55
56
  return this.state instanceof AuthMethodRegistrationRequiredState;
56
57
  }
58
+
59
+ /**
60
+ * Checks if the result requires MFA.
61
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
62
+ */
63
+ isMfaRequired(): this is SignInSubmitPasswordResult & {
64
+ state: MfaAwaitingState;
65
+ } {
66
+ return this.state instanceof MfaAwaitingState;
67
+ }
57
68
  }
58
69
 
59
70
  /**
@@ -62,8 +73,10 @@ export class SignInSubmitPasswordResult extends AuthFlowResultBase<
62
73
  * - SignInCompletedState: The sign-in process has completed successfully.
63
74
  * - SignInFailedState: The sign-in process has failed.
64
75
  * - AuthMethodRegistrationRequiredState: The sign-in process requires authentication method registration.
76
+ * - MfaAwaitingState: The sign-in process requires MFA.
65
77
  */
66
78
  export type SignInSubmitPasswordResultState =
67
79
  | SignInCompletedState
68
80
  | SignInFailedState
69
- | AuthMethodRegistrationRequiredState;
81
+ | AuthMethodRegistrationRequiredState
82
+ | MfaAwaitingState;
@@ -3,7 +3,6 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { CustomAuthAccountData } from "../../../get_account/auth_flow/CustomAuthAccountData.js";
7
6
  import {
8
7
  SignInResendCodeParams,
9
8
  SignInSubmitCodeParams,
@@ -12,8 +11,6 @@ import { SignInResendCodeResult } from "../result/SignInResendCodeResult.js";
12
11
  import { SignInSubmitCodeResult } from "../result/SignInSubmitCodeResult.js";
13
12
  import { SignInCodeRequiredStateParameters } from "./SignInStateParameters.js";
14
13
  import { SignInState } from "./SignInState.js";
15
- import { SignInCompletedState } from "./SignInCompletedState.js";
16
- import { SIGN_IN_COMPLETED_RESULT_TYPE } from "../../interaction_client/result/SignInActionResult.js";
17
14
 
18
15
  /*
19
16
  * Sign-in code required state.
@@ -56,27 +53,19 @@ export class SignInCodeRequiredState extends SignInState<SignInCodeRequiredState
56
53
  this.stateParameters.correlationId
57
54
  );
58
55
 
59
- if (submitCodeResult.type === SIGN_IN_COMPLETED_RESULT_TYPE) {
60
- const accountInfo = new CustomAuthAccountData(
61
- submitCodeResult.authenticationResult.account,
62
- this.stateParameters.config,
63
- this.stateParameters.cacheClient,
64
- this.stateParameters.logger,
65
- this.stateParameters.correlationId
66
- );
56
+ const nextState = this.handleSignInResult(
57
+ submitCodeResult,
58
+ this.stateParameters.scopes
59
+ );
67
60
 
68
- return new SignInSubmitCodeResult(
69
- new SignInCompletedState(),
70
- accountInfo
71
- );
72
- } else {
73
- // Unexpected result type
74
- const result = submitCodeResult as { type: string };
75
- const error = new Error(
76
- `Unexpected result type: ${result.type}`
77
- );
78
- return SignInSubmitCodeResult.createWithError(error);
61
+ if (nextState.error) {
62
+ return SignInSubmitCodeResult.createWithError(nextState.error);
79
63
  }
64
+
65
+ return new SignInSubmitCodeResult(
66
+ nextState.state,
67
+ nextState.accountInfo
68
+ );
80
69
  } catch (error) {
81
70
  this.stateParameters.logger.errorPii(
82
71
  `Failed to submit code for sign-in. Error: ${error}.`,
@@ -125,6 +114,7 @@ export class SignInCodeRequiredState extends SignInState<SignInCodeRequiredState
125
114
  signInClient: this.stateParameters.signInClient,
126
115
  cacheClient: this.stateParameters.cacheClient,
127
116
  jitClient: this.stateParameters.jitClient,
117
+ mfaClient: this.stateParameters.mfaClient,
128
118
  username: this.stateParameters.username,
129
119
  codeLength: result.codeLength,
130
120
  scopes: this.stateParameters.scopes,
@@ -3,18 +3,11 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { CustomAuthAccountData } from "../../../get_account/auth_flow/CustomAuthAccountData.js";
7
6
  import { SignInContinuationTokenParams } from "../../interaction_client/parameter/SignInParams.js";
8
7
  import { SignInResult } from "../result/SignInResult.js";
9
8
  import { SignInWithContinuationTokenInputs } from "../../../CustomAuthActionInputs.js";
10
9
  import { SignInContinuationStateParameters } from "./SignInStateParameters.js";
11
10
  import { SignInState } from "./SignInState.js";
12
- import { SignInCompletedState } from "./SignInCompletedState.js";
13
- import {
14
- SIGN_IN_JIT_REQUIRED_RESULT_TYPE,
15
- SIGN_IN_COMPLETED_RESULT_TYPE,
16
- } from "../../interaction_client/result/SignInActionResult.js";
17
- import { AuthMethodRegistrationRequiredState } from "../../../core/auth_flow/jit/state/AuthMethodRegistrationState.js";
18
11
  import * as ArgumentValidator from "../../../core/utils/ArgumentValidator.js";
19
12
 
20
13
  /*
@@ -65,51 +58,16 @@ export class SignInContinuationState extends SignInState<SignInContinuationState
65
58
  this.stateParameters.correlationId
66
59
  );
67
60
 
68
- if (signInResult.type === SIGN_IN_COMPLETED_RESULT_TYPE) {
69
- // Sign-in completed successfully
70
- const accountInfo = new CustomAuthAccountData(
71
- signInResult.authenticationResult.account,
72
- this.stateParameters.config,
73
- this.stateParameters.cacheClient,
74
- this.stateParameters.logger,
75
- this.stateParameters.correlationId
76
- );
77
-
78
- return new SignInResult(
79
- new SignInCompletedState(),
80
- accountInfo
81
- );
82
- } else if (signInResult.type === SIGN_IN_JIT_REQUIRED_RESULT_TYPE) {
83
- // JIT is required
84
- this.stateParameters.logger.warning(
85
- "Auth method registration required during continuation token sign-in.",
86
- this.stateParameters.correlationId
87
- );
88
-
89
- // Return AuthMethodRegistrationRequiredState to handle JIT scenario
90
- const authMethodRegistrationState =
91
- new AuthMethodRegistrationRequiredState({
92
- correlationId: this.stateParameters.correlationId,
93
- continuationToken: signInResult.continuationToken,
94
- logger: this.stateParameters.logger,
95
- config: this.stateParameters.config,
96
- jitClient: this.stateParameters.jitClient,
97
- cacheClient: this.stateParameters.cacheClient,
98
- authMethods: signInResult.authMethods,
99
- username: this.stateParameters.username,
100
- scopes: signInWithContinuationTokenInputs?.scopes ?? [],
101
- claims: this.stateParameters.claims,
102
- });
61
+ const nextState = this.handleSignInResult(
62
+ signInResult,
63
+ signInWithContinuationTokenInputs?.scopes
64
+ );
103
65
 
104
- return new SignInResult(authMethodRegistrationState);
105
- } else {
106
- // Unexpected result type
107
- const result = signInResult as { type: string };
108
- const error = new Error(
109
- `Unexpected result type: ${result.type}`
110
- );
111
- return SignInResult.createWithError(error);
66
+ if (nextState.error) {
67
+ return SignInResult.createWithError(nextState.error);
112
68
  }
69
+
70
+ return new SignInResult(nextState.state, nextState.accountInfo);
113
71
  } catch (error) {
114
72
  this.stateParameters.logger.errorPii(
115
73
  `Failed to sign in with continuation token. Error: ${error}.`,
@@ -3,17 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- import { CustomAuthAccountData } from "../../../get_account/auth_flow/CustomAuthAccountData.js";
7
6
  import { SignInSubmitPasswordParams } from "../../interaction_client/parameter/SignInParams.js";
8
7
  import { SignInSubmitPasswordResult } from "../result/SignInSubmitPasswordResult.js";
9
- import { SignInCompletedState } from "./SignInCompletedState.js";
10
8
  import { SignInState } from "./SignInState.js";
11
9
  import { SignInPasswordRequiredStateParameters } from "./SignInStateParameters.js";
12
- import {
13
- SIGN_IN_COMPLETED_RESULT_TYPE,
14
- SIGN_IN_JIT_REQUIRED_RESULT_TYPE,
15
- } from "../../interaction_client/result/SignInActionResult.js";
16
- import { AuthMethodRegistrationRequiredState } from "../../../core/auth_flow/jit/state/AuthMethodRegistrationState.js";
17
10
 
18
11
  /*
19
12
  * Sign-in password required state.
@@ -57,51 +50,21 @@ export class SignInPasswordRequiredState extends SignInState<SignInPasswordRequi
57
50
  this.stateParameters.correlationId
58
51
  );
59
52
 
60
- if (submitPasswordResult.type === SIGN_IN_COMPLETED_RESULT_TYPE) {
61
- const accountInfo = new CustomAuthAccountData(
62
- submitPasswordResult.authenticationResult.account,
63
- this.stateParameters.config,
64
- this.stateParameters.cacheClient,
65
- this.stateParameters.logger,
66
- this.stateParameters.correlationId
67
- );
68
-
69
- return new SignInSubmitPasswordResult(
70
- new SignInCompletedState(),
71
- accountInfo
72
- );
73
- } else if (
74
- submitPasswordResult.type === SIGN_IN_JIT_REQUIRED_RESULT_TYPE
75
- ) {
76
- // JIT is required - return AuthMethodRegistrationRequiredState
77
- this.stateParameters.logger.verbose(
78
- "Authentication method registration required after password submission.",
79
- this.stateParameters.correlationId
80
- );
53
+ const nextState = this.handleSignInResult(
54
+ submitPasswordResult,
55
+ this.stateParameters.scopes
56
+ );
81
57
 
82
- return new SignInSubmitPasswordResult(
83
- new AuthMethodRegistrationRequiredState({
84
- correlationId: this.stateParameters.correlationId,
85
- continuationToken:
86
- submitPasswordResult.continuationToken,
87
- logger: this.stateParameters.logger,
88
- config: this.stateParameters.config,
89
- jitClient: this.stateParameters.jitClient,
90
- cacheClient: this.stateParameters.cacheClient,
91
- authMethods: submitPasswordResult.authMethods,
92
- username: this.stateParameters.username,
93
- scopes: this.stateParameters.scopes ?? [],
94
- claims: this.stateParameters.claims,
95
- })
96
- );
97
- } else {
98
- // Unexpected result type
99
- const result = submitPasswordResult as { type: string };
100
- const error = new Error(
101
- `Unexpected result type: ${result.type}`
58
+ if (nextState.error) {
59
+ return SignInSubmitPasswordResult.createWithError(
60
+ nextState.error
102
61
  );
103
- return SignInSubmitPasswordResult.createWithError(error);
104
62
  }
63
+
64
+ return new SignInSubmitPasswordResult(
65
+ nextState.state,
66
+ nextState.accountInfo
67
+ );
105
68
  } catch (error) {
106
69
  this.stateParameters.logger.errorPii(
107
70
  `Failed to sign in after submitting password. Error: ${error}.`,
@@ -4,7 +4,20 @@
4
4
  */
5
5
 
6
6
  import { AuthFlowActionRequiredStateBase } from "../../../core/auth_flow/AuthFlowState.js";
7
+ import { AuthMethodRegistrationRequiredState } from "../../../core/auth_flow/jit/state/AuthMethodRegistrationState.js";
8
+ import { MfaAwaitingState } from "../../../core/auth_flow/mfa/state/MfaState.js";
7
9
  import { ensureArgumentIsNotEmptyString } from "../../../core/utils/ArgumentValidator.js";
10
+ import { CustomAuthAccountData } from "../../../get_account/auth_flow/CustomAuthAccountData.js";
11
+ import {
12
+ SIGN_IN_COMPLETED_RESULT_TYPE,
13
+ SIGN_IN_JIT_REQUIRED_RESULT_TYPE,
14
+ SIGN_IN_MFA_REQUIRED_RESULT_TYPE,
15
+ SignInCompletedResult,
16
+ SignInJitRequiredResult,
17
+ SignInMfaRequiredResult,
18
+ } from "../../interaction_client/result/SignInActionResult.js";
19
+ import { SignInCompletedState } from "./SignInCompletedState.js";
20
+ import { SignInFailedState } from "./SignInFailedState.js";
8
21
  import { SignInStateParameters } from "./SignInStateParameters.js";
9
22
 
10
23
  /*
@@ -31,4 +44,99 @@ export abstract class SignInState<
31
44
  stateParameters.correlationId
32
45
  );
33
46
  }
47
+
48
+ /**
49
+ * Handles the result of a sign-in attempt.
50
+ * @param result - The result of the sign-in attempt.
51
+ * @param scopes - The scopes requested for the sign-in.
52
+ * @returns An object containing the next state and account information, if applicable.
53
+ */
54
+ protected handleSignInResult(
55
+ result:
56
+ | SignInCompletedResult
57
+ | SignInJitRequiredResult
58
+ | SignInMfaRequiredResult,
59
+ scopes?: string[]
60
+ ): {
61
+ state:
62
+ | SignInCompletedState
63
+ | AuthMethodRegistrationRequiredState
64
+ | MfaAwaitingState;
65
+ accountInfo?: CustomAuthAccountData;
66
+ error?: Error;
67
+ } {
68
+ const correlationId =
69
+ result.correlationId || this.stateParameters.correlationId;
70
+
71
+ if (result.type === SIGN_IN_COMPLETED_RESULT_TYPE) {
72
+ // Sign-in completed - return SignInCompletedState
73
+ this.stateParameters.logger.verbose(
74
+ "Sign-in completed successfully.",
75
+ correlationId
76
+ );
77
+
78
+ const accountInfo = new CustomAuthAccountData(
79
+ result.authenticationResult.account,
80
+ this.stateParameters.config,
81
+ this.stateParameters.cacheClient,
82
+ this.stateParameters.logger,
83
+ correlationId
84
+ );
85
+
86
+ return {
87
+ state: new SignInCompletedState(),
88
+ accountInfo: accountInfo,
89
+ };
90
+ } else if (result.type === SIGN_IN_JIT_REQUIRED_RESULT_TYPE) {
91
+ // JIT is required - return AuthMethodRegistrationRequiredState
92
+ this.stateParameters.logger.verbose(
93
+ "Authentication method registration is required during sign-in.",
94
+ correlationId
95
+ );
96
+
97
+ return {
98
+ state: new AuthMethodRegistrationRequiredState({
99
+ correlationId: correlationId,
100
+ continuationToken: result.continuationToken,
101
+ logger: this.stateParameters.logger,
102
+ config: this.stateParameters.config,
103
+ jitClient: this.stateParameters.jitClient,
104
+ cacheClient: this.stateParameters.cacheClient,
105
+ authMethods: result.authMethods,
106
+ username: this.stateParameters.username,
107
+ scopes: scopes ?? [],
108
+ claims: this.stateParameters.claims,
109
+ }),
110
+ };
111
+ } else if (result.type === SIGN_IN_MFA_REQUIRED_RESULT_TYPE) {
112
+ // MFA is required - return MfaAwaitingState
113
+ this.stateParameters.logger.verbose(
114
+ "MFA is required during the sign-in.",
115
+ correlationId
116
+ );
117
+
118
+ return {
119
+ state: new MfaAwaitingState({
120
+ correlationId: correlationId,
121
+ continuationToken: result.continuationToken,
122
+ logger: this.stateParameters.logger,
123
+ config: this.stateParameters.config,
124
+ mfaClient: this.stateParameters.mfaClient,
125
+ cacheClient: this.stateParameters.cacheClient,
126
+ scopes: scopes ?? [],
127
+ authMethods: result.authMethods ?? [],
128
+ }),
129
+ };
130
+ } else {
131
+ // Unexpected result type
132
+ const unexpectedResult = result as { type: string };
133
+ const error = new Error(
134
+ `Unexpected result type: ${unexpectedResult.type}`
135
+ );
136
+ return {
137
+ state: new SignInFailedState(),
138
+ error: error,
139
+ };
140
+ }
141
+ }
34
142
  }