Antes de empezar
Para usar Back-Channel Logout, tu aplicación debe cumplir los siguientes requisitos:
- El endpoint URI de Back-Channel Logout de OIDC debe estar expuesto en internet para que tu inquilino de Auth0 pueda acceder a él.
- Las aplicaciones listas para producción deben usar TLS. Para obtener más información, consulta TLS (SSL) Versions and Ciphers.
- La aplicación debe poder almacenar el identificador de sesión (
sid) proporcionado y asociarlo a las sesiones de usuario que crea. Recomendamos que las aplicaciones de producción usen almacenamiento de sesiones duradero. - La aplicación debe poder recuperar una sesión existente mediante el
siddurante el proceso de cierre de sesión sin usar cookies del lado del cliente. Las cookies existen dentro del navegador y no son accesibles para el endpoint de callback de cierre de sesión.
Disponibilidad
/.well-known/* para determinar si su aplicación cumple los requisitos.
Restricciones de Back-Channel Logout
- Debe usar el protocolo HTTPS. No se permiten HTTP sin cifrar ni otros protocolos.
-
No debe usar subdominios de Auth0. Algunos subdominios de Auth0 son:
- auth0.com
- auth0app.com
- webtask.io
- webtask.run
- No recomendamos usar direcciones IP sin dominio. Para usar Back-Channel Logout, las direcciones IP deben ser públicas. No se permiten direcciones IP de rangos internos, reservados o de loopback.
Configura Auth0
- Auth0 Dashboard
- Management API
Suscribir aplicaciones
- Ve a Auth0 Dashboard > Applications.
- Elige la aplicación que quieres registrar.
- Selecciona la pestaña Settings.
-
En OpenID Connect Back-Channel Logout > Back-Channel Logout URI, agrega el URI de cierre de sesión de la aplicación que recibirá los
logout_tokens -
Cuando termines, selecciona Save Changes.

Cancelar la suscripción de aplicaciones
Al cancelar la suscripción de tu aplicación, el servicio deja de hacer seguimiento de nuevos inicios de sesión y de enviar eventos de cierre de sesión. El servicio descarta los eventos de cierre de sesión pendientes una vez cancelada la suscripción de tu aplicación.Para cancelar la suscripción de tu aplicación, elimina la URL de Back-Channel Logout.- Ve a Auth0 Dashboard > Applications.
- Elige la aplicación que quieres registrar.
- Selecciona la pestaña Settings.
- En OpenID Connect Back-Channel Logout > Back-Channel Logout URI
- Elimina la URL de back-channel.
-
Cuando termines, selecciona Save Changes.

API Operation Event en los registros del inquilino de Auth0. Para obtener más información, consulta Logs.Configure la aplicación
-
Implemente la autenticación del usuario final según el tipo de aplicación.
- Los usuarios finales deben poder iniciar sesión en la aplicación y se debe crear una sesión.
- Auth0 debe emitir un token de ID, y este debe estar accesible en el backend de la aplicación para su posterior procesamiento.
-
Amplíe el proceso de inicio de sesión para guardar los claims
sidy, opcionalmente,subdespués de validar el token de ID.- Estos claims deben guardarse asociados a la sesión actual de la aplicación.
- Las funciones de administración de sesiones deben poder recuperar una sesión específica a partir del valor de
sid.
-
Configure el endpoint de Back-Channel Logout:
- El endpoint debe procesar únicamente solicitudes
HTTP POST. - Extraiga el parámetro
logout_tokeny valídelo como un JWT normal de acuerdo con la especificación. - Verifique que el token contenga un claim
eventscon un valor de objeto JSON y un miembro llamadohttp://schemas.openid.net/event/backchannel-logout. - Verifique que el token contenga los claims
sidy/osub. - Verifique que el token NO contenga el claim
nonce. Esto es necesario para evitar usos indebidos al distinguir el Logout Token del token de ID. - Una vez validado el token, recupere la sesión correspondiente al valor
sidy/osubrecibido y termínela. El proceso exacto para finalizar la sesión de la aplicación depende de los detalles de la implementación. Por ejemplo, puede ser necesario comunicar este evento al frontend.
- El endpoint debe procesar únicamente solicitudes
Ejemplo de solicitud de Back-Channel Logout de OIDC
cURL
El token caduca en 2 minutos (120 s).
JSON
Respuestas esperadas
- HTTP 200: Confirma el cierre de sesión del usuario en la aplicación específica.
- HTTP 400: Indica una solicitud incorrecta. No se entiende la solicitud o el token no superó la validación. Auth0 registra el problema en los registros del inquilino, pero no realiza más solicitudes para esta sesión específica.
Solucionar problemas
La aplicación no recibió los eventos de cierre de sesión
- Asegúrate de que tu aplicación tenga registrada una URL de Back-Channel Logout en Auth0 Dashboard.
- Asegúrate de que se pueda acceder a la URL de Back-Channel Logout desde el inquilino de Auth0.
-
Asegúrate de que se haya establecido una sesión válida. El usuario final debe iniciar sesión en tu aplicación específica a través de Auth0.
Las aplicaciones reciben eventos de cierre de sesión solo si los usuarios finales inician sesión en esa aplicación específica con Auth0. Si los usuarios finales inician sesión en otras aplicaciones, no se activarán eventos de cierre de sesión.
- Revisa los registros del inquilino de Auth0 para ver si hay mensajes sobre errores en la entrega de mensajes de cierre de sesión.
- Asegúrate de que el cierre de sesión se active mediante el endpoint estándar de cierre de sesión. Otros eventos no activan los eventos de cierre de sesión.
- Si es posible, revisa si hay solicitudes bloqueadas en el servidor web y/o en los registros del firewall de la aplicación.
No encuentro los registros del inquilino para OIDC Back-Channel Logout
sslo para oidc_backchannel_logout_succeeded o fslo para oidc_backchannel_logout_failed.
La aplicación cliente no puede verificar el Logout Token recibido
- Compruebe si el token es un JWT estándar codificado en base64. Algunos servidores web pueden truncar los parámetros largos. Para obtener más información, consulte Signing Algorithms.
- Si es posible, capture un token y verifique que sea un JWT. Use una fuente confiable, como JWT.IO.
-
Asegúrese de que la función de verificación obtenga dinámicamente la clave de firma del inquilino a través de JSON Web Key Sets (JWKS).
No recomendamos fijar una clave estática en el código. Si su configuración requiere hacerlo, asegúrese de que incluya la clave pública más reciente del inquilino de Auth0.