Skip to main content

Antes de comenzar

Asegúrese de tener:
La experiencia Keep Me Signed In ofrece a los usuarios la opción de permanecer conectados en un dispositivo de confianza.
Imagen de inicio de sesión
  • Si la casilla Keep Me Signed In está seleccionada, se establece una sesión persistente que se mantiene aunque se reinicie el navegador.
  • Si la casilla Keep Me Signed In no está seleccionada, se establece una sesión no persistente que caduca cuando se cierra el navegador.
Con sesiones no persistentes (efímeras) y Actions, el servidor gestiona esta lógica de forma segura sin exponer tokens de actualización al frontend. Con Custom Prompts, Auth0 CLI y sesiones efímeras mediante Actions, puede implementar un flujo de “Keep Me Signed In” moderno y seguro, sin tokens de actualización, sin soluciones alternativas de sesión del lado del cliente y con control total desde el backend. Esta solución es ideal para clientes que priorizan:
  • Gestión de sesiones del navegador con enfoque de confianza cero
  • Persistencia mínima de la sesión
  • Excepciones para dispositivos de confianza

1. Configure una página de Universal Login y añada una pantalla personalizada

Para recopilar la preferencia Keep Me Signed In del usuario, debe personalizar Universal Login configurando una plantilla de página y agregando una pantalla personalizada mediante Auth0 CLI.

Opcional: habilite la plantilla de página de Universal Login

Este paso solo es necesario si su inquilino no tiene configurada una plantilla de Universal Login.
Use el siguiente comando para crear o actualizar la plantilla de la página:
El editor de personalización abre la plantilla de la página de inicio de sesión. Puede usar cualquier estructura HTML que se adapte a su marca. Aquí tiene una plantilla de ejemplo mínima con un fondo y un widget integrado:
Guarde y cierre el editor; la CLI de Auth0 le pedirá que confirme:

2. Agrega una casilla «Keep Me Signed In» con Auth0 CLI

Para agregar una casilla de verificación a la pantalla de Universal Login, sigue estos pasos:

Abra el editor de personalización

  1. Abra el editor de personalización para la pantalla login-id o login, según la configuración de su inquilino:
  1. Selecciona standard como modo de renderizado
El editor de personalización se abre en una dirección local:
Si no sabe con certeza si su inquilino usa login o login-id, consulte la personalización de pantallas de Auth0.

Configura la casilla de verificación

Abre la opción Partials en el editor de personalización:
  1. Establece Prompt en: login-id (o login)
  2. Establece Screen en: login-id (o login)
  3. Establece Partial en: form-content-end
Partials de Auth0 CLI
Agrega el siguiente fragmento de HTML:
Esto muestra la casilla de verificación debajo del formulario de inicio de sesión.

Implementa los cambios

Selecciona Deploy Changes en la esquina superior derecha para guardar y aplicar la personalización.

Punto de control

Inicia sesión con Universal Login. La pantalla de inicio de sesión incluye una casilla Keep Me Signed In.
Imagen de inicio de sesión

3. Crear una Action de post-login con Auth0 CLI

Cree un archivo llamado set-session-persistence.js para usarlo con Auth0 CLI y agregue el siguiente código:
Esta Action hace que la cookie de sesión se mantenga entre reinicios del navegador cuando el usuario marca la casilla. Para ampliar también la duración de la sesión en dispositivos de confianza, consulte Establecer la duración de la sesión para dispositivos de confianza más abajo. Use Auth0 CLI para crear o actualizar su Action de post-login con el archivo set-session-persistence.js:
La CLI de Auth0 devuelve el id de la Action:
Implementa tu Action usando su id:
Navegue hasta Auth0 Dashboard > Actions > Triggers > Post-Login para añadir la nueva Action al flujo actual y seleccione Apply.
Dashboard Actions Triggers Post Login

Establezca la duración de la sesión para dispositivos de confianza

setCookieMode() solo controla cómo se envía la cookie de sesión al navegador. Una cookie persistente se mantiene incluso si se reinicia el navegador, mientras que una cookie no persistente (de sesión) se elimina al cerrar el navegador. No cambia el tiempo de expiración de la sesión en el backend. Si quiere que los dispositivos de confianza tengan una sesión de mayor duración, debe establecer explícitamente la expiración con api.session.setExpiresAt() o api.session.setIdleExpiresAt().
Para que los dispositivos de confianza tengan una sesión de mayor duración, use api.session.setExpiresAt() o api.session.setIdleExpiresAt() junto con setCookieMode():

4. Pruebe la implementación

Para verificar el comportamiento de la sesión, puede: Inicie sesión con Universal Login y seleccione la casilla Keep Me Signed In.
  • En los registros del inquilino, busque (tipos de evento s o ssa)
    • cookie: { mode: "non-persistent" }
    • cookie: { mode: "persistent" }
  • Busque event.session.cookie.mode en sus Actions