> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/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>

<div id="configure-consent-policy-for-the-resource-server">
  ## Prérequis
</div>

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

* Un [domaine personnalisé](/docs/fr-CA/fr-ca/customize/custom-domains).
* Un modèle de [pages de connexion universelles personnalisées](/docs/fr-CA/fr-ca/customize/login-pages/universal-login/customize-templates). Consultez le document [Modèles de pages API](/docs/fr-CA/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/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>.

<div id="register-authorization_details-types">
  ## Configurer le serveur de ressources
</div>

<div id="auth0-guardian-app">
  ### Définir la politique de consentement
</div>

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 :

<table class="table">
  <thead>
    <tr>
      <th><strong>Est-ce une demande d’autorisation riche?</strong></th>
      <th><strong>MFA requise?</strong></th>
      <th><strong>`null` ou non défini (par défaut)</strong></th>
      <th>`transactional-authorization-with-mfa`</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Non</td>
      <td>Non</td>
      <td>Le consentement standard est affiché à moins qu’il n’y ait une autorisation qui inclut l’accès demandé.</td>
      <td>Le consentement personnalisé est affiché indépendamment des accès précédemment accordés.</td>
    </tr>

    <tr>
      <td>Oui</td>
      <td>Non</td>
      <td>La demande d’autorisation est rejetée avec `invalid_request`.</td>
      <td>Le consentement personnalisé est affiché indépendamment des accès précédemment accordés.</td>
    </tr>

    <tr>
      <td>Oui</td>
      <td>Oui, avec un facteur d’authentification qui n’est pas une notification poussée</td>
      <td>La demande d’autorisation est rejetée avec `invalid_request`.</td>
      <td>Le consentement personnalisé est affiché une fois que l’utilisateur a répondu aux défis MFA.</td>
    </tr>

    <tr>
      <td>Oui</td>
      <td>Oui, avec un facteur de notification poussée</td>
      <td>La demande d’autorisation est rejetée avec `invalid_request`.</td>
      <td>Aucun consentement n’est affiché. Le consentement est traité dans l’application mobile qui a reçu le défi de notification poussée.</td>
    </tr>
  </tbody>
</table>

<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/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=124a8211f944952a553e84bbeab6a5e5" 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/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=280&fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=3ae03f2cf36632fe26afa34a873c2516 280w, https://mintcdn.com/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=560&fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=961d83e3208556f1880a890b454e5e80 560w, https://mintcdn.com/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=840&fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=559fe0f0c5ecfb58e8157d702efb28b0 840w, https://mintcdn.com/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=1100&fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=a018b75bced18a2fac698509c80ea074 1100w, https://mintcdn.com/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=1650&fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=71bbcd290eab826bc85841017d0c1326 1650w, https://mintcdn.com/generaltranslationinc/ILd3jqbLP7deb70c/docs/images/fr-ca/cdy7uua7fh8z/3gr8Sf98gh8CUkjnlodNk/5262ab6330b4284087a7f87a719efd16/Access_Settings_-_API.png?w=2500&fit=max&auto=format&n=ILd3jqbLP7deb70c&q=85&s=88a70ad9fbe09c0203d343da34040f96 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>

<div id="other-notification-channels">
  ### Enregistrer les types authorization\_details.
</div>

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