Skip to main content
Los límites de duración de la sesión determinan cuánto tiempo debe el sistema conservar una sesión de inicio de sesión. En Auth0, se pueden configurar dos ajustes para la duración de la sesión:
  • Idle Session Lifetime: Período tras el cual la sesión de un usuario expirará si su no ha interactuado con el . Se sustituirá por los límites del sistema si supera los 3 días en los planes de autoservicio o los 100 días en los planes empresariales.
  • Maximum Session Lifetime: Período tras el cual se requerirá que un usuario vuelva a iniciar sesión, independientemente de su actividad. Se sustituirá por los límites del sistema si supera los 30 días en los planes de autoservicio o los 365 días en los planes empresariales.
Estos ajustes se configuran en el inquilino; puede configurarlos mediante el Auth0 Dashboard o la . Cuando un usuario realiza un nuevo inicio de sesión estándar, la sesión de inicio de sesión se restablece. Este es un ejemplo:
  1. Establece el límite de Idle Session Lifetime en 3 días y el límite de Require log in after en 30 días.
  2. Un usuario inicia sesión y los valores que introdujo se aplican a su sesión.
    1. Si el usuario está activo dentro del período de tres días de Idle Session Lifetime, la duración de la sesión se amplía por otros tres días. Siempre que el usuario permanezca activo dentro de los siguientes tres días, la duración de su sesión se ampliará por otros tres días, hasta que se alcance el límite de Maximum Session Lifetime. En ese momento, el usuario deberá volver a iniciar sesión.
    2. Si el usuario permanece inactivo durante tres días, se cerrará su sesión automáticamente.
  3. Mientras el usuario ha iniciado sesión, usted amplía los límites existentes de duración de la sesión. La nueva configuración no surtirá efecto hasta que finalice la sesión actual y el usuario vuelva a iniciar sesión.
  4. Mientras el usuario ha iniciado sesión, usted reduce los límites de duración existentes. La nueva configuración surtirá efecto inmediatamente en la siguiente actividad del usuario. Esto le permite acortar la duración de las sesiones por motivos de seguridad.

URL de cierre de sesión específicas de la aplicación

Hay dos aspectos importantes que debe tener en cuenta cuando use URL de cierre de sesión específicas de la aplicación:
  • Debe enviar client_id como parámetro de consulta al llamar al endpoint /oidc/logout, y la URL de id_token_hint debe estar en la lista de URL de cierre de sesión permitidas de la aplicación.
  • Esto finalizará la sesión de Auth0 para todo el inquilino; es decir, para todas las aplicaciones definidas, no solo para la que coincide con el client_id proporcionado. Pasar el client_id le indica al endpoint /logout dónde buscar la lista de URL de cierre de sesión permitidas.
Después de que se cierre la sesión del usuario, Auth0 solo redirigirá a una URL definida en esta lista. Si redirige al usuario de vuelta a la aplicación después de cerrar sesión y la aplicación redirige a un que todavía mantiene una sesión autenticada para ese usuario, el usuario volverá a iniciar sesión de forma silenciosa en su aplicación y puede parecer que el cierre de sesión no funcionó. En estos casos, le recomendamos que tenga una página de destino específica para el cierre de sesión en su aplicación, para poder indicarle al usuario que cerró sesión correctamente y, si lo desea, también advertirle que puede seguir teniendo una sesión iniciada en su proveedor de identidad. En caso de que un usuario no haya realizado ninguna acción que actualice la sesión de Auth0, le recomendamos advertirle que elija continuar explícitamente con su sesión. El objetivo de este enfoque es permitir que la sesión quede inactiva si el usuario ya no está presente y, en caso contrario, ofrecer un medio para activar la actualización silenciosa del token para que pueda continuar su sesión sin necesidad de volver a introducir credenciales.
  • Temporizador de inactividad: Agregue un temporizador renovable al contenedor del SDK de React que se alinee con el tiempo máximo de inactividad de la sesión de Auth0. Cada vez que se devuelve un token a la aplicación, reinicie el temporizador.
  • Modal de tiempo de espera: Cuando falten 60 segundos para que expire el temporizador, debe mostrarse un modal de tiempo de espera que pida al usuario cerrar sesión o continuar con su sesión.
    • Continuar la sesión: Si el usuario elige continuar con su sesión, use el método getTokenSilently() para solicitar un token nuevo sin redirigir al usuario fuera de la página con la que está interactuando en ese momento.
    • Cerrar sesión: Si el usuario elige cerrar sesión, se debe llamar al método logout() para garantizar que también finalice la sesión de Auth0.
    • Tiempo de espera por inactividad: Si se alcanza el tiempo de espera por inactividad, no es necesario realizar ninguna acción inmediata. Para contemplar el hecho de que el usuario aún podría estar activo en otra pestaña, el comportamiento no debe ser cerrar la sesión del usuario.
    • Otras opciones incluyen actualizar el modal con un botón de inicio de sesión, usar el evento window.onfocus para activar getTokenSilently() o redirigir al usuario a una página de destino.

Más información