Pour utiliser les fonctionnalités de authentification backchannel initiée par le client (CIBA), vous devez avoir un plan Enterprise ou un module complémentaire approprié. Consultez Auth0 Pricing pour en savoir plus.
authorization_details contient des renseignements sur la requête que vous pouvez utiliser pour personnaliser l’invite de consentement affichée à l’utilisateur.
Vous pouvez autoriser les utilisateurs avec CIBA à l’aide des canaux de notification suivants :
- Notifications push mobiles à l’aide de l’application Auth0 Guardian et d’une application personnalisée intégrée au SDK Auth0 Guardian.
- Notifications par courriel, qui nécessitent la configuration d’une invite de consentement personnalisée.
Cas d’utilisation courants
- Une application de paiement invite l’utilisateur à confirmer un transfert d’argent. Les
authorization_detailspeuvent être personnalisés pour afficher les détails de la transaction. - Un agent d’IA présente à l’utilisateur les détails d’un rendez-vous médical reporté. Les
authorization_detailspeuvent être personnalisés pour afficher la nouvelle heure et la nouvelle date.
Fonctionnement
authorization_details au serveur d’autorisation via le point de terminaison /bc-authorize.
Le diagramme de séquence suivant illustre le flux complet d’autorisation de l’utilisateur avec CIBA :

- Prérequis
- Étape 1 : l’application cliente lance une requête CIBA
- Étape 2 : le tenant Auth0 accuse réception de la requête CIBA
- Étape 3 : l’application cliente interroge périodiquement pour obtenir une réponse
- Étape 4 : l’appareil d’authentification reçoit la notification push
- Étape 5 : l’appareil d’authentification récupère les détails du consentement
- Étape 6 : l’appareil d’authentification présente les détails du consentement à l’utilisateur
- Étape 7 : l’appareil d’authentification renvoie la réponse de l’utilisateur à Auth0
- Étape 8 : Auth0 reçoit la réponse de l’utilisateur une fois le flux terminé
- Étape 9 : Auth0 renvoie le jeton d’accès à l’application cliente
Prérequis
- Configurer l’authentification backchannel initiée par le client pour votre tenant et votre application, y compris votre canal de notification.
- Configurer les requête d’autorisation enrichi pour votre , ce qui comprend l’enregistrement de vos types
authorization_details. - Si vous utilisez des notifications par courriel avec CIBA et RAR, définissez une invite de consentement personnalisée.
Étape 1 : L’application cliente lance une requête CIBA
authorization_details au point de terminaison /bc-authorize :
Étape 2 : le tenant Auth0 reçoit la requête CIBA
POST, vous devriez recevoir une réponse contenant un auth-req-id associé à la requête :
auth_req_id est transmise à l’endpoint /token pour vérifier, à intervalles réguliers, si le CIBA flow est terminé.
Étape 3 : L’application cliente interroge périodiquement pour obtenir une réponse
/token à l’aide du type d’octroi urn:openid:params:grant-type:ciba et du auth_req_id reçu du point de terminaison /bc-authorize :
- cURL
- C#
- Go
- Java
/token.
Étape 4 : l’appareil d’authentification reçoit la notification
- Notification push mobile : Auth0 l’envoie à l’application Auth0 Guardian ou à une application mobile personnalisée intégrant le SDK Auth0 Guardian.
- Notification par courriel : Auth0 l’envoie à l’adresse courriel vérifiée de l’utilisateur.
Étape 5 : l’appareil d’authentification récupère les détails du consentement
binding_message, à partir de l’Auth0 Consent API :
- notification push mobile : l’application Auth0 Guardian ou une application personnalisée intégrée à l’Auth0 Guardian SDK appelle l’Auth0 Consent API pour récupérer les détails du consentement.
- Notification par courriel : lorsque l’utilisateur clique sur le lien de vérification, il est redirigé vers le navigateur, qui récupère les détails du consentement à partir de l’Auth0 Consent API.
Étape 6 : L’appareil d’authentification présente à l’utilisateur les détails du consentement
binding_message, scope, audience et authorization_details, s’ils sont configurés. Les scopes renvoyés à l’application mobile sont filtrés selon votre politique RBAC. Pour en savoir plus, consultez Contrôle d’accès basé sur les rôles.
L’exemple de code suivant montre une réponse type de l’Auth0 Consent API :
authorization_details :
- Notification push mobile : l’application Auth0 Guardian affiche
authorization_detailsdans un écran de consentement au moyen d’une notification push. - Notification par courriel : le navigateur affiche
authorization_detailsdans un écran de consentement personnalisé. Pour savoir comment personnaliser l’écran de consentement, consultez Définir l’invite de consentement personnalisée.
Étape 7 : L’appareil d’authentification renvoie la réponse de l’utilisateur à Auth0
- Notification poussée mobile : l’application Auth0 Guardian ou une application personnalisée intégrée au SDK Auth0 Guardian renvoie la réponse de l’utilisateur à Auth0.
- Notification par courriel : le navigateur renvoie la réponse de l’utilisateur à Auth0.
Étape 8 : Auth0 reçoit la réponse de l’utilisateur une fois le flux terminé
/token. Un flux CIBA exige toujours une réponse — approbation ou refus — de la part de l’utilisateur autorisant, sans vérifier les autorisations déjà accordées. Cela signifie qu’Auth0 traite chaque requête CIBA comme une nouvelle autorisation de la part de l’utilisateur autorisant.
Étape 9 : Auth0 renvoie le jeton d’accès à l’application cliente
authorization_details suivants :
Le
refresh_token n’est présent que si le scope offline_access a été inclus dans la requête initiale envoyée à /bc-authorize.authorization_details à partir des détails du consentement de manière fortement typée, comme vous le feriez en interrogeant dynamiquement du JSON :
- iOS
- Android
filterAuthorizationDetailsByType() pour renvoyer tous les objets authorization_details qui correspondent au type souhaité.
L’exemple de code suivant interroge authorization_details avec le type payment :
- iOS
- Android
filterAuthorizationDetailsByType() renvoie uniquement les objets correspondant au type authorization_details spécifié. Par conséquent, votre application mobile devrait présenter à l’utilisateur tous les authorization_details pertinents pour le consentement, quel que soit leur type, afin d’assurer une compréhension complète de la requête.
Vous pouvez aussi interroger les authorization_details lorsque l’agent IA ou l’application interroge périodiquement le point de terminaison /oauth/token pour obtenir une réponse :
Lorsque l’utilisateur qui autorise approuve la requête, Auth0 reçoit la réponse de l’utilisateur et le flux CIBA se termine en renvoyant un jeton d’accès et un tableau
authorization_details :
Limitations
- La modification de RAR dans Actions pour les flux CIBA.
- La publication de types RAR pour que les clients puissent les découvrir, ce qui signifie que vous devez enregistrer au préalable les clients avec les types
authorization_detailsqu’ils peuvent envoyer. - La validation des objets RAR au-delà de la vérification qu’ils comportent une propriété
typecorrespondant aux types autorisés pour l’API. Votre serveur de ressources est responsable de la validation granulaire du contenu deauthorization_details. Pour en savoir plus, consultez Configurer RAR.