Saltar al contenido principal
Con la autenticación escalonada, las aplicaciones que permiten acceder a distintos tipos de recursos pueden exigir que los usuarios se autentiquen con un mecanismo más robusto para acceder a recursos sensibles. Puede agregar autenticación escalonada a su aplicación con la compatibilidad extensible de (MFA) de Auth0. Su aplicación puede verificar que el usuario haya iniciado sesión con MFA y, de no ser así, exigirle que aumente el nivel de autenticación para acceder a determinados recursos.

Cómo funciona

Por ejemplo, la intranet de Fabrikam requiere que los usuarios se autentiquen con su username y contraseña para acceder a los datos de los clientes. Sin embargo, una solicitud de acceso a los datos de los empleados (que pueden incluir información salarial confidencial) activa un mecanismo de autenticación más robusto, como MFA.
Diagrama del flujo de autenticación escalonada con MFA

Autenticación escalonada para las API

Cuando tu es una API, puedes implementar la autenticación escalonada con Auth0 mediante alcances, tokens de acceso y Actions. Puedes usar una Action para activar el mecanismo de autenticación escalonada (por ejemplo, solicitar MFA) cada vez que el usuario solicite alcances que correspondan a recursos sensibles. En nuestro ejemplo, un usuario inicia sesión en la aplicación web de Fabrikam. El inicio de sesión estándar le permite interactuar con su API y obtener la lista de sus cuentas. Esto significa que el que la aplicación recibe después de autenticar al usuario contiene un scope como read:accounts. Ahora el usuario desea transferir fondos de una cuenta a otra, lo que se considera una transacción de alto valor. Para realizar esta acción, la API requiere el scope transfer:funds. El token de acceso actual del usuario no incluye este scope, y la aplicación lo sabe (porque conoce el conjunto de scopes que solicitó en la llamada de autenticación inicial). La aplicación realiza otra llamada de autenticación, pero esta vez solicita el scope transfer:funds. El navegador redirige a Auth0. Según la Action de Fabrikam, Auth0 solicita al usuario que se autentique con MFA porque se pidió un scope de alto valor. Una vez que el usuario se autentica correctamente con MFA, Auth0 genera y envía un nuevo token de acceso que incluye ese scope de alto valor. La aplicación envía el token de acceso a la API, que lo descarta después de verificarlo, tratándolo así como un token de un solo uso. Para obtener más información, consulta Configurar la autenticación escalonada para las API.

Autenticación escalonada para aplicaciones web

Si se trata de una aplicación web que verifica el nivel de autenticación, y no de una API, no tendrás un token de acceso. En este caso, puedes comprobar si un usuario inició sesión con MFA revisando el contenido de su . Luego, puedes configurar tu aplicación para denegar el acceso a páginas con información confidencial si el token de ID indica que el usuario no inició sesión con MFA, y usar una Action para activar el mecanismo de autenticación escalonada (por ejemplo, solicitar MFA). Por ejemplo, podrías tener una aplicación para empleados que autentica a los usuarios con usernames y contraseñas, pero si un usuario quiere acceder a información salarial, debe proporcionar un segundo factor, como una notificación push en el móvil. Puedes implementar esto comprobando el token de ID cuando el usuario intenta acceder a esa página. Si los claims muestran que el usuario ya se autenticó con MFA, muestra la información confidencial. De lo contrario, vuelve a activar la autenticación y, mediante una Action, solicita al usuario que se autentique con MFA. Para obtener más información, consulta Configurar la autenticación escalonada para aplicaciones web.

Más información