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

> Découvrez comment configurer la conformité FAPI pour un locataire Auth0.

# Configurer la conformité FAPI

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

Pour aider les clients à configurer leur locataire Auth0 afin de respecter l’un des profils Financial-grade API (FAPI), le modèle d’application inclut une propriété `compliance_level` qui peut prendre l’une des valeurs suivantes :

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

Le respect d’un profil FAPI nécessite plusieurs changements de configuration. Définir `compliance_level` garantit qu’aucune demande d’autorisation ne peut aboutir à moins que la demande et la configuration 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, le fait de 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 revendication `s_hash` dans le <Tooltip tip="ID Token : justificatif destiné à l’application cliente elle-même, plutôt qu’à l’accès à une ressource." cta="Voir le glossaire" href="/fr-CA/docs/glossary?term=ID+token">jeton d’identité</Tooltip> retourné, contenant un hash SHA256 de la valeur state. Cela permet aux jetons d’identité 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 qu’active 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 les paramètres de requête de l’URL lors de l’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 défi S256.                                                                                                                                                   | Y                   | Y                    | Y                   | Y                    |
| Empêche l’utilisation de caractères génériques dans les URL de rappel autorisées d’une application.                                                                                        | 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 revendication nbf et que celle-ci ne remonte pas à plus de 60 minutes.                                                                             | Y                   | Y                    | N                   | N                    |
| Garantit que le payload JAR contient la revendication exp et qu’elle ne dépasse pas de plus de 60 minutes la revendication nbf.                                                            | Y                   | Y                    | N                   | N                    |
| Garantit que l’application a défini la propriété `oidc_conformant` sur 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 de l’application.                                                                                                           | Y                   | N                    | Y                   | N                    |
| Exige l’utilisation de mTLS pour l’authentification de l’application.                                                                                                                      | N                   | Y                    | N                   | Y                    |
| Types de réponse autorisés.                                                                                                                                                                | code `id_token`     | code `id_token`      | code                | code                 |
| Exige que la revendication `aud` corresponde strictement à l’émetteur dans l’assertion Private Key JWT.                                                                                    | N                   | N/A                  | Y                   | N/A                  |
| Exige le paramètre `redirect_uri` dans les requêtes d’autorisation poussées.                                                                                                               | 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 revendication s\_hash aux ID tokens.                                                                                                                                                                                                                            | Y                   | Y                    | N                   | N                    |
| Lorsque le scope profile est demandé, la revendication `update_at` contient un horodatage Unix OIDC Conformant 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 utilise uniquement des codes d’erreur définis dans les normes OpenID. | Y                   | Y                    | Y                   | Y                    |
| Retourne l’émetteur comme paramètre `iss` dans les réponses de code.                                                                                                                                                                                                      | N                   | N                    | Y                   | Y                    |
| Réduit à 60 secondes la durée de vie maximale du code d’autorisation.                                                                                                                                                                                                     | N                   | N                    | Y                   | Y                    |

<div id="configure-fapi-compliance-for-a-client">
  ## Configurer la conformité FAPI pour une application
</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 **paramètres de l’application**.
    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 du paramètre par défaut.
    * **FAPI 1 Advanced profile using Private Key JWT and PAR** : Le client souhaite que cette application se comporte conformément au profil avancé FAPI1 en utilisant [Private Key JWT](/fr-CA/docs/get-started/applications/configure-private-key-jwt) et [PAR](/fr-CA/docs/get-started/applications/configure-par).
    * **FAPI 1 Advanced profile using mTLS and PAR** : Le client souhaite que cette application se comporte conformément au profil avancé FAPI1 en utilisant [mTLS](/fr-CA/docs/get-started/applications/configure-mtls) et [PAR](/fr-CA/docs/get-started/applications/configure-par).
    * **FAPI 2.0 Security Profile with Private Key JWT and certificate binding** : Le client souhaite que cette application se comporte conformément au profil de sécurité FAPI 2.0 en utilisant [Private Key JWT Client Authentication](/fr-CA/docs/get-started/applications/configure-private-key-jwt) et [mTLS Token Sender-Constraining](/fr-CA/docs/secure/sender-constraining/mtls-sender-constraining).
    * **FAPI 2.0 Security Profile with mTLS and certificate binding** : Le client souhaite que cette application se comporte conformément au profil de sécurité FAPI 2.0 en utilisant [mTLS Client Authentication](/fr-CA/docs/get-started/applications/configure-mtls) et [mTLS Token Sender-Constraining](/fr-CA/docs/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` au moyen 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 requêtes d’autorisation poussées à une valeur inférieure à 600 secondes; la valeur par défaut est 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 par Private Key JWT](/fr-CA/docs/get-started/applications/configure-private-key-jwt)
* [Configurer les requêtes d’autorisation poussées (PAR)](/fr-CA/docs/get-started/applications/configure-par)
* [Configurer l’authentification mTLS](/fr-CA/docs/get-started/applications/configure-mtls)
