> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-actions-triggers-prototype.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurer les Demandes d’autorisation enrichies (RAR)

> Découvrez comment configurer les demandes d’autorisation enrichies (RAR) pour une API.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  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](https://auth0.com/pricing/) pour plus de détails.
</Callout>

## Prérequis

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

* Un [domaine personnalisé](/docs/fr-ca/customize/custom-domains).
* Un modèle de [pages de connexion universelles personnalisées](/docs/fr-ca/customize/login-pages/universal-login/customize-templates). Consultez le document [Modèles de pages API](/docs/fr-ca/customize/universal-login-pages/universal-login-page-templates#page-templates-api) pour savoir comment personnaliser un modèle de page de connexion universelle à l’aide du <Tooltip href="/docs/fr-ca/glossary?term=management-api" tip="Management API
  Un produit permettant aux clients d’effectuer des tâches administratives." cta="Voir le glossaire">Management API</Tooltip>.

## 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`                                                                                             |
| ---------------------------------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| Non                                      | Non                                                                            | Le 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.                                           |
| Oui                                      | Non                                                                            | La demande d’autorisation est rejetée avec `invalid_request`.                                           | Le consentement personnalisé est affiché indépendamment des accès précédemment accordés.                                           |
| Oui                                      | Oui, avec un facteur d’authentification qui n’est pas une notification poussée | La 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.                                       |
| Oui                                      | Oui, avec un facteur de notification poussée                                   | La 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. |

<Tabs>
  <Tab title="Auth0 Dashboard">
    Définissez la politique de consentement dans vos paramètres d’API à l’aide de Auth0 Dashboard.

    1. Naviguez jusqu’à [Auth0 Dashboard > Applications > APIs](https://manage.auth0.com/#/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.

    <Frame>
      <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=d013a6c0d347e732b7710497adb1e5da" alt="Dashboard > Applications > APIs > Settings > Access Settings" data-og-width="1070" width="1070" data-og-height="578" height="578" data-path="docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=280&fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=4ad3523681796d572b4f2f3ab29123e8 280w, https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=560&fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=a4977fb840ac76cc56af723b8f873abe 560w, https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=840&fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=711fb5d9d365069c0317d647e623a1a8 840w, https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=1100&fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=7c1f0fe757b40e0dfed9119e9883387b 1100w, https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=1650&fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=ff5635b8af0c0834c7e2934a240c7d95 1650w, https://mintcdn.com/docs-dev-actions-triggers-prototype/sobog9Qdm0HQ6dwk/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=2500&fit=max&auto=format&n=sobog9Qdm0HQ6dwk&q=85&s=f53f0522761905a57ffa12b188ae7643 2500w" />
    </Frame>
  </Tab>

  <Tab title="Management API">
    La demande PATCH suivante envoyée au point de terminaison [Mettre à jour un serveur de ressources](https://auth0.com/docs/api/management/v2/resource-servers/patch-resource-servers-by-id) de Management API définit la politique de consentement avec la valeur `transactional-authorization-with-mfa` pour un serveur de ressources existant :

    ```bash lines theme={null}
    curl --location --request PATCH 'https://$tenant/api/v2/resource-servers/$resource-server-id' \ --header 'Authorization: Bearer $management_access_token' \ --header 'Content-Type: application/json' \ --data-raw '{ "consent_policy": "standard" }'
    ```
  </Tab>
</Tabs>

### 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](https://manage.auth0.com/) ou avec la [Management API](https://auth0.com/docs/api/management/v2).

<Tabs>
  <Tab title="Auth0 Dashboard">
    Vous pouvez ajouter des `authorization_details` dans Auth0 Dashboard.

    1. Naviguez jusqu’à [Auth0 Dashboard > Applications > API](https://manage.auth0.com/#/apis).
    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**.
  </Tab>

  <Tab title="Management API">
    La demande PATCH suivante envoyée au point de terminaison [Mettre à jour un serveur de ressources](https://auth0.com/docs/api/management/v2/resource-servers/patch-resource-servers-by-id) de Management API enregistre `payment_initiation` et `money_transfer` comme types de `authorization_details` pour un serveur de ressources existant :

    ```bash lines theme={null}
    curl --location --request PATCH 'https://$tenant/api/v2/resource-servers/$resource-server-id' \
      --header 'Authorization: Bearer $management_access_token' \
      --header 'Content-Type: application/json' \
      --data-raw '{
      "authorization_details": [{"type": "payment_initiation"}, {"type": "money_transfer"}]
      }'
    ```
  </Tab>
</Tabs>

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

```bash lines theme={null}
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é :

```bash lines theme={null}
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](/docs/fr-ca/customize/login-pages/universal-login/customize-templates) et [Personnaliser la nouvelle connexion universelle avec l’éditeur sans code](/docs/fr-ca/customize/login-pages/universal-login/customize-themes).
