> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Autorisation asynchrone

> Permettez aux agents d’IA de demander le consentement de l’utilisateur pour des actions sensibles par notification poussée, SMS ou courriel à l’aide de CIBA, sans interrompre la session en cours de l’utilisateur.

Dans Auth0, l’autorisation asynchrone offre aux agents d’IA un mécanisme sécurisé d’intervention humaine. Les agents d’IA travaillent de manière autonome en arrière-plan et ne sollicitent le consentement de l’utilisateur pour des actions sensibles ou critiques qu’en cas de besoin.

Ce processus repose sur [Client-Initiated Backchannel Authentication (CIBA)](/docs/fr-ca/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow/user-authorization-with-ciba), un flux d’authentification découplé dans lequel l’utilisateur donne son consentement sur un appareil de confiance, comme son téléphone mobile, distinct de l’appareil sur lequel l’agent a été sollicité au départ.

[Autorisation asynchrone avec AI Identity pour le B2B](https://play.vidyard.com/tHw62YdhKaUCRrmLheT1dE.html)

## 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.

L’autorisation asynchrone permet à l’agent de lancer cette requête et à l’utilisateur de l’approuver au moment qui lui convient, ce qui offre une expérience utilisateur plus fluide et plus sécuritaire.
Ce mécanisme découplé convient également parfaitement aux interactions avec intervention humaine, comme l’approbation d’un achat d’actions au moyen d’un robot conversationnel ou la réalisation d’une transaction financière avec un agent bancaire.

## Fonctionnement

Auth0 met en œuvre l’autorisation asynchrone à l’aide de Client-Initiated Backchannel Authentication (CIBA) combiné aux Rich Authorization Requests (RAR).

* [CIBA](https://openid.net/specs/openid-client-initiated-backchannel-authentication-core-1_0.html) 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](https://datatracker.ietf.org/doc/html/draft-ietf-oauth-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.

Le CIBA Flow comporte les étapes suivantes :

**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) :

1. 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.
2. 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.

Par défaut, Auth0 utilise et recommande les notifications poussées Guardian pour les CIBA Flow. Les notifications poussées Guardian sont plus sécuritaires que d’autres canaux, comme le courriel, qui peut être vulnérable aux attaques par hameçonnage. Pour les CIBA Flow, vous devez activer explicitement les notifications par courriel.

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](https://auth0.com/pricing).

Pour en savoir plus sur les notifications CIBA, consultez [Configurer Client-Initiated Backchannel Authentication](/docs/fr-ca/get-started/applications/configure-client-initiated-backchannel-authentication).

## Premiers pas

Pour commencer à utiliser l’autorisation asynchrone dans vos agents d’IA, consultez les ressources suivantes :

### Guides de démarrage rapide

> **[Autorisation asynchrone](/ai/docs/fr-ca/get-started/asynchronous-authorization)**

### Guides

> **[Configurer Rich Authorization Requests (RAR)](/docs/fr-ca/get-started/apis/configure-rich-authorization-requests)**

### Exemples d'applications

> **[Assistant0 : Next.js + Vercel AI SDK](https://github.com/auth0-samples/auth0-assistant0/tree/main/ts-vercel-ai)**

> **[Assistant0 : Next.js + LangGraph](https://github.com/auth0-samples/auth0-assistant0/tree/main/ts-langchain)**

> **[Assistant0 : FastAPI + LangGraph](https://github.com/auth0-samples/auth0-assistant0/tree/main/py-langchain)**

> **[Assistant0 : Next.js + LlamaIndex](https://github.com/auth0-samples/auth0-assistant0/tree/main/ts-llamaindex)**

> **[Assistant0 : FastAPI + LlamaIndex](https://github.com/auth0-samples/auth0-assistant0/tree/main/py-llamaindex)**

> **[Exemples TypeScript du SDK Auth0 AI](https://github.com/auth0/auth0-ai-js/tree/main/examples/async-authorization)**

> **[Exemples Python du SDK Auth0 AI](https://github.com/auth0/auth0-ai-python/tree/main/examples/async-authorization)**

### En savoir plus

> **[Flux Client-Initiated Backchannel Authentication](/docs/fr-ca/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow)**

> **[Autorisation des utilisateurs avec CIBA](/docs/fr-ca/get-started/authentication-and-authorization-flow/client-initiated-backchannel-authentication-flow/user-authorization-with-ciba)**
