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.

Pour passer les tests de conformité OpenID FAPI, configurez premièrement les éléments suivants :

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

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  
}'

Was this helpful?

/

Ensuite, promouvez votre connexion au niveau du domaine :

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
}'

Was this helpful?

/

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 :

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"]
}'

Was this helpful?

/

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 :

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
    }
}'

Was this helpful?

/

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

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');
    }
  }
};

Was this helpful?

/

En savoir plus