> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/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 à ces clients portent 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="Agent as Principal" stage="ea" contact="Auth0 Support" terms="true" />

Une fois l’agent [enregistré comme identité de premier ordre dans Auth0](/docs/fr-ca/ai-agents-mcp/agent-as-principal/register-an-agent), vous pouvez l’associer à n’importe quel client OAuth. Un agent peut être associé à plusieurs clients. C’est utile lorsque vous souhaitez une seule identité logique d’agent, avec un `agent_id` unique visible dans les jetons et les journaux de plusieurs clients, par exemple des clients distincts par environnement ou par région.

L’`agent_id` est stocké dans l’objet client, et les associations sont gérées de façon dynamique.

Dès que vous associez un agent à un client, les jetons émis à ce client portent l’identité de l’agent comme sujet (`sub`) dans le cas des octrois par information d’identification client, ou comme acteur (`act`) dans le cas de l’échange de jetons et des flux de connexion standards. Pour en savoir plus, consultez [Identité de l’agent dans les jetons](/docs/fr-ca/ai-agents-mcp/agent-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 un `external_agent_id` ou non.
</Callout>

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

Définissez le paramètre `agent_id` au moment de créer un client avec `POST /api/v2/clients` :

<Tabs>
  <Tab title="Auth0 CLI">
    <Callout icon="file-lines" color="#0EA5E9" iconType="regular">Vous utilisez l'interface de ligne de commande Auth0? 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>

Si l'opération réussit, Auth0 retourne 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>

Une fois que vous avez 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>

Si la requête réussit, 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 Auth0 Dashboard ou de la Management API.

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

    Une fois l'ajout réussi, les applications s'affichent sous 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 succès, Auth0 renvoie l'objet client mis à jour avec l'`agent_id` que vous avez défini.
  </Tab>
</Tabs>

<h2 id="remove-the-agent-association">
  Supprimer l'association à l'agent
</h2>

Pour dissocier un client de son agent, définissez `agent_id` à `null` 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": 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 portent plus l'identité de l'agent. Les jetons existants demeurent valides jusqu'à leur expiration.

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

* Apprendre comment Auth0 intègre l'[identité de l'agent dans les jetons](/docs/fr-ca/ai-agents-mcp/agent-as-principal/agent-identity-in-tokens)
