Cuando utilice el flujo de contraseña del propietario del recurso para autenticarse, llame al endpoint /oauth/token con el username y la contraseña del usuario.Cuando MFA está habilitado, la respuesta incluye un error mfa_required y un mfa_token.
El tiempo de expiración predeterminado de los tokens de acceso con la audiencia https://{yourDomain}/mfa/* es de 10 minutos. Este valor no se puede configurar.
Después de obtener el error anterior, debe determinar si el usuario tiene inscrito un factor MFA o no. Llame al endpoint de autenticadores de MFA con el token de MFA obtenido en la sección anterior.Obtendrá un array con los autenticadores disponibles. El array estará vacío si el usuario no ha inscrito ningún factor.
Si el usuario no está inscrito en MFA, usa el token de MFA obtenido anteriormente y completa la inscripción mediante el endpoint MFA Associate. Consulta los siguientes enlaces para implementar este flujo según el factor de autenticación:
Si el usuario ya está inscrito en MFA, debe desafiarlo con uno de los factores existentes. Use el authenticator_id devuelto por el endpoint MFA Authenticators al llamar al endpoint MFA Challenge.Una vez completado el desafío, llame nuevamente al endpoint /oauth/token para finalizar el flujo de autenticación y obtener los tokens de autenticación.Consulte los enlaces a continuación para implementar este flujo según el factor de autenticación:
Limitaciones y restricciones de los códigos OTP de MFA
Tiempo de expiración: El tiempo de expiración de los códigos OTP de MFA es de 5 minutos. Este valor no se puede configurar.Validación del código: Después de que un usuario valida un código OTP de MFA, no puede volver a usarse.Límite de tasa de validación del código: Los intentos fallidos de validación del usuario están sujetos a un límite de tasa mediante un algoritmo de bucket. El bucket comienza con 10 intentos y se repone a razón de 1 intento cada 6 minutos.
La personalización de MFA con los flujos Resource Owner Password Grant, integrado o de Token de actualización está en acceso anticipado. Al usar esta función, acepta los términos aplicables de la prueba gratuita del Master Subscription Agreement de Okta. Para obtener más información sobre las etapas de lanzamiento de Auth0, consulte Product Release Stages. Para participar en el acceso anticipado, póngase en contacto con Auth0 Support.
Personalice sus flujos de MFA con la MFA API. Con la MFA API, puede permitir que sus usuarios se inscriban y completen desafíos con una selección específica de factores compatibles con su aplicación.Cuando MFA está habilitada con el flujo de contraseña del propietario del recurso para autenticar, llame al endpoint /oauth/token para solicitar un token de acceso. El Servidor de autorización devuelve un error mfa_required que proporciona:
El mfa_token que necesita para llamar a la MFA API para la inscripción y los desafíos.
El parámetro mfa_requirements, que indica el tipo de factor que su aplicación admite para los desafíos.
Use mfa_token para llamar al mfa/authenticator endpoint, enumerar todos los factores que el usuario tiene inscritos e identificar uno del mismo tipo que admite su aplicación. También debe obtener el authenticator_type correspondiente para emitir desafíos: