Cierre de sesión por front-channel y back-channel
Compare las estrategias de cierre de sesión por front-channel y back-channel para finalizar eficazmente las sesiones en distintos clientes.
Cierre de sesión por front-channel y back-channel es una lección gratuita de OAuth2 & OpenID Connect Deep Dive en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de OAuth2 & OpenID Connect Deep Dive, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de OAuth2 & OpenID Connect Deep Dive incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Logging Out in OIDC
When you log out of an application, it might seem simple. You click a button, and you're out. But in systems using OpenID Connect (OIDC) or OAuth2, it's more complex.
A user often has a session with the Identity Provider (IdP) and potentially multiple client applications. A true logout means terminating all these related sessions.
The Single Logout Challenge
Single Logout (SLO) aims to log a user out of all connected applications when they initiate logout from just one. Sounds great, right?
The challenge is ensuring all clients, potentially across different domains, reliably receive and act on the logout request from the Identity Provider (IdP). This isn't always straightforward.
Front-Channel Logout Basics
Front-Channel Logout is a browser-based approach. When a user logs out, the IdP uses the user's browser to communicate with each client application.
Think of it like the IdP telling the browser, "Hey, go tell these other apps to log out too!" The browser then makes requests to the clients' logout endpoints.
How Front-Channel Logout Works
Here's how Front-Channel Logout typically works:
- The user initiates logout (e.g., clicks "Sign Out").
- The IdP receives the logout request.
- The IdP redirects the user's browser to a special IdP logout page.
- This page contains hidden
<iframe>elements, each pointing to a registered client's logout URI. - The browser loads these iframes, causing each client to clear its local session.
Front-Channel: Good & Bad
Front-Channel Logout offers simplicity but comes with limitations:
- Pros:
- Relatively easy for the IdP to implement.
- Works well for purely browser-based clients.
- Cons:
- Less reliable: Can be blocked by browser settings (e.g., third-party cookies, pop-up blockers).
- Depends on the user's browser being active.
- Doesn't work for non-browser clients (e.g., mobile apps, backend services).
Introducing Back-Channel Logout
Back-Channel Logout takes a different, more robust approach. Instead of relying on the user's browser, the Identity Provider (IdP) communicates directly with each client's backend server.
This is a server-to-server interaction, making it more reliable and suitable for a wider range of client types, especially those with server-side sessions.
How Back-Channel Logout Works
Here's the typical Back-Channel Logout sequence:
- The user initiates logout.
- The IdP receives the logout request and invalidates its own session.
- The IdP then sends an HTTP POST request to each registered client's back-channel logout URI.
- This POST request includes a signed Logout Token (a JWT).
- Each client's server validates the Logout Token and terminates the user's local session.
Back-Channel: Good & Bad
Back-Channel Logout provides greater reliability but requires more setup:
- Pros:
- Highly reliable: Not dependent on browser state or user interaction.
- Works for all client types (web, mobile, backend services).
- Ideal for clients maintaining server-side user sessions.
- Cons:
- Requires clients to expose a dedicated logout endpoint.
- More complex to implement securely (e.g., validating Logout Tokens).
- Potential for network issues between IdP and client servers.
Choosing Your Logout Strategy
When deciding between front-channel and back-channel logout, consider your client types and reliability needs:
- For simple, purely browser-based clients where occasional logout failures are acceptable, Front-Channel might suffice.
- For robust applications, especially those with server-side sessions, mobile apps, or APIs, Back-Channel is generally the preferred and more secure choice.
- Many modern systems favor back-channel for its reliability.
Quick Check: Logout Flows
Let's test your understanding of front-channel and back-channel logout characteristics.
Recap: Effective Logout
In this lesson, we explored the crucial topic of single logout in OIDC and OAuth2 systems. We learned about two primary strategies:
- Front-Channel Logout: Browser-based, simpler, but less reliable.
- Back-Channel Logout: Server-to-server, more robust, ideal for diverse client types and server-side sessions.
Understanding these flows helps in designing secure and user-friendly authentication systems where sessions are properly terminated across all connected services.
Aprende OAuth2 & OpenID Connect Deep Dive con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 12
- Lecciones
- 48
Preguntas frecuentes
¿La lección «Cierre de sesión por front-channel y back-channel» es gratis?
Sí — el texto completo de «Cierre de sesión por front-channel y back-channel» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de OAuth2 & OpenID Connect Deep Dive, actualiza a CoddyKit PRO. El curso de OAuth2 & OpenID Connect Deep Dive incluye 4 lecciones en total.
¿Qué aprenderé en «Cierre de sesión por front-channel y back-channel»?
Compare las estrategias de cierre de sesión por front-channel y back-channel para finalizar eficazmente las sesiones en distintos clientes. Practicas OAuth2 & OpenID Connect Deep Dive con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar OAuth2 & OpenID Connect Deep Dive?
No se requiere experiencia previa. OAuth2 & OpenID Connect Deep Dive en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Cierre de sesión por front-channel y back-channel»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de OAuth2 & OpenID Connect Deep Dive?
Sí. Cada lección de OAuth2 & OpenID Connect Deep Dive incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Consentimiento y experiencia de usuario
- Intercambio de recursos de origen cruzado (CORS)
- Cierre de sesión por front-channel y back-channel
- Tokens vinculados al emisor mediante mTLS