This page covers configuration only. Read Implement Session Delegation for the security model and the request/response detail once both applications below are configured.
Configure your applications
Configure the requesting application
The application that calls Custom Token Exchange to obtain a Session Transfer Token needs Custom Token Exchange enabled and the ability to create a Session Transfer Token:can_create_session_transfer_token setting.
The application that calls Custom Token Exchange to request a Session Transfer Token must be a confidential client, authenticating with a Client Secret (or another confidential-client method). Unlike a standard Custom Token Exchange request, the
tokenEndpointAuthMethod: none public-client option is not supported when requesting a Session Transfer Token.Configure the target web application
Your web application must explicitly opt in to accept delegated sessions, and accept the Session Transfer Token as a query parameter on/authorize:
allowed_authentication_methods must include query because Session Delegation passes the Session Transfer Token as a URL query parameter — the cookie-based transfer used by Native to Web SSO doesn’t apply here. delegation.enforce_device_binding only accepts "ip" — IP-based device binding is enforced automatically for delegated sessions. This configuration is disabled by default and has no equivalent Dashboard UI toggle at this time: configure it through the Management API or your infrastructure-as-code tooling (Terraform, Deploy CLI).If a Session Transfer Token carrying an actor is presented to a client without allow_delegated_access enabled, Auth0 does not return an error — it falls back to showing the login page and emits a warning (w) tenant log. Check for this if a delegated session unexpectedly falls back to a login prompt.