@azure/msal-browser 4.23.0 → 4.24.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 (495) 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.d.ts.map +1 -1
  23. package/dist/controllers/NestedAppAuthController.mjs +15 -15
  24. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  25. package/dist/controllers/StandardController.d.ts.map +1 -1
  26. package/dist/controllers/StandardController.mjs +24 -51
  27. package/dist/controllers/StandardController.mjs.map +1 -1
  28. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  29. package/dist/crypto/BrowserCrypto.mjs +1 -1
  30. package/dist/crypto/CryptoOps.mjs +1 -1
  31. package/dist/crypto/PkceGenerator.mjs +1 -1
  32. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  33. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  34. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  35. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  36. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  37. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  38. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  39. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  40. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  41. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  42. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  43. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  44. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  45. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  46. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  47. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  48. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  50. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  51. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  52. package/dist/custom-auth-path/controllers/NestedAppAuthController.d.ts.map +1 -1
  53. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  54. package/dist/custom-auth-path/controllers/StandardController.mjs +24 -51
  55. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  56. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  57. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  58. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  59. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +2 -1
  60. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  61. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +2 -1
  62. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs.map +1 -1
  63. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  64. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  65. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  67. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +11 -3
  69. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs.map +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  73. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +9 -2
  75. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs.map +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  84. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  85. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  86. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  87. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  88. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  89. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  90. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  91. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  92. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  93. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  94. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  95. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +2 -2
  112. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  114. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  115. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +4 -26
  116. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs.map +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  118. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  119. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  120. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  121. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +2 -9
  122. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs.map +1 -1
  123. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  124. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  125. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  126. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  127. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  128. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  129. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  132. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  133. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +3 -2
  134. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs.map +1 -1
  135. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  138. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  139. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +14 -3
  140. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs.map +1 -1
  141. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  144. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  145. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  146. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  147. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  148. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  149. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +4 -3
  150. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs.map +1 -1
  151. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  154. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  155. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +4 -5
  156. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs.map +1 -1
  157. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  161. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  169. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  170. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  171. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  172. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  173. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  174. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  175. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  176. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  177. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  178. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  179. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  180. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  181. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  182. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  183. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  184. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  185. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  186. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  187. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  188. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +13 -4
  189. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs.map +1 -1
  190. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  191. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  192. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  193. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  194. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  195. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  196. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  197. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +51 -29
  198. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs.map +1 -1
  199. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  200. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  201. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +9 -2
  202. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs.map +1 -1
  203. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  204. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  205. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  206. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  207. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  208. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  209. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  210. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +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.mjs +1 -1
  214. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  215. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  216. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  217. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  218. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  219. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  220. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  221. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  222. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  223. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  224. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  225. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  226. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  227. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  228. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  229. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  230. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  231. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  232. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  233. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  234. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  235. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  236. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  237. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  238. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  239. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  240. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  241. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  242. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  243. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  244. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  245. package/dist/custom-auth-path/protocol/Authorize.mjs +1 -1
  246. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  247. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  248. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  249. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  250. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  251. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  252. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  253. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  254. package/dist/custom_auth/CustomAuthConstants.d.ts +2 -1
  255. package/dist/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  256. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  257. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  258. package/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  259. package/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  260. package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  261. package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  262. package/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  263. package/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  264. package/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  265. package/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  266. package/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  267. package/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  268. package/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  269. package/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  270. package/dist/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  271. package/dist/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  272. package/dist/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  273. package/dist/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  274. package/dist/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  275. package/dist/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  276. package/dist/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  277. package/dist/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  278. package/dist/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  279. package/dist/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  280. package/dist/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  281. package/dist/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  282. package/dist/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  283. package/dist/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  284. package/dist/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  285. package/dist/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  286. package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  287. package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  288. package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  289. package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  290. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  291. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  292. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  293. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  294. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  295. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  296. package/dist/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  297. package/dist/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  298. package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  299. package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  300. package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  301. package/dist/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  302. package/dist/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  303. package/dist/encode/Base64Decode.mjs +1 -1
  304. package/dist/encode/Base64Encode.mjs +1 -1
  305. package/dist/error/BrowserAuthError.mjs +1 -1
  306. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  307. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  308. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  309. package/dist/error/NativeAuthError.mjs +1 -1
  310. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  311. package/dist/error/NestedAppAuthError.mjs +1 -1
  312. package/dist/event/EventHandler.mjs +1 -1
  313. package/dist/event/EventMessage.mjs +1 -1
  314. package/dist/event/EventType.mjs +1 -1
  315. package/dist/index.mjs +1 -1
  316. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  317. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  318. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  319. package/dist/interaction_client/PopupClient.mjs +1 -1
  320. package/dist/interaction_client/RedirectClient.mjs +1 -1
  321. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  322. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  323. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  324. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  325. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  326. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  327. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  328. package/dist/naa/BridgeError.mjs +1 -1
  329. package/dist/naa/BridgeProxy.mjs +1 -1
  330. package/dist/naa/BridgeStatusCode.mjs +1 -1
  331. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  332. package/dist/navigation/NavigationClient.mjs +1 -1
  333. package/dist/network/FetchClient.mjs +1 -1
  334. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  335. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  336. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  337. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  338. package/dist/packageMetadata.d.ts +1 -1
  339. package/dist/packageMetadata.mjs +2 -2
  340. package/dist/protocol/Authorize.mjs +1 -1
  341. package/dist/request/RequestHelpers.mjs +1 -1
  342. package/dist/response/ResponseHandler.mjs +1 -1
  343. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  344. package/dist/telemetry/BrowserPerformanceClient.mjs +3 -3
  345. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  346. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  347. package/dist/utils/BrowserConstants.mjs +1 -1
  348. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  349. package/dist/utils/BrowserUtils.mjs +1 -1
  350. package/dist/utils/Helpers.mjs +1 -1
  351. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  352. package/lib/custom-auth-path/msal-custom-auth.cjs +230 -215
  353. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  354. package/lib/custom-auth-path/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  355. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  356. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +2 -1
  357. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  358. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  359. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  360. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  361. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  362. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  363. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  364. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  365. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  366. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  367. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  368. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  369. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  370. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  371. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  372. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  373. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  374. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  375. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  376. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  377. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  378. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  379. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  380. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  381. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  382. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  383. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  384. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  385. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  386. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  387. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  388. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  389. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  390. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  391. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  392. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  393. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  394. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  395. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  396. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  397. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  398. package/lib/custom-auth-path/types/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  399. package/lib/custom-auth-path/types/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  400. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  401. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  402. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  403. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  404. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  405. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  406. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  407. package/lib/msal-browser.cjs +133 -136
  408. package/lib/msal-browser.cjs.map +1 -1
  409. package/lib/msal-browser.js +133 -136
  410. package/lib/msal-browser.js.map +1 -1
  411. package/lib/msal-browser.min.js +60 -60
  412. package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  413. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  414. package/lib/types/custom_auth/CustomAuthConstants.d.ts +2 -1
  415. package/lib/types/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  416. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  417. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  418. package/lib/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  419. package/lib/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  420. package/lib/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  421. package/lib/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  422. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  423. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  424. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  425. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  426. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  427. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  428. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  429. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  430. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  431. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  432. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  433. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  434. package/lib/types/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  435. package/lib/types/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  436. package/lib/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  437. package/lib/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  438. package/lib/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  439. package/lib/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  440. package/lib/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  441. package/lib/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  442. package/lib/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  443. package/lib/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  444. package/lib/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  445. package/lib/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  446. package/lib/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  447. package/lib/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  448. package/lib/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  449. package/lib/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  450. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  451. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  452. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  453. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  454. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  455. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  456. package/lib/types/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  457. package/lib/types/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  458. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  459. package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  460. package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  461. package/lib/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  462. package/lib/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  463. package/lib/types/packageMetadata.d.ts +1 -1
  464. package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  465. package/package.json +2 -2
  466. package/src/controllers/NestedAppAuthController.ts +40 -23
  467. package/src/controllers/StandardController.ts +97 -79
  468. package/src/custom_auth/CustomAuthConstants.ts +1 -0
  469. package/src/custom_auth/core/auth_flow/AuthFlowErrorBase.ts +15 -2
  470. package/src/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.ts +9 -1
  471. package/src/custom_auth/core/auth_flow/mfa/error_type/MfaError.ts +32 -0
  472. package/src/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.ts +59 -0
  473. package/src/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.ts +52 -0
  474. package/src/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.ts +11 -0
  475. package/src/custom_auth/core/auth_flow/mfa/state/MfaFailedState.ts +11 -0
  476. package/src/custom_auth/core/auth_flow/mfa/state/MfaState.ts +188 -0
  477. package/src/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.ts +28 -0
  478. package/src/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.ts +1 -1
  479. package/src/custom_auth/core/interaction_client/jit/JitClient.ts +1 -42
  480. package/src/custom_auth/core/interaction_client/jit/parameter/JitParams.ts +0 -2
  481. package/src/custom_auth/core/interaction_client/jit/result/JitActionResult.ts +2 -22
  482. package/src/custom_auth/core/interaction_client/mfa/MfaClient.ts +148 -0
  483. package/src/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.ts +20 -0
  484. package/src/custom_auth/core/interaction_client/mfa/result/MfaActionResult.ts +48 -0
  485. package/src/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.ts +1 -0
  486. package/src/custom_auth/core/network_client/custom_auth_api/SignInApiClient.ts +27 -1
  487. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.ts +6 -0
  488. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.ts +6 -1
  489. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.ts +1 -0
  490. package/src/custom_auth/core/telemetry/PublicApiId.ts +6 -3
  491. package/src/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.ts +22 -12
  492. package/src/custom_auth/sign_in/interaction_client/SignInClient.ts +123 -41
  493. package/src/custom_auth/sign_in/interaction_client/result/SignInActionResult.ts +15 -0
  494. package/src/packageMetadata.ts +1 -1
  495. package/src/telemetry/BrowserPerformanceClient.ts +5 -2
@@ -0,0 +1,148 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { CustomAuthInteractionClientBase } from "../CustomAuthInteractionClientBase.js";
7
+ import {
8
+ MfaRequestChallengeParams,
9
+ MfaSubmitChallengeParams,
10
+ } from "./parameter/MfaClientParameters.js";
11
+ import {
12
+ MfaVerificationRequiredResult,
13
+ MfaCompletedResult,
14
+ createMfaVerificationRequiredResult,
15
+ createMfaCompletedResult,
16
+ } from "./result/MfaActionResult.js";
17
+ import {
18
+ DefaultCustomAuthApiCodeLength,
19
+ ChallengeType,
20
+ GrantType,
21
+ } from "../../../CustomAuthConstants.js";
22
+ import * as PublicApiId from "../../telemetry/PublicApiId.js";
23
+ import {
24
+ SignInChallengeRequest,
25
+ SignInOobTokenRequest,
26
+ } from "../../network_client/custom_auth_api/types/ApiRequestTypes.js";
27
+ import { ensureArgumentIsNotEmptyString } from "../../utils/ArgumentValidator.js";
28
+ import { CustomAuthApiError } from "../../error/CustomAuthApiError.js";
29
+ import * as CustomAuthApiErrorCode from "../../network_client/custom_auth_api/types/ApiErrorCodes.js";
30
+
31
+ /**
32
+ * MFA client for handling multi-factor authentication flows.
33
+ */
34
+ export class MfaClient extends CustomAuthInteractionClientBase {
35
+ /**
36
+ * Requests an MFA challenge to be sent to the user.
37
+ * @param parameters The parameters for requesting the challenge.
38
+ * @returns Promise that resolves to either MfaVerificationRequiredResult.
39
+ */
40
+ async requestChallenge(
41
+ parameters: MfaRequestChallengeParams
42
+ ): Promise<MfaVerificationRequiredResult> {
43
+ const apiId = PublicApiId.MFA_REQUEST_CHALLENGE;
44
+ const telemetryManager = this.initializeServerTelemetryManager(apiId);
45
+
46
+ this.logger.verbose(
47
+ "Calling challenge endpoint for MFA.",
48
+ parameters.correlationId
49
+ );
50
+
51
+ const challengeReq: SignInChallengeRequest = {
52
+ challenge_type: this.getChallengeTypes(parameters.challengeType),
53
+ continuation_token: parameters.continuationToken,
54
+ id: parameters.authMethodId,
55
+ correlationId: parameters.correlationId,
56
+ telemetryManager: telemetryManager,
57
+ };
58
+
59
+ const challengeResponse =
60
+ await this.customAuthApiClient.signInApi.requestChallenge(
61
+ challengeReq
62
+ );
63
+
64
+ this.logger.verbose(
65
+ "Challenge endpoint called for MFA.",
66
+ parameters.correlationId
67
+ );
68
+
69
+ if (challengeResponse.challenge_type === ChallengeType.OOB) {
70
+ // Verification required - code will be sent
71
+ return createMfaVerificationRequiredResult({
72
+ correlationId: challengeResponse.correlation_id,
73
+ continuationToken: challengeResponse.continuation_token ?? "",
74
+ challengeChannel: challengeResponse.challenge_channel ?? "",
75
+ challengeTargetLabel:
76
+ challengeResponse.challenge_target_label ?? "",
77
+ codeLength:
78
+ challengeResponse.code_length ??
79
+ DefaultCustomAuthApiCodeLength,
80
+ bindingMethod: challengeResponse.binding_method ?? "",
81
+ });
82
+ }
83
+
84
+ this.logger.error(
85
+ `Unsupported challenge type '${challengeResponse.challenge_type}' for MFA.`,
86
+ parameters.correlationId
87
+ );
88
+
89
+ throw new CustomAuthApiError(
90
+ CustomAuthApiErrorCode.UNSUPPORTED_CHALLENGE_TYPE,
91
+ `Unsupported challenge type '${challengeResponse.challenge_type}'.`,
92
+ challengeResponse.correlation_id
93
+ );
94
+ }
95
+
96
+ /**
97
+ * Submits the MFA challenge response (e.g., OTP code).
98
+ * @param parameters The parameters for submitting the challenge.
99
+ * @returns Promise that resolves to MfaCompletedResult.
100
+ */
101
+ async submitChallenge(
102
+ parameters: MfaSubmitChallengeParams
103
+ ): Promise<MfaCompletedResult> {
104
+ ensureArgumentIsNotEmptyString(
105
+ "parameters.challenge",
106
+ parameters.challenge,
107
+ parameters.correlationId
108
+ );
109
+
110
+ const apiId = PublicApiId.MFA_SUBMIT_CHALLENGE;
111
+ const telemetryManager = this.initializeServerTelemetryManager(apiId);
112
+ const scopes = this.getScopes(parameters.scopes);
113
+
114
+ const request: SignInOobTokenRequest = {
115
+ continuation_token: parameters.continuationToken,
116
+ oob: parameters.challenge,
117
+ grant_type: GrantType.MFA_OOB,
118
+ scope: scopes.join(" "),
119
+ correlationId: parameters.correlationId,
120
+ telemetryManager: telemetryManager,
121
+ ...(parameters.claims && {
122
+ claims: parameters.claims,
123
+ }),
124
+ };
125
+
126
+ this.logger.verbose(
127
+ "Calling token endpoint for MFA challenge submission.",
128
+ parameters.correlationId
129
+ );
130
+
131
+ const tokenResponse =
132
+ await this.customAuthApiClient.signInApi.requestTokensWithOob(
133
+ request
134
+ );
135
+
136
+ // Save tokens and create authentication result
137
+ const result = await this.handleTokenResponse(
138
+ tokenResponse,
139
+ scopes,
140
+ tokenResponse.correlation_id ?? parameters.correlationId
141
+ );
142
+
143
+ return createMfaCompletedResult({
144
+ correlationId: parameters.correlationId,
145
+ authenticationResult: result,
146
+ });
147
+ }
148
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ export interface MfaClientParametersBase {
7
+ correlationId: string;
8
+ continuationToken: string;
9
+ }
10
+
11
+ export interface MfaRequestChallengeParams extends MfaClientParametersBase {
12
+ challengeType: string[];
13
+ authMethodId: string;
14
+ }
15
+
16
+ export interface MfaSubmitChallengeParams extends MfaClientParametersBase {
17
+ challenge: string;
18
+ scopes: string[];
19
+ claims?: string;
20
+ }
@@ -0,0 +1,48 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AuthenticationResult } from "../../../../../response/AuthenticationResult.js";
7
+
8
+ interface MfaActionResult {
9
+ type: string;
10
+ correlationId: string;
11
+ }
12
+
13
+ export interface MfaVerificationRequiredResult extends MfaActionResult {
14
+ type: typeof MFA_VERIFICATION_REQUIRED_RESULT_TYPE;
15
+ continuationToken: string;
16
+ challengeChannel: string;
17
+ challengeTargetLabel: string;
18
+ codeLength: number;
19
+ bindingMethod: string;
20
+ }
21
+
22
+ export interface MfaCompletedResult extends MfaActionResult {
23
+ type: typeof MFA_COMPLETED_RESULT_TYPE;
24
+ authenticationResult: AuthenticationResult;
25
+ }
26
+
27
+ // Result type constants
28
+ export const MFA_VERIFICATION_REQUIRED_RESULT_TYPE =
29
+ "MfaVerificationRequiredResult";
30
+ export const MFA_COMPLETED_RESULT_TYPE = "MfaCompletedResult";
31
+
32
+ export function createMfaVerificationRequiredResult(
33
+ input: Omit<MfaVerificationRequiredResult, "type">
34
+ ): MfaVerificationRequiredResult {
35
+ return {
36
+ type: MFA_VERIFICATION_REQUIRED_RESULT_TYPE,
37
+ ...input,
38
+ };
39
+ }
40
+
41
+ export function createMfaCompletedResult(
42
+ input: Omit<MfaCompletedResult, "type">
43
+ ): MfaCompletedResult {
44
+ return {
45
+ type: MFA_COMPLETED_RESULT_TYPE,
46
+ ...input,
47
+ };
48
+ }
@@ -6,6 +6,7 @@
6
6
  export const SIGNIN_INITIATE = "/oauth2/v2.0/initiate";
7
7
  export const SIGNIN_CHALLENGE = "/oauth2/v2.0/challenge";
8
8
  export const SIGNIN_TOKEN = "/oauth2/v2.0/token";
9
+ export const SIGNIN_INTROSPECT = "/oauth2/v2.0/introspect";
9
10
 
10
11
  export const SIGNUP_START = "/signup/v1.0/start";
11
12
  export const SIGNUP_CHALLENGE = "/signup/v1.0/challenge";
@@ -14,12 +14,14 @@ import {
14
14
  SignInChallengeRequest,
15
15
  SignInContinuationTokenRequest,
16
16
  SignInInitiateRequest,
17
+ SignInIntrospectRequest,
17
18
  SignInOobTokenRequest,
18
19
  SignInPasswordTokenRequest,
19
20
  } from "./types/ApiRequestTypes.js";
20
21
  import {
21
22
  SignInChallengeResponse,
22
23
  SignInInitiateResponse,
24
+ SignInIntrospectResponse,
23
25
  SignInTokenResponse,
24
26
  } from "./types/ApiResponseTypes.js";
25
27
 
@@ -128,7 +130,7 @@ export class SignInApiClient extends BaseApiClient {
128
130
  continuation_token: params.continuation_token,
129
131
  scope: params.scope,
130
132
  oob: params.oob,
131
- grant_type: GrantType.OOB,
133
+ grant_type: params.grant_type,
132
134
  ...(params.claims && { claims: params.claims }),
133
135
  },
134
136
  params.telemetryManager,
@@ -153,6 +155,30 @@ export class SignInApiClient extends BaseApiClient {
153
155
  );
154
156
  }
155
157
 
158
+ /**
159
+ * Requests available authentication methods for MFA
160
+ * @param continuationToken Token from previous response
161
+ */
162
+ async requestAuthMethods(
163
+ params: SignInIntrospectRequest
164
+ ): Promise<SignInIntrospectResponse> {
165
+ const result = await this.request<SignInIntrospectResponse>(
166
+ CustomAuthApiEndpoint.SIGNIN_INTROSPECT,
167
+ {
168
+ continuation_token: params.continuation_token,
169
+ },
170
+ params.telemetryManager,
171
+ params.correlationId
172
+ );
173
+
174
+ this.ensureContinuationTokenIsValid(
175
+ result.continuation_token,
176
+ params.correlationId
177
+ );
178
+
179
+ return result;
180
+ }
181
+
156
182
  private async requestTokens(
157
183
  requestData: Record<string, string | boolean>,
158
184
  telemetryManager: ServerTelemetryManager,
@@ -3,6 +3,7 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
+ import { GrantType } from "../../../../CustomAuthConstants.js";
6
7
  import { ApiRequestBase } from "./ApiTypesBase.js";
7
8
 
8
9
  /* Sign-in API request types */
@@ -29,12 +30,17 @@ export interface SignInPasswordTokenRequest extends SignInTokenRequestBase {
29
30
 
30
31
  export interface SignInOobTokenRequest extends SignInTokenRequestBase {
31
32
  oob: string;
33
+ grant_type: typeof GrantType.OOB | typeof GrantType.MFA_OOB;
32
34
  }
33
35
 
34
36
  export interface SignInContinuationTokenRequest extends SignInTokenRequestBase {
35
37
  username?: string;
36
38
  }
37
39
 
40
+ export interface SignInIntrospectRequest extends ApiRequestBase {
41
+ continuation_token: string;
42
+ }
43
+
38
44
  /* Sign-up API request types */
39
45
  export interface SignUpStartRequest extends ApiRequestBase {
40
46
  username: string;
@@ -42,7 +42,12 @@ export interface AuthenticationMethod {
42
42
  id: string;
43
43
  challenge_type: string;
44
44
  challenge_channel: string;
45
- login_hint: string;
45
+ login_hint?: string;
46
+ }
47
+
48
+ export interface SignInIntrospectResponse extends ApiResponseBase {
49
+ continuation_token: string;
50
+ methods: AuthenticationMethod[];
46
51
  }
47
52
 
48
53
  /* Sign-up API response types */
@@ -13,3 +13,4 @@ export const INVALID_OOB_VALUE = "invalid_oob_value";
13
13
  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
+ export const MFA_REQUIRED = "mfa_required";
@@ -37,6 +37,9 @@ export const ACCOUNT_SIGN_OUT = 100062;
37
37
  export const ACCOUNT_GET_ACCESS_TOKEN = 100063;
38
38
 
39
39
  // JIT (Just-In-Time) Auth Method Registration
40
- export const JIT_GET_AUTH_METHODS = 100081;
41
- export const JIT_CHALLENGE_AUTH_METHOD = 100082;
42
- export const JIT_SUBMIT_CHALLENGE = 100083;
40
+ export const JIT_CHALLENGE_AUTH_METHOD = 100081;
41
+ export const JIT_SUBMIT_CHALLENGE = 100082;
42
+
43
+ // MFA
44
+ export const MFA_REQUEST_CHALLENGE = 100101;
45
+ export const MFA_SUBMIT_CHALLENGE = 100102;
@@ -13,6 +13,7 @@ import { SignInSubmitCodeResult } from "../result/SignInSubmitCodeResult.js";
13
13
  import { SignInCodeRequiredStateParameters } from "./SignInStateParameters.js";
14
14
  import { SignInState } from "./SignInState.js";
15
15
  import { SignInCompletedState } from "./SignInCompletedState.js";
16
+ import { SIGN_IN_COMPLETED_RESULT_TYPE } from "../../interaction_client/result/SignInActionResult.js";
16
17
 
17
18
  /*
18
19
  * Sign-in code required state.
@@ -45,7 +46,7 @@ export class SignInCodeRequiredState extends SignInState<SignInCodeRequiredState
45
46
  this.stateParameters.correlationId
46
47
  );
47
48
 
48
- const completedResult =
49
+ const submitCodeResult =
49
50
  await this.stateParameters.signInClient.submitCode(
50
51
  submitCodeParams
51
52
  );
@@ -55,18 +56,27 @@ export class SignInCodeRequiredState extends SignInState<SignInCodeRequiredState
55
56
  this.stateParameters.correlationId
56
57
  );
57
58
 
58
- const accountInfo = new CustomAuthAccountData(
59
- completedResult.authenticationResult.account,
60
- this.stateParameters.config,
61
- this.stateParameters.cacheClient,
62
- this.stateParameters.logger,
63
- this.stateParameters.correlationId
64
- );
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
+ );
65
67
 
66
- return new SignInSubmitCodeResult(
67
- new SignInCompletedState(),
68
- accountInfo
69
- );
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);
79
+ }
70
80
  } catch (error) {
71
81
  this.stateParameters.logger.errorPii(
72
82
  `Failed to submit code for sign-in. Error: ${error}.`,
@@ -6,10 +6,14 @@
6
6
  import {
7
7
  ChallengeType,
8
8
  DefaultCustomAuthApiCodeLength,
9
+ GrantType,
9
10
  } from "../../CustomAuthConstants.js";
10
11
  import { CustomAuthApiError } from "../../core/error/CustomAuthApiError.js";
11
12
  import * as CustomAuthApiErrorCode from "../../core/network_client/custom_auth_api/types/ApiErrorCodes.js";
12
- import { REGISTRATION_REQUIRED } from "../../core/network_client/custom_auth_api/types/ApiSuberrors.js";
13
+ import {
14
+ MFA_REQUIRED,
15
+ REGISTRATION_REQUIRED,
16
+ } from "../../core/network_client/custom_auth_api/types/ApiSuberrors.js";
13
17
 
14
18
  import { CustomAuthInteractionClientBase } from "../../core/interaction_client/CustomAuthInteractionClientBase.js";
15
19
  import {
@@ -29,6 +33,8 @@ import {
29
33
  SignInCompletedResult,
30
34
  SignInPasswordRequiredResult,
31
35
  SignInJitRequiredResult,
36
+ SignInMfaRequiredResult,
37
+ createSignInMfaRequiredResult,
32
38
  } from "./result/SignInActionResult.js";
33
39
  import * as PublicApiId from "../../core/telemetry/PublicApiId.js";
34
40
  import {
@@ -38,6 +44,7 @@ import {
38
44
  SignInOobTokenRequest,
39
45
  SignInPasswordTokenRequest,
40
46
  RegisterIntrospectRequest,
47
+ SignInIntrospectRequest,
41
48
  } from "../../core/network_client/custom_auth_api/types/ApiRequestTypes.js";
42
49
  import { SignInTokenResponse } from "../../core/network_client/custom_auth_api/types/ApiResponseTypes.js";
43
50
  import {
@@ -135,7 +142,11 @@ export class SignInClient extends CustomAuthInteractionClientBase {
135
142
  */
136
143
  async submitCode(
137
144
  parameters: SignInSubmitCodeParams
138
- ): Promise<SignInCompletedResult> {
145
+ ): Promise<
146
+ | SignInCompletedResult
147
+ | SignInJitRequiredResult
148
+ | SignInMfaRequiredResult
149
+ > {
139
150
  ensureArgumentIsNotEmptyString(
140
151
  "parameters.code",
141
152
  parameters.code,
@@ -149,6 +160,7 @@ export class SignInClient extends CustomAuthInteractionClientBase {
149
160
  const request: SignInOobTokenRequest = {
150
161
  continuation_token: parameters.continuationToken,
151
162
  oob: parameters.code,
163
+ grant_type: GrantType.OOB,
152
164
  scope: scopes.join(" "),
153
165
  correlationId: parameters.correlationId,
154
166
  telemetryManager: telemetryManager,
@@ -157,18 +169,15 @@ export class SignInClient extends CustomAuthInteractionClientBase {
157
169
  }),
158
170
  };
159
171
 
160
- const result = this.performTokenRequest(
172
+ return this.performTokenRequest(
161
173
  () =>
162
174
  this.customAuthApiClient.signInApi.requestTokensWithOob(
163
175
  request
164
176
  ),
165
177
  scopes,
166
178
  parameters.correlationId,
167
- telemetryManager,
168
- false // Don't handle JIT for code submission
179
+ telemetryManager
169
180
  );
170
-
171
- return result as Promise<SignInCompletedResult>;
172
181
  }
173
182
 
174
183
  /**
@@ -178,7 +187,11 @@ export class SignInClient extends CustomAuthInteractionClientBase {
178
187
  */
179
188
  async submitPassword(
180
189
  parameters: SignInSubmitPasswordParams
181
- ): Promise<SignInCompletedResult | SignInJitRequiredResult> {
190
+ ): Promise<
191
+ | SignInCompletedResult
192
+ | SignInJitRequiredResult
193
+ | SignInMfaRequiredResult
194
+ > {
182
195
  ensureArgumentIsNotEmptyString(
183
196
  "parameters.password",
184
197
  parameters.password,
@@ -207,8 +220,7 @@ export class SignInClient extends CustomAuthInteractionClientBase {
207
220
  ),
208
221
  scopes,
209
222
  parameters.correlationId,
210
- telemetryManager,
211
- true // Handle JIT for password submission
223
+ telemetryManager
212
224
  );
213
225
  }
214
226
 
@@ -219,7 +231,11 @@ export class SignInClient extends CustomAuthInteractionClientBase {
219
231
  */
220
232
  async signInWithContinuationToken(
221
233
  parameters: SignInContinuationTokenParams
222
- ): Promise<SignInCompletedResult | SignInJitRequiredResult> {
234
+ ): Promise<
235
+ | SignInCompletedResult
236
+ | SignInJitRequiredResult
237
+ | SignInMfaRequiredResult
238
+ > {
223
239
  const apiId = this.getPublicApiIdBySignInScenario(
224
240
  parameters.signInScenario,
225
241
  parameters.correlationId
@@ -247,9 +263,8 @@ export class SignInClient extends CustomAuthInteractionClientBase {
247
263
  ),
248
264
  scopes,
249
265
  parameters.correlationId,
250
- telemetryManager,
251
- true // Handle JIT for continuation token sign-in (e.g., after sign-up or SSPR)
252
- ) as Promise<SignInCompletedResult | SignInJitRequiredResult>;
266
+ telemetryManager
267
+ );
253
268
  }
254
269
 
255
270
  /**
@@ -257,16 +272,19 @@ export class SignInClient extends CustomAuthInteractionClientBase {
257
272
  * @param tokenEndpointCaller Function that calls the specific token endpoint
258
273
  * @param scopes Scopes for the token request
259
274
  * @param correlationId Correlation ID for logging and result
260
- * @param handleJit Whether to handle JIT required errors or throw them
261
- * @returns SignInCompletedResult with authentication result
275
+ * @param telemetryManager Telemetry manager for telemetry logging
276
+ * @returns SignInCompletedResult | SignInJitRequiredResult | SignInMfaRequiredResult with authentication result
262
277
  */
263
278
  private async performTokenRequest(
264
279
  tokenEndpointCaller: () => Promise<SignInTokenResponse>,
265
280
  scopes: string[],
266
281
  correlationId: string,
267
- telemetryManager: ServerTelemetryManager,
268
- handleJit: boolean
269
- ): Promise<SignInCompletedResult | SignInJitRequiredResult> {
282
+ telemetryManager: ServerTelemetryManager
283
+ ): Promise<
284
+ | SignInCompletedResult
285
+ | SignInJitRequiredResult
286
+ | SignInMfaRequiredResult
287
+ > {
270
288
  this.logger.verbose(
271
289
  "Calling token endpoint for sign in.",
272
290
  correlationId
@@ -292,34 +310,23 @@ export class SignInClient extends CustomAuthInteractionClientBase {
292
310
  });
293
311
  } catch (error) {
294
312
  if (
295
- handleJit &&
296
313
  error instanceof CustomAuthApiError &&
297
314
  error.subError === REGISTRATION_REQUIRED
298
315
  ) {
299
- this.logger.verbose(
300
- "Auth method registration required for sign in.",
316
+ return this.handleJitRequiredError(
317
+ error,
318
+ telemetryManager,
301
319
  correlationId
302
320
  );
303
-
304
- // Call register introspect endpoint to get available authentication methods
305
- const introspectRequest: RegisterIntrospectRequest = {
306
- continuation_token: error.continuationToken ?? "",
307
- correlationId: error.correlationId ?? correlationId,
321
+ } else if (
322
+ error instanceof CustomAuthApiError &&
323
+ error.subError === MFA_REQUIRED
324
+ ) {
325
+ return this.handleMfaRequiredError(
326
+ error,
308
327
  telemetryManager,
309
- };
310
-
311
- const introspectResponse =
312
- await this.customAuthApiClient.registerApi.introspect(
313
- introspectRequest
314
- );
315
-
316
- return createSignInJitRequiredResult({
317
- correlationId:
318
- introspectResponse.correlation_id ?? correlationId,
319
- continuationToken:
320
- introspectResponse.continuation_token ?? "",
321
- authMethods: introspectResponse.methods,
322
- });
328
+ correlationId
329
+ );
323
330
  }
324
331
 
325
332
  // Re-throw any other errors or JIT errors when handleJit is false
@@ -404,4 +411,79 @@ export class SignInClient extends CustomAuthInteractionClientBase {
404
411
  );
405
412
  }
406
413
  }
414
+
415
+ private async handleJitRequiredError(
416
+ error: CustomAuthApiError,
417
+ telemetryManager: ServerTelemetryManager,
418
+ correlationId: string
419
+ ): Promise<SignInJitRequiredResult> {
420
+ this.logger.verbose(
421
+ "Auth method registration required for sign in.",
422
+ correlationId
423
+ );
424
+
425
+ // Call register introspect endpoint to get available authentication methods
426
+ const introspectRequest: RegisterIntrospectRequest = {
427
+ continuation_token: error.continuationToken ?? "",
428
+ correlationId: error.correlationId ?? correlationId,
429
+ telemetryManager,
430
+ };
431
+
432
+ this.logger.verbose(
433
+ "Calling introspect endpoint for getting auth methods.",
434
+ correlationId
435
+ );
436
+
437
+ const introspectResponse =
438
+ await this.customAuthApiClient.registerApi.introspect(
439
+ introspectRequest
440
+ );
441
+
442
+ this.logger.verbose(
443
+ "Introspect endpoint called for getting auth methods.",
444
+ introspectResponse.correlation_id ?? correlationId
445
+ );
446
+
447
+ return createSignInJitRequiredResult({
448
+ correlationId: introspectResponse.correlation_id ?? correlationId,
449
+ continuationToken: introspectResponse.continuation_token ?? "",
450
+ authMethods: introspectResponse.methods,
451
+ });
452
+ }
453
+
454
+ private async handleMfaRequiredError(
455
+ error: CustomAuthApiError,
456
+ telemetryManager: ServerTelemetryManager,
457
+ correlationId: string
458
+ ): Promise<SignInMfaRequiredResult> {
459
+ this.logger.verbose("MFA required for sign in.", correlationId);
460
+
461
+ // Call sign-in introspect endpoint to get available MFA methods
462
+ const introspectRequest: SignInIntrospectRequest = {
463
+ continuation_token: error.continuationToken ?? "",
464
+ correlationId: error.correlationId ?? correlationId,
465
+ telemetryManager,
466
+ };
467
+
468
+ this.logger.verbose(
469
+ "Calling introspect endpoint for MFA auth methods.",
470
+ correlationId
471
+ );
472
+
473
+ const introspectResponse =
474
+ await this.customAuthApiClient.signInApi.requestAuthMethods(
475
+ introspectRequest
476
+ );
477
+
478
+ this.logger.verbose(
479
+ "Introspect endpoint called for MFA auth methods.",
480
+ introspectResponse.correlation_id ?? correlationId
481
+ );
482
+
483
+ return createSignInMfaRequiredResult({
484
+ correlationId: introspectResponse.correlation_id ?? correlationId,
485
+ continuationToken: introspectResponse.continuation_token ?? "",
486
+ authMethods: introspectResponse.methods,
487
+ });
488
+ }
407
489
  }