L’utilisation conjointe de Custom Token Exchange et de Token Vault constitue une solution provisoire pour mettre en place des agents d’IA sans migrer les magasins d’utilisateurs. Auth0 prendra bientôt en charge une solution native reposant sur ID-JAG (Cross App Access), qui normalisera l’autorisation entre applications sans exiger de développement personnalisé pour l’échange de jetons.
Aperçu de l’architecture
Informations requises
- Locataire Auth0 : un locataire actif, avec Organizations activé si vous utilisez des structures multilocataires ou B2B.
- Capacités de l’IdP des utilisateurs : un fournisseur d’identité principal capable d’émettre des jetons d’ID OIDC signés ou des assertions JWT, reposant sur un terminal JWKS public ou une clé statique pour la vérification des signatures.
- Informations d’identification de développeur tierces : des informations d’identification client actives (ID client et secret client) pour chaque fournisseur en aval auquel vos agents d’IA doivent accéder, comme GitHub, Google Workspace ou Salesforce.
- Accès administrateur de locataire : les autorisations nécessaires dans votre locataire Auth0 pour créer des applications clientes, configurer des connexions OAuth et déployer des Actions Custom Token Exchange.
Étape 1 : Configuration et enregistrement de l’application
Enregistrer et configurer votre application
Accédez à Applications > Applications et créez votre application. Configurez-la en tant qu’application de première partie, confidentielle et conforme à OIDC, et activez Custom Token Exchange :- Désactivez Allow Refresh Token Rotation pour l’application. Comme les récupérations répétées de jetons reposent sur la réutilisation du même jeton de sujet, la rotation compromettrait l’accès en aval.
- Sous Advanced Settings > Grant Types, assurez-vous que Refresh Token et Token Vault sont sélectionnés.
- Sous APIs > Auth0 My Account API, accordez à l’application l’accès à l’API My Account (obtenu au moyen d’un jeton d’actualisation multiressource) avec les permissions suivantes :
read:me:connected_accountscreate:me:connected_accountsdelete:me:connected_accounts
Enregistrer les connexions OAuth en aval
Pour chaque fournisseur tiers auquel vos agents d’IA doivent accéder :- Accédez à Authentication > Social ou à Authentication > Enterprise.
- Ajoutez la connexion à l’aide des informations d’identification obtenues sur le portail des développeurs du fournisseur.
- Sous Purpose, activez Connected Accounts for Token Vault pour la connexion.
- Sous Permissions, sélectionnez
Offline Accessafin de permettre à votre application client d’obtenir un jeton d’actualisation auprès du fournisseur externe. - Dans l’onglet Applications de la connexion, activez votre application enregistrée.
Étape 2 : Configurer l’Action Custom Token Exchange
Créez une nouvelle Action sous Actions > Library > Custom à l’aide du déclencheur Custom Token Exchange (onExecuteCustomTokenExchange). Cette Action valide le jeton émis par votre IdP d’utilisateurs, crée un profil utilisateur fantôme dans Auth0 et, au besoin, limite la portée du jeton d’accès à une Organization Auth0.
subject_token_type personnalisé à cette Action. L’URN ne doit pas utiliser d’espace de noms réservé (urn:ietf, urn:auth0, urn:okta, etc.) :