This guide assumes you use Okta as your enterprise identity provider (IdP) and have administrative access to an Okta tenant you can use for testing. If you don’t have one, read Create and configure your Okta tenant.
Create and configure your Okta tenant
To create and configure your Okta tenant for Cross App Access:- On the Okta Developer website, sign up for an Okta Integrator Free Plan. Once you sign up, you should be redirected to your new Okta tenant.
- If Cross App Access is not enabled in your Okta tenant, email
developers@okta.comto request XAA enablement for your Okta tenant.

Register the Requesting App in Okta
Create the Requesting App in Okta
Your Requesting App is a standard OIDC application. In the Okta Admin Console:- Navigate to Applications and Resources > Applications > Create App Integration.
- Select Classic experience > OIDC - OpenID Connect > Web Application and select Next.

- Enter an application name.
- Under Grant Type, select Authorization Code and Refresh Token.
- Under Sign-in redirect URIs, add the callback URL of your Requesting App tenant:
https://YOUR_REQUESTING_APP_DOMAIN/login/callback. - Configure Assignments if needed and select Save.


Assign the Requesting App to test users
Allow your test user to log in to the Requesting App in Okta. In the Okta Admin Console:- Navigate to Applications and select the Requesting App you created.
- Under Assignments, select Assign > Assign to People and select your test user.
- Select Save.

Register and configure the AI agent in Okta
In Okta, the AI agent represents the entity that acts on behalf of the user to access the Resource App. You associate the AI Agent with the Requesting App OIDC application you created. When you do, the AI Agent takes on the Requesting App’s OIDC credentials.Create the AI agent
In the Okta Admin Console, navigate to Directory > AI Agents > Register AI Agent and select Register Manually.- Enter a name for your agent.
- Select Allow users to access this agent.
- Under Select an existing app, select the Requesting App you created.
- (Optional) Assign an owner.
- Select Save.

STAGED.

Set client registration for the AI agent
- Select the AI agent you created.
- Select the Client registration tab.
- Select Client Secret as the authentication method. Private Key JWT is also supported.
- Note the Client ID and Client Secret of the AI agent, which should be the Client ID and Client Secret of the Requesting App OIDC Application you created in your Okta tenant. You’ll need these when configuring the Okta Workforce connection in your Requesting App tenant.

Activate the AI Agent
Under Actions, select Activate and verify that the Managed Status is Active.Configure the Requesting App connection in Auth0
In your Requesting App Auth0 tenant, create an Okta Workforce Enterprise connection. This connection authenticates your users with Okta and enables the XAA Requesting App role.- Auth0 Dashboard
- Management API
- Navigate to Authentication > Enterprise > Okta Workforce and select Create Connection.
- Under Cross App Access > Cross App Access Role, select Requesting Application.

The Requesting Application toggle is disabled while the connection uses the front channel. Make sure to set the communication channel to back channel for the connection.
- Select Create.
Add offline_access scope and update the user mapping
- Auth0 Dashboard
- Management API
After creating the connection, select it and navigate to Settings.
- Under Scopes, add
offline_accessto the list of scopes. This enables your application to obtain a refresh token, which is required to perform the refresh token exchange with Token Vault. - Under Mappings, select Okta Basic and add
offline_accessto theuserinfo_scopelist in the JSON mapping.

- Select Save.
Enable connection for an application
- Auth0 Dashboard
- Management API
Before testing the connection, navigate to the Applications tab and enable the connection for at least one application.
Test the connection
- Select the Okta Workforce connection you created, then select the three dots and select Try.
- Log in with your test user in Okta to verify the connection works.
Users must log in with a XAA-enabled enterprise connection at least once so that the user profile exists in Auth0. Auth0 does not support JIT user creation with ID-JAG at the moment.
Register the Resource App in Okta
Create the Resource App in Okta
Your Resource App is also an OIDC web application registered in Okta. In the Okta Admin Console:- Navigate to Applications and Resources > Applications > Create App Integration.
- Select Classic experience > OIDC - OpenID Connect > Web Application and select Next.
- Enter an application name.
- Under Grant Type, select Authorization Code and Refresh Token.
- Under Sign-in redirect URIs, add the callback URLs of both the Requesting App tenant and the Resource App tenant:
https://YOUR_REQUESTING_APP_DOMAIN/login/callbackhttps://YOUR_RESOURCE_APP_DOMAIN/login/callback
- Configure Assignments if needed.
- Select Save.

Assign Resource App to Test Users
Allow your test user to log in to the Resource App in Okta. In the Okta Admin Console:- Navigate to Applications and select the Resource App you created.
- Select Assign > Assign to People and select your test user.
- Select Save.

Enable Cross App Access for the Resource App
- Select the Resource Server tab for the Resource App.
- Enable Cross App Access (XAA).
- Enter the Issuer URL of the Resource App tenant:
https://YOUR_RESOURCE_APP_DOMAIN/.

Auth0 issues and accepts tokens with an issuer URL that must end with a trailing forward slash
/.- Leave the Audience/Tenant ID field blank. Auth0 does not support the
aud_tenantclaim. - Select Save.
Assign the Resource App to the AI agent
In the Okta Admin Console:- Navigate to Directory > AI Agents and select the AI agent you created.
- Under Resource Connections, select Add resource connection.
- Select Application and then App configured for AI Agent access as the Resource type.
- Under Application, select the Resource App you created.
- Leave the Resource indicator blank. When left blank, Okta will auto-generate a value.
- For AI agent’s client ID registered in this app, enter the Client ID of the Resource App application registered in your Resource App Auth0 tenant.
- Optionally, configure scope restrictions.
- Select Add.

Configure the Resource App connection in Auth0
In the Resource App Auth0 tenant, create an Okta Workforce Enterprise connection that federates it with Okta and enables the XAA Resource App role.- Auth0 Dashboard
- Management API
- Navigate to Authentication > Enterprise > Okta Workforce and select Create Connection.
- Under Cross App Access > Cross App Access Role, select Resource Application.

- Select Create.
Add offline_access scope and update mappings
- Auth0 Dashboard
- Management API
After creating the connection, select it and navigate to Settings.
- Under Scopes, add
offline_accessto the list of scopes. - Under Mappings, select Okta Basic and add
offline_accessto theuserinfo_scopelist in the JSON mapping. - Select Save.

Enable the connection for the Resource App
- Auth0 Dashboard
- Management API
Under Applications, enable the Okta Workforce connection for the Resource App application registered in the Resource App tenant.
Test the connection
Select the Okta Workforce connection you created, then select the three dots and select Try. Log in with your test user to verify the connection works. Once the user successfully logs in, their user profile is created in your Resource App tenant.Users must log in with a XAA-enabled enterprise connection at least once so that the user profile exists in Auth0. Auth0 does not support JIT user creation with ID-JAG at the moment.