@azure/msal-browser 4.23.0 → 4.24.1

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 (520) 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 +25 -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 +25 -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.d.ts.map +1 -1
  224. package/dist/custom-auth-path/error/NativeAuthError.mjs +3 -2
  225. package/dist/custom-auth-path/error/NativeAuthError.mjs.map +1 -1
  226. package/dist/custom-auth-path/error/NativeAuthErrorCodes.d.ts +1 -0
  227. package/dist/custom-auth-path/error/NativeAuthErrorCodes.d.ts.map +1 -1
  228. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +3 -2
  229. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs.map +1 -1
  230. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  231. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  232. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  233. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  234. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  235. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +2 -1
  236. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  237. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  238. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  239. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  240. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  241. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  242. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  243. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  244. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  245. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  246. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  247. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  248. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  249. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  250. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  251. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  252. package/dist/custom-auth-path/protocol/Authorize.mjs +1 -1
  253. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  254. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  255. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  256. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  257. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  258. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  259. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  260. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  261. package/dist/custom_auth/CustomAuthConstants.d.ts +2 -1
  262. package/dist/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  263. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  264. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  265. package/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  266. package/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  267. package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  268. package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  269. package/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  270. package/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  271. package/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  272. package/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  273. package/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  274. package/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  275. package/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  276. package/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  277. package/dist/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  278. package/dist/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  279. package/dist/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  280. package/dist/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  281. package/dist/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  282. package/dist/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  283. package/dist/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  284. package/dist/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  285. package/dist/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  286. package/dist/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  287. package/dist/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  288. package/dist/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  289. package/dist/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  290. package/dist/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  291. package/dist/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  292. package/dist/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  293. package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  294. package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  295. package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  296. package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  297. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  298. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  299. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  300. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  301. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  302. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  303. package/dist/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  304. package/dist/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  305. package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  306. package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  307. package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  308. package/dist/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  309. package/dist/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  310. package/dist/encode/Base64Decode.mjs +1 -1
  311. package/dist/encode/Base64Encode.mjs +1 -1
  312. package/dist/error/BrowserAuthError.mjs +1 -1
  313. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  314. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  315. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  316. package/dist/error/NativeAuthError.d.ts.map +1 -1
  317. package/dist/error/NativeAuthError.mjs +3 -2
  318. package/dist/error/NativeAuthError.mjs.map +1 -1
  319. package/dist/error/NativeAuthErrorCodes.d.ts +1 -0
  320. package/dist/error/NativeAuthErrorCodes.d.ts.map +1 -1
  321. package/dist/error/NativeAuthErrorCodes.mjs +3 -2
  322. package/dist/error/NativeAuthErrorCodes.mjs.map +1 -1
  323. package/dist/error/NestedAppAuthError.mjs +1 -1
  324. package/dist/event/EventHandler.mjs +1 -1
  325. package/dist/event/EventMessage.mjs +1 -1
  326. package/dist/event/EventType.mjs +1 -1
  327. package/dist/index.mjs +1 -1
  328. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  329. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  330. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  331. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +2 -1
  332. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  333. package/dist/interaction_client/PopupClient.mjs +1 -1
  334. package/dist/interaction_client/RedirectClient.mjs +1 -1
  335. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  336. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  337. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  338. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  339. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  340. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  341. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  342. package/dist/naa/BridgeError.mjs +1 -1
  343. package/dist/naa/BridgeProxy.mjs +1 -1
  344. package/dist/naa/BridgeStatusCode.mjs +1 -1
  345. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  346. package/dist/navigation/NavigationClient.mjs +1 -1
  347. package/dist/network/FetchClient.mjs +1 -1
  348. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  349. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  350. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  351. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  352. package/dist/packageMetadata.d.ts +1 -1
  353. package/dist/packageMetadata.mjs +2 -2
  354. package/dist/protocol/Authorize.mjs +1 -1
  355. package/dist/request/RequestHelpers.mjs +1 -1
  356. package/dist/response/ResponseHandler.mjs +1 -1
  357. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  358. package/dist/telemetry/BrowserPerformanceClient.mjs +3 -3
  359. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  360. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  361. package/dist/utils/BrowserConstants.mjs +1 -1
  362. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  363. package/dist/utils/BrowserUtils.mjs +1 -1
  364. package/dist/utils/Helpers.mjs +1 -1
  365. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  366. package/lib/custom-auth-path/msal-custom-auth.cjs +234 -215
  367. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  368. package/lib/custom-auth-path/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  369. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  370. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +2 -1
  371. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  372. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  373. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  374. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  375. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  376. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  377. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  378. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  379. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  380. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  381. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  382. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  383. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  384. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  385. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  386. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  387. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  388. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  389. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  390. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  391. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  392. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  393. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  394. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  395. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  396. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  397. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  398. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  399. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  400. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  401. package/lib/custom-auth-path/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  402. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  403. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  404. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  405. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  406. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  407. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  408. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  409. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  410. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  411. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  412. package/lib/custom-auth-path/types/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  413. package/lib/custom-auth-path/types/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  414. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  415. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  416. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  417. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  418. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  419. package/lib/custom-auth-path/types/error/NativeAuthError.d.ts.map +1 -1
  420. package/lib/custom-auth-path/types/error/NativeAuthErrorCodes.d.ts +1 -0
  421. package/lib/custom-auth-path/types/error/NativeAuthErrorCodes.d.ts.map +1 -1
  422. package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  423. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  424. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  425. package/lib/msal-browser.cjs +137 -136
  426. package/lib/msal-browser.cjs.map +1 -1
  427. package/lib/msal-browser.js +137 -136
  428. package/lib/msal-browser.js.map +1 -1
  429. package/lib/msal-browser.min.js +60 -60
  430. package/lib/types/controllers/NestedAppAuthController.d.ts.map +1 -1
  431. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  432. package/lib/types/custom_auth/CustomAuthConstants.d.ts +2 -1
  433. package/lib/types/custom_auth/CustomAuthConstants.d.ts.map +1 -1
  434. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +2 -1
  435. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  436. package/lib/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts +5 -0
  437. package/lib/types/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.d.ts.map +1 -1
  438. package/lib/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts +22 -0
  439. package/lib/types/custom_auth/core/auth_flow/mfa/error_type/MfaError.d.ts.map +1 -0
  440. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts +36 -0
  441. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.d.ts.map +1 -0
  442. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts +30 -0
  443. package/lib/types/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.d.ts.map +1 -0
  444. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts +7 -0
  445. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.d.ts.map +1 -0
  446. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts +7 -0
  447. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaFailedState.d.ts.map +1 -0
  448. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts +59 -0
  449. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaState.d.ts.map +1 -0
  450. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts +19 -0
  451. package/lib/types/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.d.ts.map +1 -0
  452. package/lib/types/custom_auth/core/interaction_client/jit/JitClient.d.ts +2 -8
  453. package/lib/types/custom_auth/core/interaction_client/jit/JitClient.d.ts.map +1 -1
  454. package/lib/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts +0 -1
  455. package/lib/types/custom_auth/core/interaction_client/jit/parameter/JitParams.d.ts.map +1 -1
  456. package/lib/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts +2 -11
  457. package/lib/types/custom_auth/core/interaction_client/jit/result/JitActionResult.d.ts.map +1 -1
  458. package/lib/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts +21 -0
  459. package/lib/types/custom_auth/core/interaction_client/mfa/MfaClient.d.ts.map +1 -0
  460. package/lib/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts +14 -0
  461. package/lib/types/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.d.ts.map +1 -0
  462. package/lib/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts +23 -0
  463. package/lib/types/custom_auth/core/interaction_client/mfa/result/MfaActionResult.d.ts.map +1 -0
  464. package/lib/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts +1 -0
  465. package/lib/types/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.d.ts.map +1 -1
  466. package/lib/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts +7 -2
  467. package/lib/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  468. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +5 -0
  469. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  470. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts +5 -1
  471. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.d.ts.map +1 -1
  472. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts +1 -0
  473. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.d.ts.map +1 -1
  474. package/lib/types/custom_auth/core/telemetry/PublicApiId.d.ts +4 -3
  475. package/lib/types/custom_auth/core/telemetry/PublicApiId.d.ts.map +1 -1
  476. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  477. package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts +8 -6
  478. package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  479. package/lib/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts +6 -0
  480. package/lib/types/custom_auth/sign_in/interaction_client/result/SignInActionResult.d.ts.map +1 -1
  481. package/lib/types/error/NativeAuthError.d.ts.map +1 -1
  482. package/lib/types/error/NativeAuthErrorCodes.d.ts +1 -0
  483. package/lib/types/error/NativeAuthErrorCodes.d.ts.map +1 -1
  484. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  485. package/lib/types/packageMetadata.d.ts +1 -1
  486. package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  487. package/package.json +2 -2
  488. package/src/controllers/NestedAppAuthController.ts +40 -23
  489. package/src/controllers/StandardController.ts +98 -79
  490. package/src/custom_auth/CustomAuthConstants.ts +1 -0
  491. package/src/custom_auth/core/auth_flow/AuthFlowErrorBase.ts +15 -2
  492. package/src/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.ts +9 -1
  493. package/src/custom_auth/core/auth_flow/mfa/error_type/MfaError.ts +32 -0
  494. package/src/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.ts +59 -0
  495. package/src/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.ts +52 -0
  496. package/src/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.ts +11 -0
  497. package/src/custom_auth/core/auth_flow/mfa/state/MfaFailedState.ts +11 -0
  498. package/src/custom_auth/core/auth_flow/mfa/state/MfaState.ts +188 -0
  499. package/src/custom_auth/core/auth_flow/mfa/state/MfaStateParameters.ts +28 -0
  500. package/src/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.ts +1 -1
  501. package/src/custom_auth/core/interaction_client/jit/JitClient.ts +1 -42
  502. package/src/custom_auth/core/interaction_client/jit/parameter/JitParams.ts +0 -2
  503. package/src/custom_auth/core/interaction_client/jit/result/JitActionResult.ts +2 -22
  504. package/src/custom_auth/core/interaction_client/mfa/MfaClient.ts +148 -0
  505. package/src/custom_auth/core/interaction_client/mfa/parameter/MfaClientParameters.ts +20 -0
  506. package/src/custom_auth/core/interaction_client/mfa/result/MfaActionResult.ts +48 -0
  507. package/src/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.ts +1 -0
  508. package/src/custom_auth/core/network_client/custom_auth_api/SignInApiClient.ts +27 -1
  509. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.ts +6 -0
  510. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiResponseTypes.ts +6 -1
  511. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.ts +1 -0
  512. package/src/custom_auth/core/telemetry/PublicApiId.ts +6 -3
  513. package/src/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.ts +22 -12
  514. package/src/custom_auth/sign_in/interaction_client/SignInClient.ts +123 -41
  515. package/src/custom_auth/sign_in/interaction_client/result/SignInActionResult.ts +15 -0
  516. package/src/error/NativeAuthError.ts +1 -0
  517. package/src/error/NativeAuthErrorCodes.ts +1 -0
  518. package/src/interaction_client/PlatformAuthInteractionClient.ts +1 -0
  519. package/src/packageMetadata.ts +1 -1
  520. package/src/telemetry/BrowserPerformanceClient.ts +5 -2
@@ -0,0 +1,188 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import {
7
+ MfaAwaitingStateParameters,
8
+ MfaStateParameters,
9
+ MfaVerificationRequiredStateParameters,
10
+ } from "./MfaStateParameters.js";
11
+ import { MfaSubmitChallengeResult } from "../result/MfaSubmitChallengeResult.js";
12
+ import { MfaRequestChallengeResult } from "../result/MfaRequestChallengeResult.js";
13
+ import {
14
+ MfaSubmitChallengeParams,
15
+ MfaRequestChallengeParams,
16
+ } from "../../../interaction_client/mfa/parameter/MfaClientParameters.js";
17
+ import { CustomAuthAccountData } from "../../../../get_account/auth_flow/CustomAuthAccountData.js";
18
+ import { MfaCompletedState } from "./MfaCompletedState.js";
19
+ import { ensureArgumentIsNotEmptyString } from "../../../utils/ArgumentValidator.js";
20
+ import { AuthenticationMethod } from "../../../network_client/custom_auth_api/types/ApiResponseTypes.js";
21
+ import { AuthFlowActionRequiredStateBase } from "../../AuthFlowState.js";
22
+
23
+ abstract class MfaState<
24
+ TParameters extends MfaStateParameters
25
+ > extends AuthFlowActionRequiredStateBase<TParameters> {
26
+ /**
27
+ * Requests an MFA challenge for a specific authentication method.
28
+ * @param authMethodId The authentication method ID to use for the challenge.
29
+ * @returns Promise that resolves to MfaRequestChallengeResult.
30
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
31
+ */
32
+ async requestChallenge(
33
+ authMethodId: string
34
+ ): Promise<MfaRequestChallengeResult> {
35
+ try {
36
+ ensureArgumentIsNotEmptyString("authMethodId", authMethodId);
37
+
38
+ this.stateParameters.logger.verbose(
39
+ `Requesting MFA challenge with authentication method - '${authMethodId}'.`,
40
+ this.stateParameters.correlationId
41
+ );
42
+
43
+ const requestParams: MfaRequestChallengeParams = {
44
+ correlationId: this.stateParameters.correlationId,
45
+ continuationToken: this.stateParameters.continuationToken ?? "",
46
+ challengeType:
47
+ this.stateParameters.config.customAuth.challengeTypes ?? [],
48
+ authMethodId: authMethodId,
49
+ };
50
+
51
+ const result =
52
+ await this.stateParameters.mfaClient.requestChallenge(
53
+ requestParams
54
+ );
55
+
56
+ this.stateParameters.logger.verbose(
57
+ "MFA challenge requested successfully.",
58
+ this.stateParameters.correlationId
59
+ );
60
+
61
+ return new MfaRequestChallengeResult(
62
+ new MfaVerificationRequiredState({
63
+ correlationId: result.correlationId,
64
+ continuationToken: result.continuationToken,
65
+ config: this.stateParameters.config,
66
+ logger: this.stateParameters.logger,
67
+ mfaClient: this.stateParameters.mfaClient,
68
+ cacheClient: this.stateParameters.cacheClient,
69
+ challengeChannel: result.challengeChannel,
70
+ challengeTargetLabel: result.challengeTargetLabel,
71
+ codeLength: result.codeLength,
72
+ selectedAuthMethodId: authMethodId,
73
+ scopes: this.stateParameters.scopes ?? [],
74
+ })
75
+ );
76
+ } catch (error) {
77
+ this.stateParameters.logger.errorPii(
78
+ `Failed to request MFA challenge. Error: ${error}.`,
79
+ this.stateParameters.correlationId
80
+ );
81
+
82
+ return MfaRequestChallengeResult.createWithError(error);
83
+ }
84
+ }
85
+ }
86
+
87
+ /**
88
+ * State indicating that MFA is required and awaiting user action.
89
+ * This state allows the developer to pause execution before sending the code to the user's email.
90
+ */
91
+ export class MfaAwaitingState extends MfaState<MfaAwaitingStateParameters> {
92
+ /**
93
+ * Gets the available authentication methods for MFA.
94
+ * @returns Array of available authentication methods.
95
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
96
+ */
97
+ getAuthMethods(): AuthenticationMethod[] {
98
+ return this.stateParameters.authMethods;
99
+ }
100
+ }
101
+
102
+ /**
103
+ * State indicating that MFA verification is required.
104
+ * The challenge has been sent and the user needs to provide the code.
105
+ */
106
+ export class MfaVerificationRequiredState extends MfaState<MfaVerificationRequiredStateParameters> {
107
+ /**
108
+ * Gets the length of the code that the user needs to provide.
109
+ * @returns The expected code length.
110
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
111
+ */
112
+ getCodeLength(): number {
113
+ return this.stateParameters.codeLength;
114
+ }
115
+
116
+ /**
117
+ * Gets the channel through which the challenge was sent.
118
+ * @returns The challenge channel (e.g., "email").
119
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
120
+ */
121
+ getChannel(): string {
122
+ return this.stateParameters.challengeChannel;
123
+ }
124
+
125
+ /**
126
+ * Gets the target label indicating where the challenge was sent.
127
+ * @returns The challenge target label (e.g., masked email address).
128
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
129
+ */
130
+ getSentTo(): string {
131
+ return this.stateParameters.challengeTargetLabel;
132
+ }
133
+
134
+ /**
135
+ * Submits the MFA challenge (e.g., OTP code) to complete the authentication.
136
+ * @param challenge The challenge code (e.g., OTP code) entered by the user.
137
+ * @returns Promise that resolves to MfaSubmitChallengeResult.
138
+ * @warning This API is experimental. It may be changed in the future without notice. Do not use in production applications.
139
+ */
140
+ async submitChallenge(
141
+ challenge: string
142
+ ): Promise<MfaSubmitChallengeResult> {
143
+ try {
144
+ this.ensureCodeIsValid(challenge, this.getCodeLength());
145
+
146
+ this.stateParameters.logger.verbose(
147
+ "Submitting MFA challenge.",
148
+ this.stateParameters.correlationId
149
+ );
150
+
151
+ const submitParams: MfaSubmitChallengeParams = {
152
+ correlationId: this.stateParameters.correlationId,
153
+ continuationToken: this.stateParameters.continuationToken ?? "",
154
+ scopes: this.stateParameters.scopes ?? [],
155
+ challenge: challenge,
156
+ };
157
+
158
+ const result = await this.stateParameters.mfaClient.submitChallenge(
159
+ submitParams
160
+ );
161
+
162
+ this.stateParameters.logger.verbose(
163
+ "MFA challenge submitted successfully.",
164
+ this.stateParameters.correlationId
165
+ );
166
+
167
+ const accountInfo = new CustomAuthAccountData(
168
+ result.authenticationResult.account,
169
+ this.stateParameters.config,
170
+ this.stateParameters.cacheClient,
171
+ this.stateParameters.logger,
172
+ this.stateParameters.correlationId
173
+ );
174
+
175
+ return new MfaSubmitChallengeResult(
176
+ new MfaCompletedState(),
177
+ accountInfo
178
+ );
179
+ } catch (error) {
180
+ this.stateParameters.logger.errorPii(
181
+ `Failed to submit MFA challenge. Error: ${error}.`,
182
+ this.stateParameters.correlationId
183
+ );
184
+
185
+ return MfaSubmitChallengeResult.createWithError(error);
186
+ }
187
+ }
188
+ }
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AuthFlowActionRequiredStateParameters } from "../../AuthFlowState.js";
7
+ import { MfaClient } from "../../../interaction_client/mfa/MfaClient.js";
8
+ import { AuthenticationMethod } from "../../../network_client/custom_auth_api/types/ApiResponseTypes.js";
9
+ import { CustomAuthSilentCacheClient } from "../../../../get_account/interaction_client/CustomAuthSilentCacheClient.js";
10
+
11
+ export interface MfaStateParameters
12
+ extends AuthFlowActionRequiredStateParameters {
13
+ mfaClient: MfaClient;
14
+ cacheClient: CustomAuthSilentCacheClient;
15
+ scopes?: string[];
16
+ }
17
+
18
+ export interface MfaVerificationRequiredStateParameters
19
+ extends MfaStateParameters {
20
+ challengeChannel: string;
21
+ challengeTargetLabel: string;
22
+ codeLength: number;
23
+ selectedAuthMethodId?: string;
24
+ }
25
+
26
+ export interface MfaAwaitingStateParameters extends MfaStateParameters {
27
+ authMethods: AuthenticationMethod[];
28
+ }
@@ -103,7 +103,7 @@ export abstract class CustomAuthInteractionClientBase extends StandardInteractio
103
103
 
104
104
  const requestTimestamp = Math.round(new Date().getTime() / 1000.0);
105
105
 
106
- // Save tokens and create authentication result 44s
106
+ // Save tokens and create authentication result
107
107
  const result =
108
108
  await this.tokenResponseHandler.handleServerTokenResponse(
109
109
  tokenResponse,
@@ -5,15 +5,12 @@
5
5
 
6
6
  import { CustomAuthInteractionClientBase } from "../CustomAuthInteractionClientBase.js";
7
7
  import {
8
- JitGetAuthMethodsParams,
9
8
  JitChallengeAuthMethodParams,
10
9
  JitSubmitChallengeParams,
11
10
  } from "./parameter/JitParams.js";
12
11
  import {
13
- JitGetAuthMethodsResult,
14
12
  JitVerificationRequiredResult,
15
13
  JitCompletedResult,
16
- createJitGetAuthMethodsResult,
17
14
  createJitVerificationRequiredResult,
18
15
  createJitCompletedResult,
19
16
  } from "./result/JitActionResult.js";
@@ -24,7 +21,6 @@ import {
24
21
  } from "../../../CustomAuthConstants.js";
25
22
  import * as PublicApiId from "../../telemetry/PublicApiId.js";
26
23
  import {
27
- RegisterIntrospectRequest,
28
24
  RegisterChallengeRequest,
29
25
  RegisterContinueRequest,
30
26
  SignInContinuationTokenRequest,
@@ -34,43 +30,6 @@ import {
34
30
  * JIT client for handling just-in-time authentication method registration flows.
35
31
  */
36
32
  export class JitClient extends CustomAuthInteractionClientBase {
37
- /**
38
- * Gets available authentication methods for JIT registration.
39
- * @param parameters The parameters for getting auth methods.
40
- * @returns Promise that resolves to JitGetAuthMethodsResult.
41
- */
42
- async getAuthMethods(
43
- parameters: JitGetAuthMethodsParams
44
- ): Promise<JitGetAuthMethodsResult> {
45
- const apiId = PublicApiId.JIT_GET_AUTH_METHODS;
46
- const telemetryManager = this.initializeServerTelemetryManager(apiId);
47
-
48
- this.logger.verbose(
49
- "Calling introspect endpoint for getting auth methods.",
50
- parameters.correlationId
51
- );
52
-
53
- const request: RegisterIntrospectRequest = {
54
- continuation_token: parameters.continuationToken,
55
- correlationId: parameters.correlationId,
56
- telemetryManager: telemetryManager,
57
- };
58
-
59
- const introspectResponse =
60
- await this.customAuthApiClient.registerApi.introspect(request);
61
-
62
- this.logger.verbose(
63
- "Introspect endpoint called for getting auth methods.",
64
- parameters.correlationId
65
- );
66
-
67
- return createJitGetAuthMethodsResult({
68
- correlationId: introspectResponse.correlation_id,
69
- continuationToken: introspectResponse.continuation_token,
70
- authMethods: introspectResponse.methods,
71
- });
72
- }
73
-
74
33
  /**
75
34
  * Challenges an authentication method for JIT registration.
76
35
  * @param parameters The parameters for challenging the auth method.
@@ -195,7 +154,7 @@ export class JitClient extends CustomAuthInteractionClientBase {
195
154
  const authResult = await this.handleTokenResponse(
196
155
  tokenResponse,
197
156
  scopes,
198
- continueResponse.correlation_id
157
+ tokenResponse.correlation_id || continueResponse.correlation_id
199
158
  );
200
159
 
201
160
  return createJitCompletedResult({
@@ -10,8 +10,6 @@ export interface JitClientParametersBase {
10
10
  continuationToken: string;
11
11
  }
12
12
 
13
- export type JitGetAuthMethodsParams = JitClientParametersBase;
14
-
15
13
  export interface JitChallengeAuthMethodParams extends JitClientParametersBase {
16
14
  authMethod: AuthenticationMethod;
17
15
  verificationContact: string;
@@ -4,25 +4,15 @@
4
4
  */
5
5
 
6
6
  import { AuthenticationResult } from "../../../../../response/AuthenticationResult.js";
7
- import { AuthenticationMethod } from "../../../network_client/custom_auth_api/types/ApiResponseTypes.js";
8
7
 
9
8
  interface JitActionResult {
10
9
  type: string;
11
10
  correlationId: string;
12
11
  }
13
12
 
14
- interface JitContinuationTokenResult extends JitActionResult {
15
- continuationToken: string;
16
- }
17
-
18
- export interface JitGetAuthMethodsResult extends JitContinuationTokenResult {
19
- type: typeof JIT_GET_AUTH_METHODS_RESULT_TYPE;
20
- authMethods: AuthenticationMethod[];
21
- }
22
-
23
- export interface JitVerificationRequiredResult
24
- extends JitContinuationTokenResult {
13
+ export interface JitVerificationRequiredResult extends JitActionResult {
25
14
  type: typeof JIT_VERIFICATION_REQUIRED_RESULT_TYPE;
15
+ continuationToken: string;
26
16
  challengeChannel: string;
27
17
  challengeTargetLabel: string;
28
18
  codeLength: number;
@@ -34,20 +24,10 @@ export interface JitCompletedResult extends JitActionResult {
34
24
  }
35
25
 
36
26
  // Result type constants
37
- export const JIT_GET_AUTH_METHODS_RESULT_TYPE = "JitGetAuthMethodsResult";
38
27
  export const JIT_VERIFICATION_REQUIRED_RESULT_TYPE =
39
28
  "JitVerificationRequiredResult";
40
29
  export const JIT_COMPLETED_RESULT_TYPE = "JitCompletedResult";
41
30
 
42
- export function createJitGetAuthMethodsResult(
43
- input: Omit<JitGetAuthMethodsResult, "type">
44
- ): JitGetAuthMethodsResult {
45
- return {
46
- type: JIT_GET_AUTH_METHODS_RESULT_TYPE,
47
- ...input,
48
- };
49
- }
50
-
51
31
  export function createJitVerificationRequiredResult(
52
32
  input: Omit<JitVerificationRequiredResult, "type">
53
33
  ): JitVerificationRequiredResult {
@@ -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 */