Auth0\SDK\API\Authentication que incluye los métodos que puede usar para acceder directamente a la API de autenticación. Tenga en cuenta que esta interfaz está pensada para aplicaciones más avanzadas y, por lo general, no ofrece un mecanismo para llevar un seguimiento de las sesiones de usuario. Para la mayoría de los casos de uso, le convendrá trabajar con la clase base de Auth0.
En este artículo, encontrará ejemplos de operaciones de autenticación habituales.
Requisitos previos
/authorize de su dominio del inquilino. El siguiente código aparecería en una página que requiere autenticación:
- Comprobamos si hay un usuario autenticado almacenado en nuestro controlador de sesión personalizado. Su aplicación podría gestionar las sesiones de usuario de forma distinta.
- Si no hay ninguna sesión, debemos iniciar sesión redirigiendo al usuario a la página de Universal Login.
- Establecemos un valor de estado con la solicitud de inicio de sesión y luego verificamos ese valor cuando se devuelve el código de autorización en la URL de callback. Lo almacenamos en nuestra sesión de PHP con la clave ‘state’.
- La llamada a
getLoginLink()construye el enlace/authorizecorrecto con el tipo de respuesta adecuado (codeen este caso), el URI de redirección (donde la aplicación procesará la respuesta, como se explica a continuación) y el estado (del paso anterior). - A continuación, redirigimos a esta URL y esperamos a que el usuario vuelva a ser redirigido a nuestra aplicación.
- Buscamos un parámetro
codeen la query de la solicitud. Si no está presente, abortamos la autenticación. - Verificamos que tengamos un valor
statey nos aseguramos de que coincida con el que generamos. Esto es importante para evitar ataques CSRF. - Intentamos intercambiar el código con la llamada c
odeExchange(), asegurándonos de pasar elcodeque Auth0 le dio a nuestra aplicación cuando nos devolvió al usuario autenticado. - Si esto se completa correctamente, sabemos que el intercambio fue exitoso y que tenemos un ID Token y un Token de acceso, entre otros posibles valores.
- Validamos el ID Token y usamos las claims para la identidad del usuario.
- Si este último paso se completa correctamente, guardamos el usuario y redirigimos de vuelta a nuestros datos sensibles.
Flujo de credenciales de cliente
AUTH0_MANAGEMENT_AUDIENCE de su archivo .env.
Solicite un Token de acceso para la API con el siguiente ejemplo:
Cierre de sesión de inicio de sesión único
session_destroy() bastaría para desautenticar a un usuario de su aplicación, también debe cerrar la sesión de su usuario final en Auth0. Esto garantiza que, la próxima vez que el usuario vea un formulario de inicio de sesión de Auth0, se le pedirá que introduzca sus credenciales para iniciar sesión.
Primero, determine a dónde debe dirigirse el usuario una vez completado el cierre de sesión. Guarde esto en la configuración de la aplicación de Auth0, en el campo “Allowed Logout URLs”. Además, agregue una clave AUTH0_LOGOUT_RETURN_URL con esta URL como valor en su archivo .env.
Agregue lo siguiente al código de cierre de sesión de su aplicación: