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

# Configurer la conformité FAPI

> Configurez un niveau de conformité FAPI 1 ou FAPI 2.0 pour votre application Auth0 afin d’appliquer des exigences de sécurité plus strictes pour les scénarios d’API de niveau financier.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Pour utiliser les fonctionnalités Highly Regulated Identity, vous devez disposer d’un Enterprise Plan avec le module complémentaire Highly Regulated Identity. Consultez [Auth0 Pricing](https://auth0.com/pricing/) pour en savoir plus.
</Callout>

Pour aider les clients à configurer leur tenant Auth0 afin qu’il soit conforme à l’un des profils Financial-grade API (FAPI), le modèle Application comprend une propriété `compliance_level` qui peut être définie sur l’une des valeurs suivantes :

* `null` ou non défini : aucun niveau de conformité n’est requis. Il s’agit du comportement par défaut.
* `fapi1_adv_mtls_par` : le client souhaite que ce client se comporte conformément au profil FAPI1 Advanced profile en utilisant [mTLS](/docs/fr-ca/get-started/applications/configure-mtls) et [PAR](/docs/fr-ca/get-started/applications/configure-par).
* `fapi1_adv_pkj_par` : le client souhaite que ce client se comporte conformément au profil FAPI1 Advanced profile en utilisant [Private Key JWT](/docs/fr-ca/get-started/applications/configure-private-key-jwt) et [PAR](/docs/fr-ca/get-started/applications/configure-par).
* `fapi2_sp_pkj_mtls` : le client souhaite que ce client se comporte conformément au profil FAPI 2.0 Security Profile en utilisant [Private Key JWT](/docs/fr-ca/get-started/applications/configure-private-key-jwt) et [mTLS Token Sender-Constraining](/docs/fr-ca/secure/sender-constraining/mtls-sender-constraining).
* `fapi2_sp_mtls_mtls` : le client souhaite que ce client se comporte conformément au profil FAPI 2.0 Security Profile en utilisant [mTLS Client Authentication](/docs/fr-ca/get-started/applications/configure-mtls) et [mTLS Token Sender-Constraining](/docs/fr-ca/secure/sender-constraining/mtls-sender-constraining).

Pour être conforme à un profil FAPI, plusieurs modifications de configuration sont nécessaires. Le paramètre `compliance_level` garantit qu’aucune requête d’autorisation ne peut aboutir, à moins que la requête et la configuration ne soient conformes à la norme sélectionnée.

Par exemple, les niveaux de conformité `fapi1_adv_pkj_par` et `fapi1_adv_mtls_par` exigent tous deux PAR. Si l’un ou l’autre de ces niveaux de conformité est sélectionné, PAR est requis, quelle que soit la valeur du paramètre `require_pushed_authorization_requests`. Toute tentative d’autorisation sans utiliser PAR entraîne la réponse d’erreur suivante :

```json lines theme={null}
{
  “error”: “invalid_request”,
  "error_description": "Les requêtes d’autorisation poussées sont requises par le niveau de conformité configuré" 
}
```

Dans certains cas, définir un niveau de conformité modifie aussi le comportement d’Auth0. Par exemple, les niveaux de conformité `fapi1_adv_pkj_par` et `fapi1_adv_mtls_par` amènent Auth0 à inclure une claim `s_hash` dans le <Tooltip tip="Jeton d’identité : information d’identification destinée au client lui-même, plutôt qu’à l’accès à une ressource." cta="Voir le glossaire" href="/docs/fr-ca/glossary?term=ID+token">jeton d’identité</Tooltip> renvoyé, qui contient un hachage SHA256 de la valeur `state`. Cela permet aux jetons d’identification de servir de signature détachée.

Les tableaux suivants résument les règles de validation supplémentaires et les changements de comportement d’Auth0 activés par chaque niveau de conformité :

| Validation                                                                                                                                                             | `fapi1_adv_pkj_par` | `fapi1_adv_mtls_par` | `fapi2_sp_pkj_mtls` | `fapi2_sp_mtls_mtls` |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | -------------------- | ------------------- | -------------------- |
| Empêche l’utilisation de jetons d’accès dans la requête URL lors d’un appel à `/userinfo`. Les jetons d’accès doivent plutôt être placés dans l’en-tête Authorization. | Y                   | Y                    | Y                   | Y                    |
| Exige PAR.                                                                                                                                                             | Y                   | Y                    | Y                   | Y                    |
| Exige PKCE avec la méthode de challenge S256.                                                                                                                          | Y                   | Y                    | Y                   | Y                    |
| Empêche l’utilisation de caractères génériques dans les callbacks autorisés d’un client.                                                                               | Y                   | Y                    | N                   | N                    |
| Impose l’utilisation de JAR.                                                                                                                                           | Y                   | Y                    | N                   | N                    |
| Garantit que le payload JAR est signé à l’aide de l’algorithme PS256.                                                                                                  | Y                   | Y                    | N                   | N                    |
| Garantit que le payload JAR contient la claim nbf et qu’elle ne remonte pas à plus de 60 minutes.                                                                      | Y                   | Y                    | N                   | N                    |
| Garantit que le payload JAR contient la claim exp et qu’elle n’est pas fixée à plus de 60 minutes après la claim nbf.                                                  | Y                   | Y                    | N                   | N                    |
| Garantit que le client a défini la propriété `oidc_conformant` à true.                                                                                                 | Y                   | Y                    | Y                   | Y                    |
| Exige l’utilisation des en-têtes `x-fapi-*`                                                                                                                            | Y                   | Y                    | N                   | N                    |
| Exige l’utilisation de Private Key JWT pour l’authentification du client.                                                                                              | Y                   | N                    | Y                   | N                    |
| Exige l’utilisation de mTLS pour l’authentification du client.                                                                                                         | N                   | Y                    | N                   | Y                    |
| Types de réponse autorisés.                                                                                                                                            | code `id_token`     | code `id_token`      | code                | code                 |
| Exige que la claim `aud` corresponde strictement à l’issuer dans l’assertion Private Key JWT.                                                                          | N                   | N/A                  | Y                   | N/A                  |
| Exige le paramètre `redirect_uri` dans les Pushed Authorization Requests.                                                                                              | N                   | N                    | Y                   | Y                    |

| Comportement mis à jour d’Auth0                                                                                                                                                                                                                                      | `fapi1_adv_pkj_par` | `fapi1_adv_mtls_par` | `fapi2_sp_pkj_mtls` | `fapi2_sp_mtls_mtls` |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------- | -------------------- | ------------------- | -------------------- |
| Ajoute la claim s\_hash aux jetons d’identité.                                                                                                                                                                                                                       | Y                   | Y                    | N                   | N                    |
| Lorsque le scope profile est demandé, la claim `update_at` contient un horodatage Unix conforme à OIDC plutôt qu’une chaîne de caractères.                                                                                                                           | Y                   | Y                    | Y                   | Y                    |
| Retourne uniquement des codes d’erreur conformes à OIDC. Dans certains cas, Auth0 peut retourner des codes d’erreur supplémentaires, mais l’activation de ce niveau de conformité garantit qu’Auth0 n’utilise que les codes d’erreur définis dans les normes OpenID. | Y                   | Y                    | Y                   | Y                    |
| Retourne l’issuer dans le paramètre `iss` des réponses de type code.                                                                                                                                                                                                 | N                   | N                    | Y                   | Y                    |
| Réduit la durée de vie maximale du code d’autorisation à 60 secondes.                                                                                                                                                                                                | N                   | N                    | Y                   | Y                    |

<div id="configure-fapi-compliance-for-a-client">
  ## Configurer la conformité FAPI pour un client
</div>

<Tabs>
  <Tab title="Auth0 Dashboard">
    Pour effectuer cette opération dans l’Auth0 Dashboard :

    1. Accédez à **Auth0 Dashboard > Applications**.
    2. Sélectionnez l’application.
    3. Sélectionnez l’onglet **Application Settings**.
    4. Ouvrez la section **Advanced Settings**.
    5. Dans l’onglet **OAuth**, sélectionnez **FAPI Compliance Enforcement Level**.

    Les options de configuration de la conformité FAPI sont les suivantes :

    * **None** : Aucun niveau de conformité n’est requis. Il s’agit de la valeur par défaut.
    * **FAPI 1 Advanced profile using Private Key JWT and PAR** : Le client souhaite que ce client se conforme au FAPI1 Advanced profile en utilisant [Private Key JWT](/docs/fr-ca/get-started/applications/configure-private-key-jwt) et [PAR](/docs/fr-ca/get-started/applications/configure-par).
    * **FAPI 1 Advanced profile using mTLS and PAR** : Le client souhaite que ce client se conforme au FAPI1 Advanced profile en utilisant [mTLS](/docs/fr-ca/get-started/applications/configure-mtls) et [PAR](/docs/fr-ca/get-started/applications/configure-par).
    * **FAPI 2.0 Security Profile with Private Key JWT and certificate binding** : Le client souhaite que ce client se conforme au FAPI 2.0 Security Profile en utilisant [Private Key JWT Client Authentication](/docs/fr-ca/get-started/applications/configure-private-key-jwt) et [mTLS Token Sender-Constraining](/docs/fr-ca/secure/sender-constraining/mtls-sender-constraining).
    * **FAPI 2.0 Security Profile with mTLS and certificate binding** : Le client souhaite que ce client se conforme au FAPI 2.0 Security Profile en utilisant [mTLS Client Authentication](/docs/fr-ca/get-started/applications/configure-mtls) et [mTLS Token Sender-Constraining](/docs/fr-ca/secure/sender-constraining/mtls-sender-constraining).
  </Tab>

  <Tab title="Management API">
    Utilisez la [Management API](https://auth0.com/docs/api/management/v2) pour définir la propriété `compliance_level` à l’aide d’une requête `POST` ou `PATCH` :

    ```bash lines theme={null}
    curl --location --request PATCH 'https://{YOUR_DOMAIN}/api/v2/clients/$client_id' \
      --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}' \
      --header 'Content-Type: application/json' \
      --data '{
        "compliance_level": "fapi1_adv_mtls_par"
    }'
    ```

    Pour récupérer la propriété `compliance_level`, utilisez une requête `GET` :

    ```bash lines theme={null}
    curl --location 'https://{YOUR_DOMAIN}/api/v2/clients/{YOUR_CLIENT_ID} \
      --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}'
    ```

    Pour la conformité FAPI 2.0, vous pouvez configurer l’expiration des PAR à une valeur inférieure à 600 secondes, la valeur par défaut étant de 30 secondes. Vous pouvez définir cette valeur d’expiration à l’aide de la Management API.
  </Tab>
</Tabs>

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

* [Configurer l’authentification Private Key JWT](/docs/fr-ca/get-started/applications/configure-private-key-jwt)
* [Configurer les requêtes d’autorisation poussées (PAR)](/docs/fr-ca/get-started/applications/configure-par)
* [Configurer l’authentification mTLS](/docs/fr-ca/get-started/applications/configure-mtls)
