Si vous souhaitez créer et tester le flux XAA complet du côté de la Requesting App : suivez d’abord Configuration de l’environnement et Okta comme IdP OIDC, puis revenez ici pour configurer votre application de test.Si Token Vault est déjà configuré et que vous voulez ajouter la prise en charge de XAA : passez à Ajouter XAA à une intégration Token Vault existante.
Qu’est-ce qui change avec XAA?
- Lorsque vous utilisez Token Vault avec XAA, les utilisateurs finaux n’ont pas à connecter leur compte à des applications externes. Votre application n’a pas besoin d’afficher un bouton « Se connecter à [Application tierce] » qui envoie une requête
POSTau endpoint/me/v1/connected-accounts/connectdu My Account API. - L’utilisateur final doit s’authentifier au moyen d’un login fédéré avec une connexion Okta ou OIDC configurée pour XAA. Cette connexion doit être configurée à titre de Requesting App.
- L’API tierce visée doit prendre en charge XAA en tant que Resource App, c’est-à-dire qu’elle peut échanger un
ID-JAGcontre des access tokens. - Une connexion à l’application tierce doit exister, avec les options Connected Accounts for Token Vault et Cross App Access for Token Vault activées.
Ajouter XAA à une intégration Token Vault existante
Si Token Vault est déjà configuré et que vous souhaitez y ajouter la prise en charge de XAA, vous devez mettre à jour deux connexions existantes : la connexion utilisée par vos utilisateurs pour s’authentifier (la connexion Requesting App) et la connexion à l’API third-party (la connexion Resource App).Cette section porte uniquement sur les modifications à apporter du côté d’Auth0 pour activer XAA sur des connexions existantes. Si vous créez ces connexions pour la première fois ou que vous devez configurer le côté Okta, consultez Okta comme IdP OIDC pour la configuration end-to-end complète.
Configurer la connection de la Requesting App
La connection avec laquelle vos utilisateurs s’authentifient doit être configurée de façon à demander unID-JAG à l’enterprise IdP au nom de l’utilisateur. Il peut s’agir d’une connection Okta Workforce ou OIDC.
- Auth0 Dashboard
- Management API
- Allez à Authentication > Enterprise, sélectionnez votre connection, puis ouvrez ses paramètres.
- Sous Credentials, réglez Communication Channel à Back Channel. Token Vault ne peut pas demander d’ID-JAG par le front channel.
- Sous Settings > Scopes, ajoutez
offline_access. - Sous Mappings, sélectionnez Okta Basic et ajoutez
offline_accessà la listeuserinfo_scopedu mapping JSON. Sélectionnez Save. - Sous Cross App Access > Cross App Access Role, sélectionnez Requesting Application.

- Sélectionnez Save.
Configurer la connexion de la Resource App
La connexion de la Resource App à l’API third-party doit être une connexion OIDC dont les fonctionnalités Connected Accounts for Token Vault et accès interapplications pour Token Vault sont activées.- Auth0 Dashboard
- Management API
- Allez à Authentication > Enterprise, sélectionnez la connexion OIDC vers l’API third-party, puis ouvrez ses paramètres.
- Sous Purpose, sélectionnez Connected Accounts for Token Vault ou Authentication and Connected Accounts for Token Vault.
- Sous Cross App Access :
- Pour Cross App Access Roles, activez Requesting Application.
- Activez Cross App Access for Token Vault.

- Sélectionnez Save.
Configurer votre application de test
Dans le tenant de votre Requesting App, créez ou configurez l’application qui effectuera le token exchange Token Vault.Seuls les clients confidential, first-party et OIDC-conformant peuvent utiliser le Token Vault grant type. Les Regular Web Applications répondent à ces exigences.
- Auth0 Dashboard
- Management API
- Sous Application URIs, ajoutez le callback URL de votre application (p. ex.
https://localhost:3000/callback) aux Allowed Callback URLs. - Sous Cross App Access, activez Allow Cross App Access.
- Sous Advanced Settings > Grant Types, activez Authorization Code, Refresh Token et Token Vault.
- Sélectionnez Save Changes.
Activer les connexions Okta pour l’application
Si vous avez configuré l’environnement de test XAA à partir de zéro du côté de la Requesting App : vous devez activer la connexion OIDC que vous avez configurée à l’étape Configuration de l’environnement entre le tenant de votre Requesting App et le tenant de votre Resource App, ainsi que la connexion Okta Workforce que vous avez configurée à l’étape Okta comme IdP OIDC pour cette application. Si vous avez déjà configuré Token Vault et que vous ajoutez la prise en charge de XAA : vous devez activer la connexion de la Requesting App et celle de la Resource App pour l’application de test que vous venez de créer. Pour en savoir plus, consultez Ajouter XAA à une intégration Token Vault existante.- Auth0 Dashboard
- Management API
Pour activer la connexion Okta Workforce ou la connexion de la Requesting App :
- Accédez à Authentication > Enterprise > Okta Workforce, sélectionnez la connexion Okta Workforce, puis sélectionnez l’onglet Applications. Activez-la ensuite pour l’application de test que vous venez de créer.
- Accédez à Authentication > Enterprise > OpenID Connect (OIDC), sélectionnez la connexion OIDC, puis sélectionnez l’onglet Applications. Activez-la ensuite pour l’application de test que vous venez de créer.
Tester le flow de bout en bout
Pour tester le flow XAA Token Vault, votre application doit :- Obtenir un refresh token Auth0 en réalisant un Authorization Code Flow avec la connection Okta Workforce ou la connection de la Requesting App.
- Échanger le refresh token contre un access token de la Resource App avec la connection OIDC, à l’aide du Token Vault grant type ou de la connection de la Resource App.
Étape 1 : Obtenir un refresh token Auth0
Votre application utilise le flux du code d’autorisation avec la connexion Okta Workforce afin d’authentifier l’utilisateur et d’obtenir un refresh token.Lancer l’authorization request
Envoyez la requêteGET suivante à l’endpoint /authorize d’Auth0, en remplaçant les valeurs par les vôtres :
Votre utilisateur de test sera redirigé vers Okta pour s’authentifier. Après un login réussi, Auth0 le redirige vers votre
redirect_uri avec un code d’autorisation dans la query string.
Échanger le code d’autorisation contre un jeton d’actualisation
Envoyez une requêtePOST à l’endpoint Auth0 /oauth/token afin d’échanger le code d’autorisation contre des jetons :
Une réponse réussie comprend un
refresh_token :
Étape 2 : Échanger le refresh token avec Token Vault
Utilisez le refresh token pour interroger l’endpoint du grant type Token Vault et obtenir un access token de la Resource App.
Token Vault utilise le XAA flow pour obtenir un access token vers la Resource App : il recherche un refresh token stocké provenant d’un IdP de Requesting App valide, demande à cet IdP un token
ID-JAG en votre nom, puis le présente à la Resource App en échange d’un access token, qu’il retourne ensuite à votre application.
Une response réussie retourne un access token de la Resource App :
Gérer plusieurs IdPs de Requesting App
Un tenant Auth0 peut compter de nombreuses connections configurées vers des IdPs qui prennent en charge XAA à titre de Requesting App et pour lesquelles XAA est activé (p. ex. leur propriétécross_app_access_requesting_app.active est définie à
true).
Lorsqu’une application effectue un token exchange request, Token Vault ne peut demander un ID-JAG qu’auprès d’un IdP auprès duquel l’utilisateur s’est déjà authentifié. Il doit exister une seule identity utilisateur valide liée au profile de l’utilisateur
actuel, avec XAA activé sur la connection qui authentifie l’utilisateur; sinon, Token Vault ne saura pas à quel IdP demander un ID-JAG. S’il y a plusieurs identities valides, la request échouera avec l’erreur suivante :
Utiliser Auth0 Organizations avec XAA
Token Vault filtrera également les connections de Requesting App disponibles pour ne conserver que celles qui sont activées pour l’organization de l’utilisateur actuel. Une solution Auth0 qui utilise Organizations peut limiter l’accès à chaque IdP par Organization afin de préciser quelle connection de Requesting App doit être utilisée pour chaque session utilisateur. Chaquesubject_token utilisé dans un échange Token Vault contient de l’information sur l’organization dans laquelle l’utilisateur s’est connecté. Cet organization context servira à trouver la bonne connection de Requesting App XAA. Toutefois, si plusieurs connections valides sont trouvées, la request échouera tout de même.