Skip to main content
Avec les Rich Authorization Requests (RAR), les applications peuvent demander et obtenir, auprès de comme les utilisateurs finaux, des données d’ dans le cadre du flux de code d’autorisation avec Pushed Authorization Requests (PAR) et du flux d’authentification par canal arrière initiée par le client. Les 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 l’application souhaite avoir accès au nom de l’utilisateur. Vous pouvez afficher à l’utilisateur les authorization_details demandés en utilisant l’une des options suivantes : Pour configurer les Rich Authorization Requests pour un , vous devez :
  1. Enregistrer les types authorization_details pour le serveur de ressources.
  2. Configurer les stratégies API Access 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 stratégie 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 structure de l’objet. Un tableau authorization_details peut contenir plusieurs entrées du même type.

Application Auth0 Guardian

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 dans votre propre application mobile avec le SDK Auth0 Guardian, les exigences suivantes s’appliquent :
  • Maximum de 5 Ko
  • Doit être du 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 à partir duquel l’argent doit être transféré.
  • destinationAccount : Le compte bancaire de destination vers lequel l’argent doit être transféré.
  • beneficiary : Le bénéficiaire du transfert d’argent.
  • subject : L’objet du transfert d’argent.
Vous devez enregistrer des types authorization_details pour un serveur de ressources, ce qui est similaire à l’enregistrement des scopes autorisés. Vous pouvez enregistrer des types authorization_details dans l’Auth0 Dashboard ou au moyen 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 pour votre serveur de ressources. Saisissez un type authorization_details
  4. Sélectionnez l’option +Add.
Vous pouvez voir les types authorization_details pour votre serveur de ressources sous List of Authorization Details Types :

Configurer les stratégies API Access

Les stratégies API Access pour les applications déterminent quelles applications peuvent accéder à vos API, ainsi que les scopes ou types authorization_details auxquels elles sont autorisées à accéder. Vous pouvez vérifier la stratégie actuelle de votre API à l’aide de la Management API. Effectuez une requête GET vers le point de terminaison Obtenir un serveur de ressources et vérifiez la propriété subject_type_authorization dans la réponse :
La propriété subject_type_authorization peut prendre des valeurs pour client.policy et user.policy :
  • Si la valeur de la stratégie est allow_all, les applications ou les utilisateurs peuvent demander tous les types authorization_details enregistrés pour l’API.
  • Si la valeur de la stratégie est require_client_grant, chaque type de authorization_details doit être explicitement autorisé par l’autorisation d’application de cette application.
  • Si la valeur de la stratégie est deny_all, aucune application ni aucun utilisateur ne peut demander quelque type authorization_details que ce soit enregistré pour l’API.
Pour en savoir plus sur la gestion des autorisations d’application pour les applications, consultez Accès des applications aux API : Client Grants . Vous pouvez afficher les authorization_details d’une Rich Authorization Request 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 d’Auth0 CLI ou de la Management API.

Auth0 CLI

Pour configurer les partials du Consent personnalisé, exécutez la commande auth0 ul customize avec les indicateurs appropriés dans votre terminal :
Pour en savoir plus, consultez la documentation sur Auth0 universal-login customize.

Management API

Pour configurer les partials de Customized Consent, 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 ci-dessous qu’Auth0 présente à l’utilisateur final :
Dans le flux de notifications par courriel avec CIBA et RAR, vous devez personnaliser l’invite de consentement pour 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’invite de consentement, consultez : La stratégie de consentement du serveur de ressources détermine si Auth0 stocke les valeurs authorization_details et les rend accessibles aux applications mobiles lorsqu’une notification poussée est envoyée. Consultez le comportement de la stratégie de consentement standard 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 stratégie de consentement d’un serveur de ressources dans l’Auth0 Dashboard ou à l’aide de la Management API.
Définissez la stratégie 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 stratégie de consentement Standard.
  4. Enregistrez vos modifications.
Dashboard > Applications > APIs > Settings > Access Settings