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

# Flux de connexion par canal arrière - Vérification de l’état

> Interrogez régulièrement le point de terminaison de jeton pour vérifier l’état d’une requête de connexion par canal arrière en attente.

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

`POST /oauth/token`

Pour vérifier l’état d’un flux de connexion par canal arrière, interrogez régulièrement le point de terminaison `/oauth/token` en transmettant les éléments suivants :

* `auth_req_id` renvoyé par la requête à `/bc-authorize`
* le type d’autorisation `urn:openid:params:grant-type:ciba`

<div id="response-body">
  ### Corps de la réponse
</div>

Si l’utilisateur autorisant n’a pas encore approuvé ou rejeté la requête, vous devriez recevoir une réponse semblable à celle-ci :

```http theme={null}
{ 
  "error": "authorization_pending", 
  "error_description": "The end-user authorization is pending"
}
```

Si l’utilisateur chargé de l’autorisation rejette la requête, vous devriez recevoir une réponse semblable à la suivante :

```http theme={null}
{
  "error": "access_denied",
  "error_description": "The end-user denied the authorization request or it has been expired"
}
```

Si vous interrogez trop rapidement (plus vite que la valeur d’intervalle renvoyée par `/bc-authorize`), vous devriez recevoir une réponse comme celle-ci :

```http theme={null}
{
  "error": "slow_down",
  "error_description": "You are polling faster than allowed. Try again in 10 seconds."
}
```

De plus, Auth0 ajoutera l’en-tête [Retry-After](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) à la réponse pour indiquer combien de secondes attendre avant de tenter d’interroger de nouveau le point de terminaison. Si vous interrogez trop souvent le point de terminaison de façon répétée, le nombre de secondes à attendre augmente.

Si l’utilisateur autorisant a approuvé la notification poussée, la requête renvoie le jeton d’identité et le jeton d’accès (et potentiellement un refresh token) :

```http theme={null}
{
  "access_token": "eyJh...",
  "id_token": "eyJh...",
  "expires_in": 86400,
  "scope": "openid"
}
```

Une fois qu’un `auth_req_id` a été échangé contre un jeton d’identité ou un jeton d’accès, il ne peut plus être utilisé.

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

Ajoutez un paramètre facultatif pour l’authentification de l’application dans la requête :

* Client Secret avec l’authentification HTTP Basic, auquel cas aucun paramètre n’est requis. Les `client_id` et `client_secret` sont transmis dans un en-tête.
* Client Secret Post, auquel cas `client_id` et `client_secret` sont requis.
* Private Key JWT, pour lequel `client_id`, `client_assertion` et le type de `client_assertion` sont requis.
* mTLS, pour lequel le paramètre `client_id` est requis et les en-têtes `client-certificate` et `client-certificate-ca-verified` sont requis.

<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="client_id" type="string" required>
  Le `client_id` de votre application.
</ParamField>

<ParamField body="auth_req_id" type="string" required>
  Le `auth_req_id` renvoyé par le point de terminaison `/bc-authorize`.
</ParamField>

<ParamField body="grant_type" type="string" required>
  Doit être défini sur `urn:openid:params:grant-type:ciba`.
</ParamField>

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

| Statut | Description                               |
| ------ | ----------------------------------------- |
| 200    | Statut d’authentification renvoyé.        |
| 400    | Requête incorrecte - paramètres invalides |
| 500    | Erreur interne du serveur                 |
