> ## 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 en utilisant l’octroi avec mot de passe du propriétaire de la ressource pour les applications de confiance qui ne peuvent pas utiliser de redirection.

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`

<Note>
  Ce flux ne doit être utilisé que par des applications hautement fiables qui **ne peuvent pas effectuer de redirections**. Si votre application peut utiliser des flux basés sur des redirections, nous vous recommandons plutôt d’utiliser le [Authorization Code Flow](#regular-web-app-login-flow).
</Note>

Il s’agit du type d’octroi OAuth 2.0 que les applications hautement fiables utilisent pour accéder à une API. Dans ce flux, l’utilisateur final doit saisir des identifiants (nom d’utilisateur/mot de passe), généralement au moyen d’un formulaire interactif dans l’agent utilisateur (navigateur). Ces informations sont envoyées au backend, puis transmises à Auth0. Il est donc impératif que l’application soit entièrement digne de confiance pour traiter ces informations.

<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 cet en-tête 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 retourne 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 scopes émis pour l’application peuvent différer des scopes demandés. Dans ce cas, un paramètre `scope` sera inclus dans le JSON de réponse.
* Si vous ne demandez pas de scopes précis, tous les scopes définis pour l’audience seront renvoyés en raison de la confiance implicite accordée à l’application dans le cadre de cet octroi.
* Pour ajouter la prise en charge de `realm`, 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 du 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` accompagnée d’un `mfa_token` pour l’authentification multifacteur.

<div id="learn-more">
  ### Pour 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 le flux d’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)
* [MFA et flux 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 paramètre est facultatif et n’est requis que si votre application utilise le mécanisme Demonstrating Proof-of-Possession.
</ParamField>

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

<ParamField body="grant_type" type="string" required>
  Indique le flux que vous utilisez. Pour le flux mot de passe du propriétaire de la ressource, utilisez `password`.
</ParamField>

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

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

<ParamField body="audience" type="string">
  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. Doit correspondre à un identifiant d’API enregistré dans votre locataire Auth0. Utilisé comme alternative à `audience` lorsque le [profil de compatibilité du paramètre de ressource](https://auth0.com/docs/get-started/tenant-settings#settings-advanced) du locataire est défini sur `compatibility`.
</ParamField>

<ParamField body="scope" type="string">
  Valeur de chaîne des scopes demandés par l’application.
</ParamField>

<ParamField body="client_id" type="string" required>
  L’ID client de votre application.
</ParamField>

<ParamField body="client_secret" type="string">
  Le secret client de votre application.
</ParamField>

<ParamField body="realm" type="string">
  Valeur de chaîne 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. |
