> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-feat-init-gt-translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Associer un agent à un client

> Associez un ou plusieurs clients à un agent afin que les jetons émis pour ces clients soient associés à l’identité de l’agent à des fins d’attribution et de traçabilité.

export const ReleaseStageNotice = ({feature, stage, plans, contact, terms}) => {
  const stageTextMap = {
    "beta": "bêta",
    "ea": "Accès anticipé"
  };
  const stageText = stageTextMap[stage] || "une phase de lancement du produit";
  const prsLink = "/docs/troubleshoot/product-lifecycle/product-release-stages";
  const linkify = (text, url) => {
    return <a href={url} target="_blank" rel="noreferrer" class="link">{text}</a>;
  };
  const includeDetails = (plans, contact, terms) => {
    const hasDetails = terms || plans || contact;
    if (!hasDetails) return null;
    return <span data-as="p">
            {plans && <>Cette fonctionnalité est offerte avec les forfaits {linkify(`${plans}`, "https://auth0.com/pricing")}. </>}
            {contact && "Pour y participer, communiquez avec " + contact + ". "}
            {terms && <>En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit énoncées dans le {linkify("Master Subscription Agreement", "https://www.okta.com/legal")} d’Okta.</>}
        </span>;
  };
  return <Warning>
            <span data-as="p">
                <strong>La fonctionnalité {feature} est en {linkify(stageText, prsLink)}.</strong>
            </span>

            {includeDetails(plans, contact, terms)}
        </Warning>;
};

<ReleaseStageNotice feature="Agents en tant que principal" stage="ea" contact="Auth0 Support" terms="true" />

Une fois [enregistré comme identité à part entière dans Auth0](/docs/fr-ca/ai-agents-mcp/agents-as-principal/register-an-agent), vous pouvez associer un agent à n’importe quel client OAuth. Un agent peut être associé à plusieurs clients. C’est utile si vous voulez une même identité d’agent logique, avec un seul `agent_id` visible dans les jetons et les journaux de plusieurs clients, par exemple des clients distincts pour chaque environnement ou région.

L’`agent_id` est stocké dans l’objet client, et les associations sont gérées dynamiquement.

Une fois un agent associé à un client, les jetons émis pour ce client contiennent l’identité de l’agent comme sujet (`sub`) pour les autorisations Client Credentials, ou comme acteur (`act`) pour l’échange de jetons et les flux de connexion standards. Pour en savoir plus, consultez [Identité de l’agent dans les jetons](/docs/fr-ca/ai-agents-mcp/agents-as-principal/agent-identity-in-tokens).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  L’`agent_id` interne demeure l’identifiant utilisé pour gérer l’agent au moyen de la Management API, que vous ayez défini ou non un `external_agent_id`.
</Callout>

<h2 id="associate-a-client-at-creation">
  Associer un client à sa création
</h2>

Définissez `agent_id` lors de la création d’un client au moyen de `POST /api/v2/clients` :

<Tabs>
  <Tab title="Auth0 CLI">
    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">Vous utilisez Auth0 CLI? Si ce n’est pas déjà fait, [configurez et authentifiez votre session CLI](/docs/fr-ca/deploy-monitor/auth0-cli) avant d’exécuter cette commande.</Callout>

    ```bash theme={null}
    auth0 api post "clients" \
      --data '{
        "name": "My AI Client",
        "agent_id": "YOUR_AGENT_ID"
      }'
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl --request POST \
      --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients' \
      --header 'Content-Type: application/json' \
      --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN' \
      --data '{
        "name": "My AI Client",
        "agent_id": "YOUR_AGENT_ID"
      }'
    ```
  </Tab>
</Tabs>

En cas de réussite, Auth0 renvoie l’objet client avec l’`agent_id` que vous avez défini.

<h2 id="retrieve-the-agent-associated-client">
  Récupérer le client associé à l’agent
</h2>

Après avoir associé un `agent_id` à un client, envoyez une requête `GET` à `/api/v2/clients/{id}` pour obtenir l’objet client :

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash theme={null}
    auth0 api get "clients/YOUR_CLIENT_ID"
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl --request GET \
      --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients/YOUR_CLIENT_ID' \
      --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN'
    ```
  </Tab>
</Tabs>

En cas de réussite, Auth0 renvoie l’objet client avec l’`agent_id` que vous avez défini.

<h2 id="associate-an-existing-client">
  Associer un client existant
</h2>

Vous pouvez associer un client existant à l’aide du Dashboard Auth0 ou de la Management API.

<Tabs>
  <Tab title="Dashboard Auth0">
    1. Accédez à **Dashboard > Agents**, sélectionnez l’agent, puis son onglet **Applications**.
    2. Sélectionnez **Add Application**, puis les applications que vous souhaitez associer à l’agent dans la fenêtre modale. Vous pouvez en sélectionner plusieurs.
    3. Sélectionnez **Add Applications**.

    Une fois ajoutées, les applications s’affichent dans l’onglet **Applications** de l’agent.
  </Tab>

  <Tab title="Management API">
    Associez un client existant à un agent au moyen de `PATCH /api/v2/clients/{id}` :

    <Tabs>
      <Tab title="Auth0 CLI">
        ```bash theme={null}
        auth0 api patch "clients/YOUR_CLIENT_ID" \
          --data '{
            "agent_id": "YOUR_AGENT_ID"
          }'
        ```
      </Tab>

      <Tab title="cURL">
        ```bash theme={null}
        curl --request PATCH \
          --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients/YOUR_CLIENT_ID' \
          --header 'Content-Type: application/json' \
          --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN' \
          --data '{
            "agent_id": "YOUR_AGENT_ID"
          }'
        ```
      </Tab>
    </Tabs>

    En cas de réussite, Auth0 renvoie l’objet client mis à jour avec l’élément `agent_id` que vous avez défini.
  </Tab>
</Tabs>

<h2 id="remove-the-agent-association">
  Supprimer l’association avec l’agent
</h2>

Pour dissocier un client de son agent, définissez `agent_id` sur `null` à l’aide de `PATCH /api/v2/clients/{id}` :

<Tabs>
  <Tab title="Auth0 CLI">
    ```bash theme={null}
    auth0 api patch "clients/YOUR_CLIENT_ID" \
      --data '{
        "agent_id": null
      }'
    ```
  </Tab>

  <Tab title="cURL">
    ```bash theme={null}
    curl --request PATCH \
      --url 'https://YOUR_AUTH0_DOMAIN/api/v2/clients/YOUR_CLIENT_ID' \
      --header 'Content-Type: application/json' \
      --header 'Authorization: Bearer YOUR_MGMT_API_TOKEN' \
      --data '{
        "agent_id": null
      }'
    ```
  </Tab>
</Tabs>

Après la dissociation, les nouveaux jetons émis au client ne contiennent plus l’identité de l’agent. Les jetons existants demeurent valides jusqu’à leur expiration.

<h2 id="next-steps">
  Prochaines étapes
</h2>

* Découvrez comment Auth0 intègre [l’identité de l’agent aux jetons](/docs/fr-ca/ai-agents-mcp/agents-as-principal/agent-identity-in-tokens)
