Passer au contenu principal
Pour utiliser les fonctionnalités de l’identité très réglementée (HRI), vous devez disposer d’un plan Enterprise avec le module complémentaire Identité très réglementée. Consultez Tarification Auth0 pour plus de détails.

Prérequis

Avant de configurer les RAR pour une API, il faut d’abord configurer :

Configurer le serveur de ressources

Définir la politique de consentement

La politique de consentement détermine quand et comment Auth0 affiche l’invite de consentement à l’utilisateur final. Le serveur de ressources (c’est-à-dire l’API) enregistré dans un locataire Auth0 doit définir à l’avance la politique de consentement à appliquer pour autoriser la demande RAR. La politique de consentement par défaut est null ou non définie. Auth0 prend également en charge la politique de consentement transactional-authorization-with-mfa qui couvre le cas d’utilisation de l’autorisation transactionnelle qui nécessite toujours le consentement explicite du propriétaire de la ressource (c’est-à-dire l’utilisateur final). Le tableau ci-dessous résume le comportement de la politique de consentement d’Auth0 :
Est-ce une demande d’autorisation riche?MFA requise?null ou non défini (par défaut)transactional-authorization-with-mfa
NonNonLe consentement standard est affiché à moins qu’il n’y ait une autorisation qui inclut l’accès demandé.Le consentement personnalisé est affiché indépendamment des accès précédemment accordés.
OuiNonLa demande d’autorisation est rejetée avec invalid_request.Le consentement personnalisé est affiché indépendamment des accès précédemment accordés.
OuiOui, avec un facteur d’authentification qui n’est pas une notification pousséeLa demande d’autorisation est rejetée avec invalid_request.Le consentement personnalisé est affiché une fois que l’utilisateur a répondu aux défis MFA.
OuiOui, avec un facteur de notification pousséeLa demande d’autorisation est rejetée avec invalid_request.Aucun consentement n’est affiché. Le consentement est traité dans l’application mobile qui a reçu le défi de notification poussée.
  • Auth0 Dashboard
  • Management API
Définissez la politique de consentement dans vos paramètres d’API à l’aide de Auth0 Dashboard.
  1. Naviguez jusqu’à Auth0 Dashboard > Applications > APIs.
  2. Sélectionnez l’onglet Paramètres.
  3. Sous Paramètres d’accès, sélectionnez Autorisation de transaction avec la MFA.
  4. Enregistrez vos modifications.
Dashboard > Applications > APIs > Settings > Access Settings

Enregistrer les types authorization_details.

Le serveur de ressources doit enregistrer les types authorization_details qui sont acceptés, de la même manière qu’il enregistre les permissions autorisées. Assurez-vous que authorization_details respecte ces exigences :
  • Maximum de 5 Ko
  • La valeur doit être un jeton JSON valide
  • Doit être un tableau d’objets
  • Maximum de 5 entrées dans le tableau
  • Chaque objet doit avoir une propriété type (qui est préenregistrée sur l’API)
  • Maximum de 10 propriétés par objet
  • La longueur maximale des noms de propriété est de 255
  • La longueur maximale de la valeur de propriété est de 255
  • Maximum de 5 niveaux d’objets imbriqués
  • Les noms de propriétés ne peuvent contenir que les caractères suivants : a-zA-Z0-9_.-
Vous pouvez enregistrer des types authorization_details avec l’Auth0 Dashboard ou avec la Management API.
  • Auth0 Dashboard
  • Management API
Vous pouvez ajouter des authorization_details dans Auth0 Dashboard.
  1. Naviguez jusqu’à Auth0 Dashboard > Applications > API.
  2. Sélectionnez l’onglet Autorisations .
  3. Sous Ajouter un type de détails d’autorisation, ajoutez payment_initiation. Sélectionnez l’option Ajouter. Ajoutez money_transfer et sélectionnez l’option Ajouter.

Créer un serveur de ressources pour les demandes RAR

La requête POST suivante crée et configure un serveur de ressources pour recevoir des demandes RAR :
curl --location --request POST 'https://$tenant/api/v2/resource-servers' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "name": "Payments API",
  "identifier": "https://payments.api/",
  "consent_policy": "standard",
  "authorization_details": [{"type": "payment_initiation"}]
  }'

Définir une invite de consentement personnalisée pour afficher les détails de l’autorisation

Pour afficher les détails de l’autorisation d’une demande RAR dans l’écran de consentement, vous devez configurer l’invite customized-consent avec les partiels de modèle appropriés. La demande PUT suivante configure les éléments partiels du consentement personnalisé :
curl --location --request PUT "https://$tenant/api/v2/prompts/customized-consent/partials" \
    --header "Authorization: Bearer $management_access_token" \
    --header "Content-Type: application/json" \
    --data '{
          "customized-consent": {
            "form-content": "<div style=\"font-size: 1.3em; font-weight: bold;\">Operation Details</div><hr style=\"margin: 10px 0;\"><div style=\"margin-bottom: 20px;\"></div><div style=\"font-weight: bold;\">Transaction Type</div><div>{{ transaction.params.authorization_details[0].type }}</div><div style=\"margin-bottom: 20px;\"></div><div style=\"font-weight: bold;\">Amount</div><div>{{ transaction.params.authorization_details[0].instructedAmount.amount }} {{ transaction.params.authorization_details[0].instructedAmount.currency }}</div><div style=\"margin-bottom: 20px;\"></div><div style=\"font-weight: bold;\">Recipient</div><div>{{ transaction.params.authorization_details[0].beneficiary }}</div><div style=\"margin-bottom: 20px;\"></div><div style=\"font-weight: bold;\">Destination Account</div><div>{{ transaction.params.authorization_details[0].destinationAccount }}</div><div style=\"margin-bottom: 20px;\"></div>"
          }
        }'
Le modèle de consentement personnalisé rend les détails de l’autorisation dans l’invite de consentement suivante qu’Auth0 affiche à l’utilisateur final : Pour en savoir plus sur la personnalisation de l’invite de consentement, consultez Personnaliser les nouvelles pages de connexion universelle et Personnaliser la nouvelle connexion universelle avec l’éditeur sans code.
I