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

# Obtenir un jeton

> Demander un jeton d’accès au moyen du Client Credentials Flow pour l’authentification de machine à machine.

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>;
};

export const ResponseSchema = ({statusCode, type = "{}", children}) => {
  const [open, setOpen] = useState(false);
  return <div className="border border-gray-100 dark:border-gray-800 rounded-lg mb-3 overflow-hidden">
      <div className={`flex items-center gap-2.5 px-4 py-2.5 cursor-pointer select-none ${open ? "bg-gray-50 dark:bg-gray-800" : ""}`} onClick={() => setOpen(!open)}>
        {statusCode && <span className="border border-gray-300 dark:border-gray-600 text-gray-700 dark:text-gray-300 font-mono text-xs px-1.5 py-0.5 rounded">
            {statusCode.startsWith("default") ? "default" : statusCode}
          </span>}
        <span className="text-gray-500 dark:text-gray-400 text-sm font-mono">
          {type}
        </span>
        <span className="text-gray-400 dark:text-gray-500 text-sm italic">
          application/json
        </span>
        <svg className={`ml-auto opacity-50 transition-transform duration-200 ${open ? "rotate-180" : ""}`} width="16" height="16" viewBox="0 0 16 16" fill="none">
          <path d="M4 6l4 4 4-4" stroke="currentColor" strokeWidth="1.5" strokeLinecap="round" strokeLinejoin="round" />
        </svg>
      </div>
      {open && <div className="px-4 pt-1 pb-3 border-t border-gray-100 dark:border-gray-800">
          {children}
        </div>}
    </div>;
};

<div id="endpoint">
  ## Point de terminaison
</div>

`POST /oauth/token`

Il s’agit du type d’attribution OAuth 2.0 qu’utilisent les processus côté serveur pour accéder à une API. Utilisez ce point de terminaison pour demander directement un jeton d’accès à l’aide des identifiants de l’application (un Client ID et un Client Secret).

<div id="responses">
  ### Réponses
</div>

<div id="200">
  #### 200
</div>

Une réponse réussie renvoie un jeton d’accès.

```json theme={null}
{
  "access_token":"eyJz93a...k4laUWw",
  "token_type":"Bearer",
  "expires_in":86400
}
```

<div id="learn-more">
  ### Pour en savoir plus
</div>

* [Client Credentials Flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow)
* [Appeler une API à l’aide du Client Credentials Flow](https://auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow/call-your-api-using-the-client-credentials-flow)
* [Configurer un Client Grant à l’aide du tableau de bord de gestion](https://auth0.com/docs/get-started/applications/update-grant-types)
* [Demander des jetons d’accès dans le cadre d’un Client Credentials Grant](https://auth0.com/docs/get-started/authentication-and-authorization-flow/client-credentials-flow/call-your-api-using-the-client-credentials-flow)

<div id="headers">
  ## En-têtes
</div>

<ParamField header="DPoP" type="string">
  Une preuve DPoP pour la requête. Ce champ est facultatif et n’est requis que si votre application utilise Demonstrating Proof-of-Possession.
</ParamField>

<div id="body-parameters">
  ## Paramètres du corps
</div>

<div className="prose-sm prose-gray dark:prose-invert">
  <span data-as="p">Le corps de la requête est au format `application/x-www-form-urlencoded`.</span>
</div>

<ParamField body="grant_type" type="string" required>
  Indique le flux utilisé. Pour Client Credentials, utilisez `client_credentials`.

  Valeurs autorisées : `client_credentials`
</ParamField>

<ParamField body="client_id" type="string" required>
  Le Client ID de votre application.
</ParamField>

<ParamField body="client_secret" type="string" required>
  Le Client Secret de votre application.
</ParamField>

<ParamField body="audience" type="string" required>
  L’identifiant unique de l’API cible à laquelle vous voulez accéder.
</ParamField>

<ParamField body="resource" type="string">
  L’identifiant de l’API cible (serveur de ressources) à laquelle vous voulez accéder. Il doit correspondre à un identifiant d’API enregistré dans votre tenant Auth0. Il est utilisé à la place de `audience` lorsque le [Resource Parameter Compatibility Profile](https://auth0.com/docs/get-started/tenant-settings#settings-advanced) du tenant est défini sur `compatibility`.
</ParamField>

<ParamField body="organization" type="string">
  \[Recommandé]L’organisation ou l’identifiant auquel vous voulez associer la requête. Pour en savoir plus, consultez [Machine-to-Machine Access for Organizations](https://auth0.com/docs/manage-users/organizations/organizations-for-m2m-applications).
</ParamField>

<div id="response-schema">
  ## Schéma de réponse
</div>

<ResponseSchema>
  <ResponseField name="access_token" type="string">
    Le jeton d’accès.
  </ResponseField>

  <ResponseField name="token_type" type="string">
    Le type de jeton. Généralement `Bearer`.
  </ResponseField>

  <ResponseField name="expires_in" type="integer">
    La durée de validité du jeton d’accès, en secondes.
  </ResponseField>
</ResponseSchema>

<div id="agent-access-tokens">
  ## Jetons d’accès des agents
</div>

<ReleaseStageNotice feature="Agents as Principal" stage="ea" contact="Auth0 Support" terms="true" />

Lorsque l’application requérante est liée à un agent et que les claims de sujet d’agent sont activés pour l’API cible, le jeton d’accès émis identifie l’agent comme sujet :

* Le claim `sub` correspond à l’identifiant de l’agent (par exemple, `agt_72jbvv7LfRKYp59gtRLtkn`) plutôt qu’au Client ID de l’application.
* Le jeton comprend `sub_profile: "ai_agent"` et `client_profile: "service ai_agent"`.

Pour une application machine-à-machine (M2M) autre qu’un agent qui appelle une API pour laquelle les claims de sujet d’agent sont activés, le claim `sub` correspond au Client ID de l’application sans le suffixe `@clients`. Le schéma de l’objet de réponse (`access_token`, `token_type`, `expires_in`) demeure inchangé ; il s’agit de claims dans le JWT émis. Pour en savoir plus, consultez [Access Token Profiles](/docs/fr-ca/secure/tokens/access-tokens/access-token-profiles#claims).

<div id="response-messages">
  ## Messages de réponse
</div>

| Statut | Description     |
| ------ | --------------- |
| 200    | Réponse réussie |
