Saltar al contenido principal

Configuración de sesión

La configuración de sesión define controles a nivel de inquilino para cuánto tiempo permanecen activas las sesiones de inicio de sesión de Logto y cómo se aplican las políticas de acceso relacionadas con la sesión.

Esta página cubre:

  • Configuración de TTL de sesión
  • Máximo de dispositivos autenticados concurrentes por aplicación

Configuración de TTL de sesión

El TTL de sesión determina la vida útil máxima de la sesión de inicio de sesión OIDC de Logto. Es una configuración a nivel de inquilino: una vez configurada, se aplica a todas las aplicaciones y flujos de autenticación en ese inquilino.

Comportamiento predeterminado

  • Por defecto, el TTL de sesión es de 14 días.
  • Si no se configura un TTL personalizado, Logto continúa usando este valor predeterminado.

Configurar a través de Logto Console

Puedes configurar el TTL de sesión en la Consola en:

Consola > Inquilino > Configuración > Configuración OIDC

Utiliza Tiempo máximo de vida de la sesión para actualizar el valor.

nota:

La Consola utiliza días para la entrada y visualización, mientras que la configuración subyacente de sesión OIDC / API utiliza segundos.

Configurar a través de Management API

Utiliza estos endpoints para leer y actualizar la configuración de sesión OIDC:

  • GET /api/configs/oidc/session
  • PATCH /api/configs/oidc/session

Ejemplo (ttl en segundos):

curl https://[tenant-id].logto.app/api/configs/oidc/session \
-H 'authorization: Bearer <management_api_access_token>'
curl -X PATCH https://[tenant-id].logto.app/api/configs/oidc/session \
-H 'authorization: Bearer <management_api_access_token>' \
-H 'content-type: application/json' \
--data-raw '{"ttl":1209600}'

1209600 segundos = 14 días.

nota:

Para implementaciones OSS, reinicia la instancia del servicio después de cambiar logto-config para que el servidor pueda captar la configuración OIDC más reciente.

Para aplicar actualizaciones de configuración OIDC automáticamente sin reiniciar el servicio, habilita la caché central de redis.

Máximo de dispositivos autenticados concurrentes por aplicación

El máximo de dispositivos autenticados concurrentes por aplicación es un control a nivel de aplicación que limita cuántos permisos activos puede mantener cada usuario para una aplicación específica.

Esto se configura mediante el campo maxAllowedGrants en customClientMetadata de la aplicación. Aprende más en Estructura de datos de la aplicación.

Comportamiento

Cuando se establece maxAllowedGrants, Logto evalúa los permisos activos del usuario para la aplicación actual en cada autorización exitosa. Si el número de permisos activos supera el límite, Logto revoca primero los permisos más antiguos.

Si no se establece maxAllowedGrants, no hay límite de concurrencia.

Configurar a través de Logto Console

Puedes configurar esto en la página de detalles de cada aplicación en:

Consola > Aplicaciones > Detalles de la aplicación > Límite de dispositivos concurrentes

Establece el número máximo de permisos activos concurrentes (dispositivos) por usuario para la aplicación actual.

nota:

Esta configuración no es compatible con aplicaciones máquina a máquina, aplicaciones protegidas y aplicaciones SAML.

Monitorea las expulsiones con un webhook

Cuando Logto revoca los permisos más antiguos de un usuario para hacer cumplir maxAllowedGrants, activa el evento Grant.LimitExceeded webhook, para que puedas reaccionar ante la desconexión de dispositivos en lugar de descubrirlo a través de tickets de soporte.

La carga útil identifica al usuario y la aplicación, el límite en vigor, cuántos permisos estaban activos antes de la expulsión y los IDs de los permisos que fueron revocados. Consulta Grant.LimitExceeded payload para ver la estructura completa.

Casos de uso comunes:

  • Notificar al usuario que fue desconectado en otro dispositivo, y desde dónde.
  • Alimentar las tasas de expulsión de dispositivos en tus análisis para saber si el límite configurado es demasiado bajo.
  • Marcar patrones inusuales de expulsión para un solo usuario como posible señal de compartición de credenciales o toma de control de cuenta.

Navega a Consola > Webhooks para suscribirte, o crea el hook a través de la Management API. Consulta Webhooks para detalles de configuración.

Sesiones Gestionar sesiones de usuario

Gestionar aplicaciones autorizadas del usuario (permisos)

Estructura de datos de la aplicación: maxAllowedGrants

Eventos de webhooks: eventos de excepción de hook

Interactuar con Management API