Saltar al contenido principal
Esta sección contiene algunas recomendaciones sobre cómo configurar su cliente si desea probar su solución con las pruebas de conformidad de OpenID FAPI. Para pasar las pruebas de conformidad de FAPI, primero configure lo siguiente: Luego, siga las instrucciones que se indican a continuación para completar la configuración de las pruebas de conformidad de OpenID FAPI: Debe asegurarse de que Auth0 pida consentimiento a los usuarios. Puede omitir este paso si el cliente está configurado como una aplicación de primera parte y el o la API permiten omitir el consentimiento para aplicaciones de primera parte. Para asegurarse de que Auth0 pida consentimiento a los usuarios, establezca la propiedad is_first_party del cliente en false:
curl --location --request PATCH 'https://{YOUR_DOMAIN}/api/v2/clients/YOUR_CLIENT_ID' \
  --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "is_first_party": false  
}'
Luego, promueva su conexión al nivel del dominio:
curl --location --request PATCH 'https://{YOUR_DOMAIN}/api/v2/connections/YOUR_CONNECTION_ID' \
  --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "is_domain_connection": true
}'

Configure las claims de ACR admitidas para el inquilino

Las pruebas de FAPI pasan un valor de ACR obligatorio de urn:mace:incommon:iap:silver. Para incluir el valor de ACR obligatorio en el , agregue urn:mace:incommon:iap:silver a la lista de valores de ACR admitidos para el inquilino:
curl --location --request PATCH 'https://{YOUR_DOMAIN}/api/v2/tenants/settings' \
  --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "acr_values_supported": ["urn:mace:incommon:iap:silver"]
}'

Elimine la propiedad alg del endpoint JWKS

Para permitir que las claves se utilicen con varios algoritmos, no solo con RS256, elimine la propiedad alg del inquilino de la salida del endpoint /.well-known/jwks.json:
curl --location --request PATCH 'https://{YOUR_DOMAIN}/api/v2/tenants/settings' \
  --header 'Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}' \
  --header 'Content-Type: application/json' \
  --data-raw '{
    "flags": {
        "remove_alg_from_jwks": true
    }
}'

Añada una Action para exigir scope y redirect_uri

De forma predeterminada, Auth0 permite solicitudes sin scope y, si no se proporciona ninguno, asume el scope openid. Auth0 también permite solicitudes sin redirect_uri, que puede configurar en Actions. Sin embargo, las pruebas de conformidad de FAPI requieren que Auth0 sea más estricto. Añada la siguiente Action para aplicar las restricciones necesarias a scope y redirect_uri:
exports.onExecutePostLogin = async (event, api) => {
  if (!event.request.body || !event.request.body.refresh_token) {
    // Requerir un scope
    if (!event.request.query.scope) {
      api.access.deny('scope must be provided in the request');
    }
    // Para mejorar el mensaje de error si redirect_uri no está presente
    if (!event.request.query.redirect_uri) {
      api.access.deny('redirect_uri must be provided in the request');
    }
  }
};

(Solo perfiles FAPI2) Asegúrese de que la claim iss se devuelva en las respuestas

El perfil de seguridad de FAPI 2.0 exige que el parámetro iss se devuelva en las respuestas de autorización de acuerdo con RFC9207. Por motivos de compatibilidad, Auth0 no lo hace de forma predeterminada. Para habilitar este comportamiento, establezca la propiedad authorization_response_iss_parameter_supported en la configuración del inquilino en true.
curl --location --request PATCH "https://{YOUR_DOMAIN}/api/v2/tenants/settings" \
  --header "Authorization: Bearer {YOUR_MANAGEMENT_API_ACCESS_TOKEN}" \
  --header "Content-Type: application/json" \
  --data-raw '{
    "authorization_response_iss_parameter_supported": true
  }'

Más información