Cas d’utilisation
Les agents d’IA doivent souvent effectuer des actions de longue durée, exécutées ultérieurement ou comportant des opérations sensibles. Par exemple :- Approbations de transactions : un agent qui organise un voyage d’affaires peut trouver un vol et un hôtel, mais il a besoin de l’approbation finale de l’utilisateur pour conclure l’achat.
- Accès à des données sensibles : un agent peut avoir besoin d’accéder aux dossiers de santé protégés d’un utilisateur pour répondre à une question.
- Exécution de tâches à privilèges élevés : un agent DevOps peut avoir besoin d’une autorisation pour déployer une nouvelle version d’une application dans un environnement de production.
Fonctionnement
Auth0 met en œuvre l’autorisation asynchrone à l’aide de Client-Initiated Backchannel Authentication (CIBA) combiné aux Rich Authorization Requests (RAR).- CIBA est une spécification de l’OpenID Foundation qui définit un flux découplé dans lequel une application client (par exemple, le côté serveur de l’agent d’IA) peut lancer une requête d’authentification sans que l’utilisateur ait à interagir directement sur le même appareil. L’utilisateur approuve ou refuse ensuite la requête sur un appareil d’authentification distinct et de confiance (comme un téléphone mobile), généralement au moyen d’une notification poussée envoyée à une application d’authentification, ou encore par SMS ou par courriel.
- RAR est une extension d’OAuth 2.0 qui permet aux applications client de demander, dans une requête d’autorisation, des autorisations plus complexes que celles qu’offrent les permissions OAuth 2.0 standard. Elle permet à l’agent d’envoyer une charge utile détaillée et structurée décrivant précisément la transaction. L’utilisateur dispose ainsi d’un contexte précis et vérifiable, comme « Approuver le paiement de 50,00 $ à ExampleCorp », plutôt que d’une invite générique, ce qui est essentiel pour gagner sa confiance et assurer la sécurité. L’utilisation de RAR est facultative dans un CIBA Flow.
1
Lancement
Le côté serveur de l’agent détermine qu’une approbation de l’utilisateur est nécessaire et envoie une requête
CIBA au terminal Auth0
/bc-authorize. Cette requête comprend un identifiant
de l’utilisateur et, facultativement, la charge utile RAR dans le paramètre
(authorization_details).2
Accusé de réception
Auth0 accuse immédiatement réception de la requête en renvoyant un
auth_req_id unique.3
Interrogation par sondage
Le côté serveur de l’agent utilise
auth_req_id pour commencer à interroger par sondage le terminal Auth0 /token
afin de vérifier si le processus est terminé.4
Consentement de l’utilisateur
Parallèlement, Auth0 envoie une notification (p. ex., notification poussée, SMS ou courriel) à
l’appareil d’authentification de l’utilisateur, qui affiche le contexte détaillé provenant de la charge utile
RAR. L’utilisateur approuve ou refuse la requête.
5
Émission des jetons
Dès que l’utilisateur a donné son approbation, la requête d’interrogation suivante envoyée par le côté serveur de l’agent au
terminal
/token aboutit. Auth0 renvoie alors les jetons d’accès et d’ID
requis, ce qui permet à l’agent d’effectuer l’action autorisée.Consentement de l’utilisateur et sélection du canal de notification
Lorsqu’Auth0 reçoit une requête de canal de retour (backchannel), il doit déterminer quel canal de notification utiliser pour demander l’approbation de l’utilisateur. Voici les options actuellement offertes (par ordre de préférence) :- Notification poussée mobile Auth0 Guardian : envoie une notification poussée mobile à l’appareil mobile inscrit de l’utilisateur. L’authentification et l’autorisation se font sur l’appareil qui a reçu la notification.
- Courriel : envoie un courriel à l’adresse vérifiée de l’utilisateur. Le courriel contient un lien; lorsque l’utilisateur le sélectionne, l’authentification et l’autorisation se font dans le navigateur.
Les notifications par courriel pour l’autorisation asynchrone sont un module complémentaire payant, désormais offert pour tous les plans Essentiel, Professionnel et Entreprise. Pour en savoir plus, consultez notre page de tarification.