Logout RP-initiated del hub
Generado automáticamente desde el archivo fuente. No editar a mano — vuelve a ejecutar
catalyst-changelog-sync.
Qué cambió
Sección titulada «Qué cambió»- Añade un endpoint navegable del hub
GET /api/o-auth/logoutque borra la cookiehub_sessiony hace un 302 hacia un destino validado, devolviendostate; es idempotente cuando no hay sesión. - Añade una fachada
GET /auth/logouten el BFF del satélite que reenvía el navegador al hub, y conviertePOST /auth/logoutde un stub vacío en una revocación real del refresh token contra el hub — ambos mantienen la URL del hub y el client secret en el servidor. - Valida
post_logout_redirect_uripor same-origin contra elredirectregistrado del cliente, rechazando destinos de otro origen o no absolutos.
Por qué importa
Sección titulada «Por qué importa»Antes, cerrar sesión solo revocaba el par de tokens y limpiaba el almacenamiento local mientras la cookie httpOnly hub_session sobrevivía — así, la siguiente visita a una ruta protegida re-autenticaba al usuario en silencio: el logout parecía real, pero no lo era. Ahora el cierre de sesión navega a través del BFF hasta el hub, que borra la cookie en su propio dominio, terminando la sesión tanto en topología local-provider (mismo origen) como aurora-hub (dominio remoto). El frontend nunca conoce la URL del hub — la posee el BFF, de forma simétrica al login. Limitar el destino post-logout al origen registrado evita que el endpoint se convierta en un open redirect.