Passer au contenu principal
Pour utiliser les fonctionnalités Highly Regulated Identity, vous devez disposer d’un forfait Enterprise avec l’option Highly Regulated Identity. Consultez Auth0 Pricing pour en savoir plus.
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 et PAR.
  • fapi1_adv_pkj_par : le client souhaite que cette application se comporte conformément au profil FAPI1 Advanced en utilisant Private Key JWT et 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 et mTLS Token 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 et mTLS Token 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 :
{
  “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 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é :
Validationfapi1_adv_pkj_parfapi1_adv_mtls_parfapi2_sp_pkj_mtlsfapi2_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.YYYY
Exige PAR.YYYY
Exige PKCE avec la méthode de défi S256.YYYY
Empêche l’utilisation de caractères génériques dans les URL de rappel autorisées d’une application.YYNN
Impose l’utilisation de JAR.YYNN
Garantit que le payload JAR est signé à l’aide de l’algorithme PS256.YYNN
Garantit que le payload JAR contient la revendication nbf et que celle-ci ne remonte pas à plus de 60 minutes.YYNN
Garantit que le payload JAR contient la revendication exp et qu’elle ne dépasse pas de plus de 60 minutes la revendication nbf.YYNN
Garantit que l’application a défini la propriété oidc_conformant sur true.YYYY
Exige l’utilisation des en-têtes x-fapi-*YYNN
Exige l’utilisation de Private Key JWT pour l’authentification de l’application.YNYN
Exige l’utilisation de mTLS pour l’authentification de l’application.NYNY
Types de réponse autorisés.code id_tokencode id_tokencodecode
Exige que la revendication aud corresponde strictement à l’émetteur dans l’assertion Private Key JWT.NN/AYN/A
Exige le paramètre redirect_uri dans les requêtes d’autorisation poussées.NNYY
Comportement mis à jour d’Auth0fapi1_adv_pkj_parfapi1_adv_mtls_parfapi2_sp_pkj_mtlsfapi2_sp_mtls_mtls
Ajoute la revendication s_hash aux ID tokens.YYNN
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.YYYY
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.YYYY
Retourne l’émetteur comme paramètre iss dans les réponses de code.NNYY
Réduit à 60 secondes la durée de vie maximale du code d’autorisation.NNYY

Configurer la conformité FAPI pour une application

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 et 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 et 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 et mTLS Token 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 et mTLS Token Sender-Constraining.

En savoir plus