Skip to main content
Grâce à Rich Authorization Requests (RAR), les clients peuvent demander et obtenir des données d’ auprès des , comme les utilisateurs finaux, pendant le flux du code d’autorisation avec des requêtes d’autorisation poussées (PAR) et le flux d’authentification backchannel initié par le client. Rich Authorization Requests utilisent le paramètre authorization_details. Ce paramètre accepte un tableau JSON d’objets pouvant inclure des renseignements détaillés sur l’autorisation demandée, comme les ressources précises ou les actions auxquelles le client veut accéder au nom de l’utilisateur. Vous pouvez présenter à l’utilisateur les authorization_details demandés de l’une des façons suivantes : Pour configurer Rich Authorization Requests pour un , vous devez :
  1. enregistrer les types authorization_details pour le serveur de ressources.
  2. Configurer les politiques d’accès à l’API pour permettre à votre application de demander ces types.
  3. Définir l’invite de consentement personnalisée pour afficher les authorization_details.
  4. Facultatif : configurer la politique de consentement pour le serveur de ressources.

Enregistrer les types authorization_details

Chaque objet du tableau JSON doit comporter un champ type, qui décrit la forme de l’objet. Un tableau authorization_details peut contenir plusieurs entrées du même type.

Auth0 Guardian app

Si vous utilisez l’application Auth0 Guardian, la valeur du paramètre authorization_details doit contenir un seul objet dans le tableau, et cet objet doit être conforme au schéma Auth0 suivant : Voici un exemple de type authorization_details utilisant le schéma Auth0 :

Autres canaux de notification

Le type authorization_details n’a pas besoin d’utiliser le schéma Auth0 si vous n’utilisez pas l’application Auth0 Guardian. Si vous affichez authorization_details au moyen d’une invite de consentement personnalisée ou de votre propre application mobile personnalisée avec le SDK Auth0 Guardian, les exigences suivantes s’appliquent :
  • Maximum de 5 Ko
  • Doit être un JSON valide
  • Doit être un tableau d’objets
  • Maximum de 5 entrées dans le tableau
  • Chaque objet doit avoir une propriété type (préenregistrée dans l’API)
  • Maximum de 10 propriétés par objet
  • La longueur maximale des noms de propriété est de 255 caractères
  • La longueur maximale de la valeur d’une propriété est de 255 caractères
  • Maximum de 5 niveaux d’objets imbriqués
  • Les noms de propriété ne peuvent contenir que les caractères suivants : a-zA-Z0-9_.-
Voici un exemple de authorization_details de type money_transfer qui n’utilise pas le schéma Auth0. Il contient les champs d’objet suivants :
  • instructedAmount : Le montant en USD à transférer.
  • sourceAccount : Le compte bancaire source duquel l’argent sera transféré.
  • destinationAccount : Le compte bancaire de destination vers lequel l’argent sera transféré.
  • beneficiary : Le bénéficiaire du transfert d’argent.
  • subject : L’objet du transfert d’argent.
Vous devez enregistrer les types authorization_details pour un serveur de ressources, ce qui est similaire à l’enregistrement des scopes autorisés. Vous pouvez enregistrer les types authorization_details à l’aide de l’Auth0 Dashboard ou de la Management API.
Pour ajouter authorization_details dans l’Auth0 Dashboard :
  1. Accédez à Auth0 Dashboard > Applications > APIs.
  2. Sélectionnez l’onglet Permissions.
  3. Sous Add an Authorization Details type, vous pouvez ajouter plusieurs types authorization_details à votre serveur de ressources. Saisissez un type authorization_details.
  4. Sélectionnez l’option +Add.
Vous pouvez voir les types authorization_details de votre serveur de ressources sous List of Authorization Details Types :

Configurer les politiques d’accès à l’API

Les API Access Policies for Applications définissent quelles applications peuvent accéder à vos API et à quels scopes ou types authorization_details elles sont autorisées à accéder. Vous pouvez vérifier la politique actuelle de votre API à l’aide de la Management API. Faites une requête GET au point de terminaison Get a resource server et vérifiez la propriété subject_type_authorization dans la réponse :
La propriété subject_type_authorization accepte les valeurs client.policy et user.policy :
  • Si la valeur de policy est allow_all, les applications ou les utilisateurs peuvent demander tous les types authorization_details enregistrés pour l’API.
  • Si la valeur de policy est require_client_grant, chaque type de authorization_details doit alors être explicitement autorisé par le client grant pour cette application.
  • Si la valeur de policy est deny_all, aucune application ni aucun utilisateur ne peut demander les types authorization_details enregistrés pour l’API.
Pour en savoir plus sur la gestion des client grants pour les applications, consultez Application Access to APIs: Client Grants . Vous pouvez afficher les authorization_details d’une requête d’autorisation enrichie dans l’invite de consentement. Pour ce faire, configurez l’invite customized-consent avec les partials de modèle appropriés. Vous pouvez définir l’invite de consentement personnalisée à l’aide de l’Auth0 CLI ou de la Management API.

Auth0 CLI

Pour configurer les partials de consentement personnalisé, exécutez la commande auth0 ul customize avec les options appropriées dans votre terminal :
Pour en savoir plus, consultez la documentation sur la personnalisation de Universal Login d’Auth0.

Management API

Pour configurer les partials de consentement personnalisé, envoyez une requête PUT au point de terminaison /prompts/customized-consent/partials :
Le modèle de consentement personnalisé affiche authorization_details dans l’invite de consentement personnalisé suivante qu’Auth0 présente à l’utilisateur final :
Dans le flux de notifications par courriel avec CIBA et RAR, vous devez personnaliser l’écran de consentement afin d’afficher à l’utilisateur les écrans d’approbation ou de refus :
L’utilisateur accepte la demande d’authentification
L’utilisateur accepte la demande d’authentification
Pour en savoir plus sur la personnalisation de l’écran de consentement, consultez : La politique de consentement du serveur de ressources détermine si Auth0 stocke les valeurs authorization_details et les met à la disposition des applications mobiles lorsqu’une notification push est envoyée. Consultez le comportement standard de la politique de consentement d’Auth0 pour une requête contenant authorization_details : Les clients peuvent aussi définir consent_policy à transactional-authorization-with-mfa, ce qui entraîne le comportement suivant : Vous pouvez définir la politique de consentement pour un serveur de ressources dans l’Auth0 Dashboard ou au moyen de la Management API.
Définissez la politique de consentement dans les paramètres de votre API à l’aide de l’Auth0 Dashboard.
  1. Accédez à Auth0 Dashboard > Applications > APIs.
  2. Sélectionnez l’onglet Settings.
  3. Sous Access Settings, choisissez la politique de consentement Standard.
  4. Enregistrez vos modifications.
Dashboard > Applications > APIs > Settings > Access Settings