> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurer la liaison de comptes standard

> Permettez aux acheteurs de lier ou de créer un compte marchand à partir d’une plateforme d’agent comme Gemini grâce au flux de code d’autorisation, avec des clients publics ou confidentiels.

> [!WARNING]
>
> **La fonctionnalité Auth for UCP est en [accès anticipé](https://auth0.com/docs/fr-ca/troubleshoot/product-lifecycle/product-release-stages.md).**
>
> En utilisant cette fonctionnalité, vous acceptez les conditions applicables à l’essai gratuit prévues dans le Master Subscription Agreement d’Okta. Si vous souhaitez participer, veuillez manifester votre intérêt en remplissant le [formulaire du programme de partenariat d’accès anticipé limité](https://forms.gle/7qjaSh4ZQSqrysf27).

La liaison de comptes standard relie la session d’un acheteur sur une plateforme d’agent, comme Gemini, à son compte sur votre site. L’acheteur se connecte à votre plateforme marchande, ou se crée un compte, au moyen de la [connexion universelle](https://auth0.com/docs/fr-ca/authenticate/login/auth0-universal-login/universal-login-vs-classic-login/universal-experience.md) d’Auth0, puis approuve l’accès demandé par l’agent.

Auth0 délivre ensuite à la plateforme d’agent un jeton d’accès pour cet acheteur. Avant de rediriger l’acheteur vers votre locataire Auth0, l’agent affiche un écran de consentement conçu à partir de vos permissions UCP. La liaison de comptes standard utilise le flux de code d’autorisation et prend en charge les clients publics comme les clients confidentiels. Les clients publics utilisent le [flux de code d’autorisation avec PKCE](https://auth0.com/docs/fr-ca/get-started/authentication-and-authorization-flow/authorization-code-flow-with-pkce.md), tandis que les clients confidentiels s’authentifient au moyen de leurs identifiants du client. Le point de terminaison de jetons ne requiert aucun comportement propre à UCP.

## Informations requises

* [Configurez votre serveur de ressources UCP](https://auth0.com/docs/fr-ca/ai-agents-mcp/auth-for-ucp/configure-ucp-resource-server.md) et ajoutez vos permissions UCP.
* Définissez votre serveur de ressources UCP comme public par défaut du locataire.
* Créez ou utilisez une connexion qui héberge les comptes de vos acheteurs : une [connexion de base de données](https://auth0.com/docs/fr-ca/authenticate/database-connections) Auth0 ou une [connexion d’entreprise](https://auth0.com/docs/fr-ca/authenticate/enterprise-connections) à votre fournisseur d’identité existant. Si la plateforme d’agent est une application tierce, vous devez [promouvoir la connexion au niveau du domaine](https://auth0.com/docs/fr-ca/get-started/applications/third-party-applications/configure-third-party-applications.md#configure-connections).

## Enregistrer la plateforme d’agents

Modélisez la plateforme d’agents sous forme d’application dans Auth0. Il peut s’agir d’une application de première partie ou d’une application tierce. Créez-la manuellement ou, si la plateforme d’agents le permet, au moyen de son [Document de métadonnées de l’identifiant du client (CIMD)](https://auth0.com/docs/fr-ca/get-started/auth0-overview/create-applications/register-applications-with-cimd.md).

1. Accédez à **Dashboard > Applications > Applications** et sélectionnez **Create Application**.
2. Sélectionnez le type d’application qui correspond au type de client de la plateforme d’agents. Choisissez **Regular Web Application** pour un client confidentiel, ou **Native** ou **Single Page Web Application** pour un client public. Utilisez l’URI de redirection fourni par la plateforme d’agents et, s’il s’agit d’un client confidentiel, ses identifiants du client.
3. Pour une plateforme d’agents qui ne vous appartient pas, comme Gemini, créez une application tierce. Activez l’option **This application is owned by a third party. Enable stricter security controls**. Dans la Management API, définissez `is_first_party` sur `false` et `third_party_security_mode: strict`.

Si vous enregistrez une application tierce, celle-ci est soumise à des mesures de sécurité renforcées et nécessite une configuration supplémentaire. Les applications enregistrées au moyen du CIMD sont automatiquement des applications tierces en mode strict. Pour en savoir plus, consultez [Configurer des applications tierces](https://auth0.com/docs/fr-ca/get-started/applications/third-party-applications/configure-third-party-applications.md).

## Autoriser la plateforme d’agent à appeler votre serveur UCP

Créez une [autorisation client](https://auth0.com/docs/fr-ca/get-started/apis/api-access-policies-for-applications.md) entre l’application et votre serveur de ressources UCP, puis accordez les permissions UCP que vous souhaitez exposer.

1. Accédez à **Dashboard > Applications > APIs** et sélectionnez votre serveur de ressources UCP.
2. Sélectionnez l’onglet **Application Access**.
3. Repérez l’application de la plateforme d’agent, autorisez-la et sélectionnez les permissions à accorder.

Pour les applications tierces, les acheteurs approuvent l’accès au moyen de l’invite de consentement habituelle présentée à l’utilisateur final lors de la connexion universelle. Les applications de première partie [ne présentent pas l’invite de consentement](https://auth0.com/docs/fr-ca/get-started/applications/third-party-applications/user-consent-and-third-party-applications.md#skip-consent-for-first-party-applications).

## Flux de code d’autorisation

1. La plateforme d’agent lit vos métadonnées `scopes_supported` et affiche son propre écran de consentement.
2. La plateforme d’agent redirige l’acheteur vers le terminal `/authorize` de votre locataire avec un paramètre `scope`. Les clients publics envoient également un défi de code PKCE.
3. L’acheteur se connecte ou s’inscrit au moyen de la connexion universelle et, dans le cas des applications tierces, approuve l’accès sur l’écran de consentement.
4. Auth0 redirige l’acheteur vers la plateforme d’agent avec un code d’autorisation.
5. La plateforme d’agent échange le code contre un jeton d’accès auprès de `/oauth/token`. Les clients confidentiels s’authentifient à l’aide de leurs identifiants du client. Les clients publics envoient le vérificateur de code PKCE.

La session de l’acheteur sur la plateforme d’agent est désormais liée à son compte sur votre site, ce qui permet à l’agent d’agir au nom de cet acheteur lorsqu’il appelle votre serveur UCP. Comme la plateforme d’agent n’envoie pas de paramètre `audience`, Auth0 émet le jeton pour le public par défaut de votre locataire.

## Utiliser le serveur UCP pour appeler des API internes

Si vous disposez déjà d'une API qui fournit vos fonctionnalités commerciales et que vous ajoutez UCP comme nouvelle façon d'interagir avec celle-ci, modélisez-les sous forme de deux serveurs de ressources distincts dans Auth0 :

* Votre serveur de ressources UCP, que les plateformes d'agents appellent avec le jeton d'accès obtenu au moyen du flux d'autorisation.
* Votre API existante, que votre serveur UCP appelle au nom de l'acheteur.

Votre serveur UCP utilise ensuite l'[échange de jetons On-Behalf-Of (OBO)](https://auth0.com/docs/fr-ca/secure/call-apis-on-users-behalf/on-behalf-of-token-exchange.md) pour échanger le jeton d'accès UCP de l'acheteur contre un jeton dont les permissions visent votre API existante. Le nouveau jeton conserve l'acheteur comme sujet, ce qui permet à votre API de savoir pour quel acheteur la requête est effectuée. Il inscrit également votre serveur UCP comme actor dans la demande personnalisée `act`.

### Configurer l'échange de jetons OBO

Suivez la configuration OBO standard, en utilisant votre serveur de ressources UCP comme public du jeton entrant :

1. [Créez un client API personnalisé](https://auth0.com/docs/fr-ca/secure/call-apis-on-users-behalf/on-behalf-of-token-exchange.md#create-custom-api-client) associé à votre serveur de ressources UCP. Réglez `resource_server_identifier` sur l'identifiant de votre serveur de ressources UCP.
2. [Activez l'échange de jetons On-Behalf-Of](https://auth0.com/docs/fr-ca/secure/call-apis-on-users-behalf/on-behalf-of-token-exchange.md#configure-the-obo-token-exchange) sur le client API personnalisé.
3. [Créez une autorisation client déléguée par l'utilisateur](https://auth0.com/docs/fr-ca/secure/call-apis-on-users-behalf/on-behalf-of-token-exchange.md#create-client-grant) entre le client API personnalisé et votre API existante, puis accordez les permissions requises par votre serveur UCP.

### Échanger le jeton de l'acheteur

Lorsque votre serveur UCP reçoit une requête, validez le jeton d'accès, puis échangez-le contre un jeton valide pour votre API existante. Envoyez une requête `POST` au terminal `/oauth/token` :

```bash theme={null}
curl --request POST \
  --url 'https://YOUR_AUTH0_DOMAIN/oauth/token' \
  --header 'Content-Type: application/json' \
  --data '{
    "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange",
    "client_id": "YOUR_CUSTOM_API_CLIENT_ID",
    "client_secret": "YOUR_CUSTOM_API_CLIENT_SECRET",
    "subject_token": "UCP_ACCESS_TOKEN",
    "subject_token_type": "urn:ietf:params:oauth:token-type:access_token",
    "requested_token_type": "urn:ietf:params:oauth:token-type:access_token",
    "audience": "https://api.acme.example.com"
  }'
```

Définissez `audience` sur l'identifiant de votre API existante. Pour en savoir plus, consultez [Effectuer un échange de jetons OBO](https://auth0.com/docs/fr-ca/secure/call-apis-on-users-behalf/on-behalf-of-token-exchange.md#perform-obo-token-exchange).

Mettez en cache le jeton échangé jusqu'à son expiration plutôt que de refaire un échange à chaque requête.

## Prochaines étapes

* [Métadonnées de découverte des permissions](https://auth0.com/docs/fr-ca/ai-agents-mcp/auth-for-ucp/scope-discovery-metadata.md)
* [Échange de jetons On-Behalf-Of](https://auth0.com/docs/fr-ca/secure/call-apis-on-users-behalf/on-behalf-of-token-exchange.md)
