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

> Obtenez un jeton d’accès pour appeler l’API d’une application de ressources au nom de l’utilisateur final en échangeant un grant d’autorisation par assertion d’identité (ID-JAG) émis par un IdP d’entreprise de confiance, dans le cadre du flow Cross App Access (XAA).

`POST /oauth/token`

Cross App Access (XAA) implémente l’[Identity Assertion Authorization Grant](https://datatracker.ietf.org/doc/draft-ietf-oauth-identity-assertion-authz-grant/), une extension OAuth qui permet à une application demandeuse d’échanger un ID-JAG — émis par un IdP d’entreprise de confiance, comme Okta — contre un jeton d’accès limité à l’API d’une application de ressources, au nom de l’utilisateur final commun. Pour en savoir plus, consultez la [documentation sur Cross App Access (XAA)](https://auth0.com/docs/ai-agents-mcp/cross-app-access).

<Note>
  Cross App Access (XAA) pour les applications de ressources est offert en **Early Access**. Les clients Enterprise, B2B Pro et B2B Essential peuvent l’utiliser comme fonctionnalité d’Enterprise Connections. Vous pouvez également l’essayer pendant la période d’essai sur les tenants Free. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit énoncées dans le [Master Subscription Agreement](https://www.okta.com/legal/?_gl=1*51wq70*_gcl_au*NzczNzM1NjYyLjE3ODE3NzY0MDI.*_ga*MTE3ODU0MTY1Ny4xNzgxNzc2NDAy*_ga_QKMSDV5369*czE3ODQ1NTM3ODckbzgyJGcxJHQxNzg0NTU0NzIxJGo1OCRsMCRoMA..) d’Okta.
</Note>

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

* L’application demandeuse doit être enregistrée dans le tenant Auth0 de l’application de ressources et la bascule Cross App Access doit être activée.
* Aucun `refresh_token` ni `id_token` n’est émis pour ce type d’autorisation. Pour obtenir un nouveau jeton d’accès, l’application demandeuse peut réutiliser le même ID-JAG tant qu’il n’a pas expiré ou demander un nouvel ID-JAG à l’IdP d’entreprise.
* Les échanges d’ID-JAG sur ce point de terminaison sont limités à 50 % au plus de la limite de débit globale de l’API d’authentification de votre tenant. Pour en savoir plus, consultez [Configurations des limites de débit](/docs/fr-ca/troubleshoot/customer-support/operational-policies/rate-limit-policy/rate-limit-configurations).

<div id="request-body">
  ## Corps de la requête
</div>

<ParamField body="grant_type" type="string" required>
  Indique le flow utilisé. Pour Cross App Access, utilisez `urn:ietf:params:oauth:grant-type:jwt-bearer`.
</ParamField>

<ParamField body="assertion" type="string" required>
  Le JWT ID-JAG émis par l’IdP d’entreprise de confiance pour l’utilisateur final.
</ParamField>

<ParamField body="client_id" type="string" required>
  Le Client ID de l’application demandeuse enregistrée dans le tenant Auth0 de l’application de ressources. Comme pour les autres types de grant, vous pouvez aussi transmettre le Client ID dans l’en-tête Authorization au moyen de l’authentification Basic.
</ParamField>

<ParamField body="client_secret" type="string" required>
  Le Client Secret de l’application demandeuse enregistrée dans le tenant Auth0 de l’application de ressources. Comme pour les autres types de grant, vous pouvez aussi transmettre le Client Secret dans l’en-tête Authorization au moyen de l’authentification Basic.
</ParamField>

<ParamField body="resource" type="string">
  (Facultatif) L’identifiant de ressource du resource server (API) de votre tenant Auth0. Si l’assertion ID-JAG contient une claim `resource`, cette valeur prévaut sur ce paramètre. Si aucune ressource n’est précisée dans l’ID-JAG ou dans le corps de la requête, l’[audience par défaut](https://auth0.com/docs/get-started/tenant-settings#api-authorization-settings) de votre tenant est utilisée.
</ParamField>

<div id="response">
  ## Réponse
</div>

| Statut | Description                                                                                                                                                 |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 200    | Réponse réussie. Renvoie un jeton d’accès limité à l’API cible.                                                                                             |
| 400    | Requête incorrecte. Peut se produire si l’assertion est mal formée, expirée ou ne contient pas les claims requis, ou si des paramètres requis sont absents. |
| 401    | Non autorisé. Les identifiants du client sont incorrects ou la signature de l’assertion n’a pas pu être validée.                                            |
| 403    | Interdit. Le client n’est pas activé pour Cross App Access ou les scopes demandés ne sont pas autorisés.                                                    |

<ResponseExample>
  ```json 200 Response theme={null}
  {
    "access_token": "eyJ...",
    "expires_in": 86400,
    "token_type": "Bearer",
    "scope": "read:items write:items"
  }
  ```

  ```json 400 Response (Assertion non valide ou expirée) theme={null}
  {
    "error": "invalid_grant",
    "error_description": "Assertion is invalid or has expired"
  }
  ```
</ResponseExample>

<div id="response-fields">
  ## Champs de réponse
</div>

<ResponseField name="access_token" type="string">
  Le jeton d’accès Auth0 limité à l’API cible, émis pour l’utilisateur final identifié par la claim `sub` de l’ID-JAG.
</ResponseField>

<ResponseField name="token_type" type="string">
  Indique le schéma d’authentification à utiliser dans le header Authorization. Valeur : `Bearer`.
</ResponseField>

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

<ResponseField name="scope" type="string">
  (Facultatif) Inclus uniquement si les scopes accordés diffèrent des scopes demandés. Liste des scopes effectivement accordés, délimitée par des espaces.
</ResponseField>
