sid) incluido en los y los tokens de cierre de sesión para coordinar la finalización de la sesión mediante comunicación por canal secundario. Los distintos identificadores de sesión representan sesiones individuales de un agente de usuario o dispositivo dentro de tu inquilino. Los tokens de cierre de sesión identifican al usuario final y la sesión que se debe cerrar.
Comunicaciones de canal secundario
Para que Back-Channel Logout funcione, las aplicaciones deben poder recibir comunicaciones de canal secundario.
Tokens en las comunicaciones de Back-Channel Logout en OIDC
sid) en los ID Token y los Logout Token.
Cuando los usuarios finales se autentican correctamente con Auth0 durante el inicio de sesión, el emite tokens de acceso e ID. Los Logout Token se generan cuando se destruye una sesión, por ejemplo, mediante una acción de cierre de sesión o la revocación de una sesión. Tanto los ID Token como los Logout Token contienen las claims que su aplicación necesita para facilitar el flujo de trabajo de cierre de sesión por canal secundario. Para obtener más información sobre las claims, lea Claims de JSON Web Token.

- Inicio de sesión: durante la autenticación del usuario, el inquilino de Auth0 agrega el
sidal ID Token. - Inicio de sesión: la aplicación almacena el identificador de sesión recibido en su propio almacén de sesiones y lo asocia con la sesión específica de la aplicación.
- Cierre de sesión: el IdP llama a la URL de devolución de llamada de cierre de sesión previamente registrada y envía el Logout Token a este endpoint. El token contiene el
user_id(sub) y elsid, junto con otros parámetros. - Cierre de sesión: el backend de la aplicación debe validar el Logout Token de acuerdo con la especificación de OIDC y extraer el
sid. Luego, el backend puede usar ese valor para encontrar la sesión asociada con el identificador y finalizarla según sea necesario.
La respuesta esperada es
HTTP 200 para un cierre de sesión correcto. Si recibe HTTP 400, una solicitud incorrecta o malinterpretada, puede usar nuestros consejos para solucionar el problema. Para obtener más información, lea Configurar Back-Channel Logout.Cómo funciona

- Durante la configuración de la aplicación, la Aplicación A registra un URI de Back-Channel Logout en Auth0.
-
Durante la configuración de la aplicación, la Aplicación B registra un URI de Back-Channel Logout en Auth0.
Las URL de OIDC Back-Channel Logout deben:
- Ser accesibles desde el IdP
- Usar endpoints con cifrado TLS
- Validar los tokens de cierre de sesión
- Durante el inicio de sesión del usuario final, un usuario se autentica con Auth0 para acceder a la Aplicación A.
-
Auth0 envía un token de ID con
sida la Aplicación A. Para obtener más información, consulte Estructura del ID Token. - El usuario se autentica con Auth0 para acceder a la Aplicación B.
-
Auth0 envía un token de ID con el mismo
sida la Aplicación B. Su aplicación debe almacenar la información de la sesión. - Durante el cierre de sesión, la Aplicación A u otras entidades inician el cierre de sesión en el front-channel.
- Auth0 finaliza la capa de sesión de Auth0 mediante la cookie de sesión.
- Auth0 llama al URI de Back-Channel Logout de la Aplicación A y envía el Logout Token.
- La Aplicación A valida el Logout Token y finaliza la sesión.
- Auth0 llama al URI de Back-Channel Logout de la Aplicación B y envía el Logout Token.
- La Aplicación B valida el Logout Token y finaliza la sesión.
Token de ejemplo
JSON
SDKs de Auth0
Ejemplos de implementación
Almacenamiento de sesiones
Este ejemplo usa un almacén de sesiones en memoria con fines de demostración.
routes/index.js
middlewares/validateLogoutToken.js
Almacén de Logout Tokens

Consideraciones de seguridad
- Las apps deben poder almacenar el ID de sesión (claim
sid) recibido durante el inicio de sesión del usuario para recuperarlo más adelante al recibir un Logout Token por canal secundario. - Las apps deben verificar todos los tokens recibidos de acuerdo con las prácticas recomendadas para la validación de JWT.
- Las apps deben aceptar únicamente tokens emitidos por inquilinos de confianza. Un actor malicioso puede intentar enviar tokens emitidos por otros inquilinos de Auth0; dichos intentos deben rechazarse.
- Las apps deben aceptar tokens solo cuando contengan un valor
sid(ID de sesión) que la app reconozca. Los tokens que contengan un ID de sesión no válido (ya sea porque ha expirado o porque no se reconoce) deben rechazarse. - Las apps deben exponer los endpoints de devolución de llamada únicamente mediante TLS. No se permiten canales de comunicación sin cifrar.
- Se recomienda que las apps acepten solicitudes solo de la lista publicada de direcciones IP salientes.
- Se recomienda que las apps sigan las prácticas recomendadas generales en materia de monitoreo, registro y limitación de tasa; sin embargo, los detalles de estas quedan fuera del alcance de este documento.
- Se recomienda que las apps eliminen periódicamente las sesiones obsoletas o expiradas.
- Cualquier cambio en la dirección del endpoint debe sincronizarse con la configuración del inquilino para garantizar que los Logout Tokens siempre se entreguen a la URL correcta de devolución de llamada de cierre de sesión por canal secundario.