Requisitos previos
- Configure el teléfono como factor en el Dashboard o mediante la Management API.
Inscribirse mediante SMS o voz
Obtener un token de MFA
- Si realizas la inscripción durante la autenticación, consulta Autenticarse con Resource Owner Password Grant y MFA.
- Si quieres permitir que el usuario inscriba un factor en cualquier momento, consulta Administrar inscripciones de factores de MFA.
Inscribir el autenticador
POST al endpoint MFA Associate para inscribir el autenticador del usuario. El token bearer requerido por este endpoint es el token de MFA obtenido en el paso anterior.
Para inscribirse mediante SMS o voz, use un número de teléfono al que se le pueda enviar un desafío por SMS o voz. Especifique los siguientes parámetros para llamar al endpoint. El parámetro oob_channels indica cómo desea enviar el code al usuario (SMS o voz).
| Parámetro | Valor |
|---|---|
authentication_types | [oob] |
oob_channels | [sms] o [voice] |
phone_number | +11...9, el número de teléfono en formato E.164 |
User is already enrolled, el usuario ya tiene inscrito un factor de MFA. Antes de asociar otro factor al usuario, debe solicitarle un desafío con el factor existente.
Si es la primera vez que el usuario asocia un autenticador, verá que la respuesta incluye recovery_codes. Los códigos de recuperación se usan para acceder a la cuenta del usuario en caso de que pierda el acceso a la cuenta o al dispositivo usado para la autenticación con segundo factor. Estos códigos son de un solo uso y se generan otros nuevos según sea necesario.
Confirmar la inscripción por SMS o por voz
POST al . Debes incluir el oob_code devuelto en la respuesta anterior y el binding_code con el valor recibido en el mensaje.
Si la llamada se realizó correctamente, recibirás una respuesta en el siguiente formato que contiene el token de acceso:
Desafío por SMS o voz
Obtener un token de MFA
Recuperar autenticadores inscritos
authenticator_id del factor que quiere desafiar. Puede listar todos los autenticadores inscritos mediante el endpoint de MFA Authenticators:
Obtendrá una lista de autenticadores con el siguiente formato:
Desafiar al usuario con OTP
POST al endpoint de MFA Challenge con el authenticator_id correspondiente y el mfa_token.
Completar la autenticación con el code recibido
binding_code. Puede verificar el code y obtener tokens de autenticación mediante el endpoint de token de OAuth0, especificando los valores binding_code y oob_code devueltos por la llamada anterior:
Si la llamada se realiza correctamente, recibirás una respuesta con el siguiente formato, que contiene el token de acceso:
code no válido están sujetos a limitación de tasa. Los code por SMS se pueden enviar 10 veces y se restablecen una vez por hora, mientras que las respuestas por code no válido se pueden devolver 10 veces y se restablecen una vez cada seis minutos.
Personaliza MFA
oauth/token, la respuesta devuelve el error mfa_required, que incluye el mfa_token para usar la API de MFA y el parámetro mfa_requirements con una lista de autenticadores:
mfa_token para llamar al endpoint mfa/authenticator y obtener una lista de todos los factores en los que el usuario se ha inscrito, y busque uno del mismo tipo que admite su aplicación. También debe obtener el authenticator_type correspondiente para emitir desafíos:
request/mfa/challenge.
Personaliza aún más tu flujo de MFA con Actions de Auth0. Para obtener más información, consulta Actions Triggers: post-challenge - API Object.