- event.session: Proporciona información relevante, incluidos
id, las fechascreated_at,expires_at,idle_expires_at,updated_at,authentication_at,clientse información dedevice, comoASN,IPyUser_agent. - api.session: Te permite administrar sesiones existentes revocándolas o cambiando las fechas de
expiry.
event.session como api.session admiten flujos interactivos basados en web, incluido el flujo de código de autorización, el flujo implícito, el flujo de código de dispositivo, así como y .
Puedes usar el objeto event.session para revisar las marcas de tiempo de las interacciones más recientes y evaluar los riesgos asociados a las transacciones actuales. También puedes combinar el objeto event.session con otros objetos de evento, como event.authentication o event.request.
Después, puedes usar el objeto api.session para restablecer las fechas de vencimiento de la sesión existente o revocar la sesión.
Para obtener más información sobre estos objetos, consulta:
- Objeto Event: Obtén información sobre el objeto Event de sesión y sus propiedades.
- Objeto API: Obtén información sobre el objeto API de sesión y sus métodos.
Revocar sesiones con Actions
session-revoked para cerrar la sesión de los usuarios en todas las aplicaciones vinculadas a la sesión actual y registrará un evento session_revoked en los registros del inquilino.
Puede usar este método para:
- Invalidar la transacción de la sesión actual en Auth0
- Denegar la transacción actual
-
Revocar todos los tokens de actualización asociados a la sesión existente que tengan un valor
session_idcoincidente.- Esta es una opción configurable; puede optar por conservar los tokens de actualización en lugar de revocarlos. Esta operación se ejecuta de forma asíncrona y, con el tiempo, alcanza la consistencia.
Si desea usar el método
api.session.revoke(reason,options), asegúrese de que la propiedad event.session.id exista.A diferencia de api.access.deny(), api.session.revoke() denegará la transacción actual y también revocará la sesión; por lo tanto, volverá a ser necesaria la autenticación del primer factorSupervisa los eventos de registro de revocación
session_revoked que indica que se revocó una sesión con su atributo session_id asociado.
Cambie las fechas de vencimiento de las sesiones con Actions
- api.session.setExpiresAt(absolute) le permite definir una nueva fecha de vencimiento absoluta de la sesión (Requerir inicio de sesión después de) para una sesión específica.
- api.session.setIdleExpiresAt(idle) le permite establecer una nueva fecha de tiempo de espera por inactividad para una sesión específica.
- La organización de un usuario
- La conexión de Auth0 de un usuario
- La pertenencia de un usuario específico a un grupo o su perfil
- La evaluación de riesgos
- Cualquier otro criterio dinámico disponible durante la ejecución de la Action
Si quiere usar los métodos
api.session.setExpiresAt(absolute) y api.session.setIdleExpiresAt(idle), asegúrese de que exista una propiedad del objeto event.session, como event.session.id.El método api.session.setIdleExpiresAt(idle) establece el tiempo de espera por inactividad de la sesión para la interacción actual. Si no vuelve a aplicarse, las interacciones correctas posteriores reemplazarán el tiempo de espera por inactividad con la configuración de tiempo de espera por inactividad de la sesión.- Forzar sesiones efímeras para usuarios con roles o en grupos de alto riesgo
- Requerir una nueva autenticación al cerrar el navegador para ciertos dispositivos o rangos de IP
- Acortar la duración de la sesión en entornos no confiables o compartidos (por ejemplo, equipos públicos)
| Propiedad | Tipo | Descripción |
|---|---|---|
persistent | string | La sesión se almacena en una cookie persistente y se mantiene aunque se reinicie el navegador, a menos que se elimine manualmente. |
non-persistent | string | La sesión se almacena solo en memoria y se elimina cuando se cierra el navegador o la aplicación. |
El método
api.session.setCookieMode() anula la configuración predeterminada del inquilino para la sesión actual.Auth0 conserva la configuración de persistencia durante toda la sesión y no es necesario volver a establecerla en futuros flujos de autenticación silenciosa.El método api.session.setCookieMode() debe usarse dentro de una Action de post-login. Si se usa en un contexto en el que api.session no está disponible, la llamada falla silenciosamente.Limitaciones
api.session.setExpiresAt(absolute) y api.session.setIdleExpiresAt(idle) no contendrán la siguiente propiedad de event.session: last_interacted_at.
Las sesiones emitidas antes del lanzamiento del método de la API de post-login api.session.revoke(reason, options) no contendrán las siguientes propiedades de event.session.device:
initial_ipinitial_asninitial_user_agent
w) en los registros del inquilino.
Casos de uso: Revocar una sesión
api.session.revoke(reason, options) y el objeto event.session.
Revocar una sesión debido a la vinculación a una red ASN
event.session.device.initial_asn y event.request.asn, para vincular las transacciones de la sesión a una red específica de número de sistema autónomo (ASN) durante toda la sesión y exigir una nueva autenticación si la red ASN cambia.
event.session.device.initial_asn y event.request.asn permanezcan en la misma red ASN durante la transacción. Si esta comprobación falla, la Action llama a api.session.revoke() para:
- Invalidar la sesión
- Denegar la transacción actual
- Revocar todos los tokens de actualización asociados
- Solicitar que el usuario vuelva a autenticarse
Revocar una sesión por vinculación de IP
event.session.device.initial_ip y event.request.ip para garantizar que una transacción de sesión mantenga la misma dirección IP durante toda su duración. En este escenario, cualquier cambio de IP se considera un riesgo y se le solicitará al usuario que vuelva a autenticarse.
event.session.device.initial_ip y event.request.ip conserven la misma dirección IP durante la transacción. Si la comprobación falla, la Action llama a api.session.revoke() para:
- Invalidar la sesión
- Denegar la transacción actual
- Revocar todos los tokens de actualización asociados
- Solicitar una nueva autenticación
Casos de uso: Personalizar las fechas de vencimiento de una sesión
api.session.setExpiresAt(absolute) y api.session.setIdleExpiresAt(idle), y el objeto event.session.
Personalice el tiempo de expiración absoluta de la sesión en función de las conexiones
- event.session.created_at
- event.session.expires_at
event.connection.metadata.session_timeout define un tiempo de espera específico para la conexión.
session_timeout definido en la conexión actual. En ese caso, la Action establece el vencimiento de la sesión para que coincida con el momento en que se created la sesión más el connection_lifetime.
Personalice el tiempo de espera por inactividad de la sesión según la Organización
current_time y, con unos nuevos metadatos de la Organización llamados idle_session_timeout, establecer el tiempo de espera por inactividad deseado para una organización.
current_time más idle_organization_lifetime.