Saltar al contenido principal
Normalmente, se crean tres capas de sesión cuando sus usuarios inician sesión:
  • Capa de sesión de la aplicación: Esta capa es la sesión dentro de su aplicación. Aunque su aplicación usa Auth0 para autenticar a los usuarios, también lleva un registro de que el usuario ha iniciado sesión en ella; en una aplicación web tradicional, por ejemplo, esto se logra almacenando esta información en una cookie.
  • Capa de sesión de Auth0: Auth0 también mantiene una sesión en el del usuario y almacena su información en una cookie. Esta capa se usa para que, la próxima vez que un usuario sea redirigido a Auth0 para iniciar sesión, se recuerde su información. Esta capa de sesión hace posible la experiencia de en implementaciones de SSO entrante.
  • Capa de sesión del : Cuando los usuarios intentan iniciar sesión con proveedores de identidad como Facebook o Google, y ya tienen una sesión válida iniciada con el proveedor que elijan, no se les volverá a pedir que inicien sesión, aunque sí es posible que se les solicite permiso para compartir su información con Auth0 y, a su vez, con su aplicación.

Cierre de sesión

El cierre de sesión, en el contexto de las implementaciones de Auth0, consiste en finalizar una sesión autenticada. Como práctica recomendada de seguridad, debe finalizar las sesiones cuando ya no sean necesarias para evitar una posible apropiación por parte de terceros no autorizados. Auth0 proporciona herramientas para ayudarle a ofrecer a los usuarios la posibilidad de cerrar sesión; esto incluye opciones para ofrecer distintos niveles de cierre de sesión y para determinar a dónde se redirigirá al usuario una vez completado.
  • Cierre de sesión en la capa de sesión de la aplicación: Cerrar la sesión de los usuarios en sus aplicaciones normalmente implica borrar su sesión de aplicación, y esto debe gestionarlo la propia aplicación: en la capa de sesión de la aplicación, no hay nada dentro de su inquilino de Auth0 que deba usar para facilitar la finalización de la sesión. Para ello, deberá utilizar la pila de sesión de la aplicación que corresponda para borrar cualquier información relacionada con la sesión. Tenga en cuenta que algunos SDK de Auth0 sí ofrecen cierta compatibilidad con sesiones de aplicación; consulte la documentación para comprobar si debe realizar alguna eliminación de sesión local del SDK.
  • Cierre de sesión en la capa de sesión de Auth0: Puede cerrar la sesión de los usuarios en la capa de sesión de Auth0 redirigiéndolos al endpoint de Logout de Auth0 para que Auth0 pueda borrar la cookie de SSO.
    Por lo general, una sesión de Auth0 se borra redirigiendo a los usuarios al endpoint /logout. Sin embargo, si llama al endpoint actualizar un usuario para restablecer atributos del usuario (pasando los valores email, email_verified, phone_number, password y username), auth0.checkSession no renueva la sesión, y el usuario debe volver a iniciar sesión.
  • Cierre de sesión en la capa de sesión del Proveedor de identidad: No es necesario cerrar la sesión de los usuarios en esta capa de sesión, pero puede usar Auth0 para forzar el cierre de sesión si es necesario.

URL de redirección

Para cerrar sesión en la capa de sesiones de Auth0, debes redirigir al usuario a https://{yourCNAME} o {yourTenant}.auth0.com/oidc/logout; normalmente, esto se hace con el método correspondiente del SDK de Auth0 para tu stack tecnológico. Esto borrará tu sesión de Auth0. También te convendrá añadir a esa solicitud un parámetro de consulta llamado id_token_hint; este parámetro debe contener una URL prerregistrada y te protege frente a ataques de redirección abierta. Auth0 solo redirige a las URL permitidas después del cierre de sesión, y puedes configurarlas en dos lugares. El primero es a nivel de tu inquilino de Auth0, donde puedes definir el conjunto de URL de cierre de sesión compartidas entre todas las aplicaciones. El segundo es en la configuración de la aplicación: si necesitas redirecciones distintas para cada aplicación, puedes incluir esas URL en la lista de permitidas dentro de la configuración de la aplicación. Esto te permite definir URL de cierre de sesión en un contexto específico de cada aplicación.

Duración de la sesión y tiempo de espera de la sesión

Puede definir qué ocurre cuando un usuario no cierra sesión explícitamente en su aplicación. Auth0 proporciona límites de duración de la sesión para controlar la finalización de la sesión de Auth0 en este caso.

Cierre de sesión federado

También puede cerrar la sesión de los usuarios en la capa de sesión del proveedor de identidad. Aunque no se recomienda, Auth0 ofrece este comportamiento para muchos proveedores si agrega el parámetro de consulta federated a la redirección a /oidc/logout. Esto redirige al usuario a su proveedor de identidad y también cierra su sesión allí. Para obtener más información sobre el cierre de sesión federado, consulte el artículo Cerrar la sesión de los usuarios en los proveedores de identidad.

Más información