Requisitos previos
- Configura Push como factor en el Auth0 Dashboard o mediante la Management API.
Inscribirse mediante push
Obtener token de MFA
Según cuándo actives la inscripción, puedes obtener un para usar la API de MFA de distintas maneras:- Si realizas la inscripción durante la autenticación, consulta Autenticar 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 un autenticador
POST al endpoint MFA Associate para inscribir el autenticador del usuario. El token Bearer que requiere este endpoint es el token de MFA obtenido en el paso anterior.
Para inscribirse con push, establezca el parámetro authenticator_types en [oob] y el parámetro oob_channels en [auth0].
Si la operación se realiza correctamente, recibirá una respuesta como esta:
User is already enrolled, el usuario ya tiene inscrito un factor de MFA. Antes de asociar otro factor al usuario, debe solicitar una verificación con el factor existente.
Si es la primera vez que el usuario asocia un autenticador, observará 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 acceso a la cuenta o al dispositivo utilizado para la autenticación de segundo factor. Estos códigos son de un solo uso y se generan otros nuevos según sea necesario.
Confirmar la inscripción con push
barcode_uri en la aplicación Guardian, en un plazo de 5 minutos.
Una vez hecho esto, la aplicación Guardian notificará a Auth0 que el usuario se inscribió correctamente. Para saber si eso ocurrió, consulte periódicamente el de Auth0 con el oob_code devuelto por la llamada al endpoint MFA Associate.
Si el usuario no ha escaneado el código, se devolverá una respuesta authorization_pending, lo que indica que debes llamar a oauth_token de nuevo en unos segundos:
active es true.
Desafío con notificación push
Obtener un token de MFA
Obtener los autenticadores inscritos
authenticator_id del factor que quieres usar. Puedes listar todos los autenticadores inscritos con el endpoint MFA Authenticators:
Obtendrás una lista de autenticadores con el siguiente formato:
Desafiar al usuario mediante push
POST al endpoint de MFA Challenge con el authenticator_id correspondiente y el mfa_token.
Completar la autenticación con el code recibido
| Resultado | Descripción |
|---|---|
authorization_pending | Error: si el desafío no se ha aceptado ni rechazado. |
slow_down | Error: si el sondeo es demasiado frecuente. |
access_token y refresh_token | Si el desafío se ha aceptado, el sondeo debe detenerse en este punto. |
invalid_grant | Error: si el desafío se ha rechazado; el sondeo debe detenerse en este punto. |
Personalizar 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 determine cuál coincide con el 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 Auth0 Actions. Para obtener más información, consulta Actions Triggers: post-challenge - API Object.