> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurer Auth0 pour passer les tests de certification OpenID FAPI.

> Apprenez à configurer Auth0 pour passer les tests de certification OpenID FAPI.

Cette section contient des conseils sur la façon de configurer votre client si vous souhaitez tester votre solution à l’aide des [tests de conformité OpenID FAPI](https://openid.net/certification/certification-fapi_op_testing/).

Pour passer les tests de conformité <Tooltip href="/docs/fr-ca/glossary?term=openid" tip="OpenID
Norme ouverte d’authentification qui permet aux applications de vérifier l’identité des utilisateurs sans avoir à collecter leurs informations de connexion." cta="Voir le glossaire">OpenID</Tooltip> FAPI, configurez premièrement les éléments suivants :

* Définissez la propriété `compliance_level` sur le profil souhaité, soit `fapi1_adv_pkj_par` soit `fapi1_adv_mtls_par`
* Soit [Configurez mTLS](/docs/fr-ca/get-started/applications/configure-mtls) (y compris [les alias mTLS](/docs/fr-ca/get-started/applications/configure-mtls/configure-mtls-for-a-tenant#enable-mtls-aliases)) soit [Configurez la clé privée JWT](/docs/fr-ca/get-started/applications/configure-private-key-jwt)
* [Configurez la liaison de jeton mTLS](/docs/fr-ca/get-started/applications/configure-mtls/configure-mtls-for-a-client#enable-token-binding)

Suivez ensuite les instructions ci-dessous pour compléter la configuration de vos tests de conformité OpenID FAPI :

* [Assurez-vous qu’Auth0 demande le consentement aux utilisateurs](#ensure-auth0-prompts-users-for-consent)
* [Configurez les revendications ACR prises en charge pour le locataire](#configure-supported-acr-claims-for-the-tenant-)
* [Supprimez la propriété alg du point de terminaison JWKS.](#remove-the-alg-property-from-jwks-endpoint)
* [Ajoutez une Action pour exiger la permission et redirect\_uri](#add-action-to-require-scope-and-redirect_uri)

### Assurez-vous qu’Auth0 demande le consentement des utilisateurs.

Vous devez vous assurer qu’Auth0 demande le consentement des utilisateurs. Vous pouvez ignorer cette étape si le client est configuré en tant qu’application de premier niveau, et si le serveur de ressources ou l’API permet de sauter le consentement pour les applications de premier niveau. Pour vous assurer qu’Auth0 demande le consentement des utilisateurs, définissez la propriété `is_first_party` du client sur `false`:

```bash lines theme={null}
curl --location --request PATCH 'https://$tenant/api/v2/clients/$client_id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "is_first_party": false  
}'
```

Ensuite, promouvez votre connexion au niveau du domaine :

```bash lines theme={null}
curl --location --request PATCH 'https://$tenant/api/v2/connections/$connection_id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "is_domain_connection": true
}'
```

#### Configurez les revendications ACR prises en charge pour le locataire

Les tests FAPI passent une valeur ACR requise de `urn:mace:incommon:iap:silver`. Pour inclure la valeur ACR requise dans le jeton d’ID, ajoutez `urn:mace:incommon:iap:silver` à la liste des valeurs ACR prises en charge pour le locataire :

```bash lines theme={null}
curl --location --request PATCH 'https://$tenant/api/v2/tenants/settings' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "acr_values_supported": ["urn:mace:incommon:iap:silver"]
}'
```

#### Supprimez la propriété alg du point de terminaison JWKS

Pour permettre l’utilisation de clés avec plusieurs algorithmes, et pas seulement RS256, supprimez la propriété `alg` du locataire de la sortie du point de terminaison `/.well-known/jwks.json` :

```bash lines theme={null}
curl --location --request PATCH 'https://$tenant/api/v2/tenants/settings' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "flags": {
        "remove_alg_from_jwks": true
    }
}'
```

#### Ajoutez une Action pour exiger la permission et redirect\_uri

Par défaut, Auth0 autorise les requêtes sans permission, en prenant la permission `openid` si aucune permission n’est présente. Auth0 permet également des requêtes sans `redirect_uri,` que vous pouvez définir dans [Actions](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/redirect-with-actions). Cependant, les tests de conformité FAPI exigent qu’Auth0 soit plus restrictif.

Ajoutez l’Action suivante pour appliquer les restrictions nécessaires sur la permission et `redirect_uri` :

```javascript lines theme={null}
exports.onExecutePostLogin = async (event, api) => {
  if (!event.request.body || !event.request.body.refresh_token) {
    // Require a scope
    if (!event.request.query.scope) {
      api.access.deny('scope must be provided in the request');
    }
    // To improve the error message if redirect_uri is not present
    if (!event.request.query.redirect_uri) {
      api.access.deny('redirect_uri must be provided in the request');
    }
  }
};
```

## En savoir plus

* [Configurer l’authentification par clé privée JWT](/docs/fr-ca/get-started/applications/configure-private-key-jwt)
* [Configurer l’authentification mTLS](/docs/fr-ca/get-started/applications/configure-mtls)
