id
, created_at
, expires_at
, idle_expires_at
, updated_at
dates, clients
, authentication_at
, and device
information, such as ASN
, IP
, and User_agent
.expiry
dates.event.session
and api.session
objects both support interactive web-based flows, including authorization code flow, implicit flow, device code flow, as well as and .
You can use the event.session
object to review timestamps of the latest interactions and evaluate risks associated with the current transactions. You can also combine the event.session
object with other event objects, such as event.authentication
or event.request
.
You can then use the api.session
object to either reset the existing session expiry dates or revoke the session.
To learn more about these objects, review:
session-revoked
OIDC Back-Channel Logout Initiator to log out users from all applications bound to the current session and log a session_revoked event in the tenant logs.
You can use this method to:
session_id
value.
api.session.revoke(reason,options)
method, ensure that the property event.session.id exists.Different from api.access.deny()
, api.session.revoke()
will deny the current transaction and also revoke the session, therefore first factor authentication will be required againsession_revoked
event code indicating a revoked session with its associated session_id
attribute.
api.session.setExpiresAt(absolute)
and api.session.setIdleExpiresAt(idle)
methods, ensure that a property of the event.session object exists, such as event.session.id
.The api.session.setIdleExpiresAt(idle)
method sets the session inactivity timeout for the current interaction. If the method is not reapplied, subsequent successful interactions will override the inactivity timeout using the session inactivity timeout settings.api.session.setExpiresAt(absolute)
and api.session.setIdleExpiresAt(idle)
will not contain the following event.session property: last_interacted_at.
Sessions issued before the release of the post-login API method api.session.revoke(reason, options)
will not contain the following event.session.device properties:
initial_ip
initial_asn
initial_user_agent
w
) in the tenant logs.
api.session.revoke(reason, options)
method and the event.session
object.
event.session.device.initial_asn
and event.request.asn
to bind session transactions to a specific autonomous system number (ASN) network for their duration and require a re-authentication if the ASN network changes.
event.session.device.initial_asn
and event.request.asn
properties remain within the same ASN network during the transaction. If this check fails, the Action calls api.session.revoke()
to:
event.session.device.initial_ip
and event.request.ip
to ensure a session transaction stays with the same IP address for its duration. In this scenario, any IP change is considered a risk, and the user will be prompted to re-authenticate.
event.session.device.initial_ip
and event.request.ip
properties remain with the same IP address during the transaction. If the check fails, the Action then calls api.session.revoke()
to:
api.session.setExpiresAt(absolute)
and api.session.setIdleExpiresAt(idle)
methods and the event.session
object.
event.connection.metadata.session_timeout define
a specific connection timeout.
session_timeout
defined in the current connection. In that case, the Action sets the session expiration to be equal to when the session was created
plus the connection_lifetime
.
current_time
variable and using a new Organization metadata called idle_session_timeout
set the idle timeout desired for an organization.
current_time
plus the idle_organization_lifetime
.