> ## 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

> Authentifiez un utilisateur à l’aide de ses identifiants au moyen du flux mot de passe du propriétaire de la ressource pour les applications de confiance qui ne peuvent pas utiliser de redirections.

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">
  ## Endpoint
</div>

`POST /oauth/token`

<Note>
  Ce flux ne doit être utilisé qu’avec des applications hautement fiables qui **ne peuvent pas utiliser de redirections**. Si votre application peut utiliser des flux avec redirection, nous vous recommandons plutôt d’utiliser le [Flux du code d’autorisation](#regular-web-app-login-flow).
</Note>

Il s’agit de l’octroi OAuth 2.0 que les applications hautement fiables utilisent pour accéder à une API. Dans ce flux, l’utilisateur final est invité à saisir ses identifiants (`username`/`password`), généralement au moyen d’un formulaire interactif dans l’agent utilisateur (navigateur). Ces renseignements sont envoyés au backend, puis transmis à Auth0. Il est donc impératif que l’application soit entièrement digne de confiance pour traiter ces renseignements.

<div id="request-headers">
  ### En-têtes de requête
</div>

| Paramètre             | Description                                                                                                                                                                                                     |
| :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `auth0-forwarded-for` | Adresse IP de l’utilisateur final, sous forme de chaîne de caractères. Définissez ce paramètre si vous voulez que la protection contre les attaques par force brute fonctionne dans les scénarios côté serveur. |

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

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

Une requête réussie renvoie le jeton d’accès.

```json theme={null}
HTTP/1.1 200 OK
Content-Type: application/json
{
  "access_token":"eyJz93a...k4laUWw",
  "token_type":"Bearer",
  "expires_in":86400
}
```

<div id="remarks">
  ### Remarques
</div>

* Les portées émises à l’application peuvent différer des portées demandées. Dans ce cas, un paramètre `scope` sera inclus dans la réponse JSON.
* Si vous ne demandez pas de portées précises, toutes les portées définies pour l’audience seront renvoyées en raison de la confiance implicite accordée à l’application dans cet octroi.
* Pour ajouter la prise en charge des realms, définissez `grant_type` sur `http://auth0.com/oauth/grant-type/password-realm` et `realm` sur le realm auquel l’utilisateur appartient. Cela correspond à une connexion dans Auth0.
* En plus du nom d’utilisateur et mot de passe, Auth0 peut exiger que l’utilisateur final fournisse un facteur supplémentaire comme preuve d’identité. La requête peut renvoyer une erreur `mfa_required` ainsi qu’un `mfa_token` pour l’authentification multifacteur.

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

* [Appeler des API à partir d’applications hautement fiables](https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow)
* [Exécuter l’octroi par mot de passe du propriétaire de la ressource](https://auth0.com/docs/get-started/authentication-and-authorization-flow/resource-owner-password-flow/call-your-api-using-resource-owner-password-flow)
* [Authentification multifacteur et octroi par mot de passe du propriétaire de la ressource](https://auth0.com/docs/secure/multi-factor-authentication/authenticate-using-ropg-flow-with-mfa)

<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 que vous utilisez. Pour mot de passe du propriétaire de la ressource, utilisez `password`.
</ParamField>

<ParamField body="username" type="string" required>
  L’identifiant du propriétaire de la ressource, comme un nom d’utilisateur ou une adresse courriel.
</ParamField>

<ParamField body="password" type="string" required>
  Le secret du propriétaire de la ressource.
</ParamField>

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

<ParamField body="resource" type="string">
  L’identifiant de l’API cible (serveur de ressources) à laquelle vous souhaitez accéder. Il doit correspondre à un identifiant d’API enregistré dans votre tenant Auth0. Il est utilisé comme alternative à `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="scope" type="string">
  Valeur String des différentes portées demandées par l’application.
</ParamField>

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

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

<ParamField body="realm" type="string">
  Valeur String du realm auquel l’utilisateur appartient.
</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="response-messages">
  ## Messages de réponse
</div>

| Statut | Description               |
| ------ | ------------------------- |
| 200    | Renvoie le jeton d’accès. |
