Pour utiliser les fonctionnalités de Client-Initiated Backchannel Authentication (CIBA), vous devez disposer d’un Enterprise Plan ou d’un module complémentaire approprié. Consultez Auth0 Pricing pour plus de détails.

- Prérequis
- Étape 1 : L’application cliente amorce 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 : Auth0 envoie un lien à l’adresse courriel de l’utilisateur
- Étape 5 : L’utilisateur s’authentifie dans le navigateur
- Étape 6 : Le navigateur présente les détails du consentement à l’utilisateur
- Étape 7 : Auth0 reçoit la réponse de l’utilisateur une fois le flux terminé
- Étape 8 : Auth0 renvoie le jeton d’accès à l’application cliente
Prérequis
Pour lancer une requête CIBA par courriel avec Auth0, vous devez :- Configure Client-Initiated Backchannel Authentication pour votre tenant et votre application, y compris les notifications par courriel.
- Définir le paramètre
requested_expirysur une valeur comprise entre 301 et 259200 secondes (72 heures). Pour en savoir plus, consultez Configurer le canal de notification. - Si vous utilisez les notifications par courriel avec CIBA et Rich Authorization Requests (RAR) pour l’autorisation de l’utilisateur, configurez l’invite de consentement personnalisée.
Étape 1 : L’application cliente lance une demande CIBA
Utilisez les API User Search pour trouver l’utilisateur qui autorise la demande, pour lequel vous souhaitez lancer une demande CIBA, et obtenir son ID utilisateur. Une fois que vous avez l’ID utilisateur de l’utilisateur qui autorise la demande, utilisez l’API d’authentification ou nos SDKs pour envoyer une demande CIBA au point de terminaison/bc-authorize :
- cURL
- C#
- Go
- Java
Il existe une limite de débit propre à l’utilisateur selon laquelle l’utilisateur autorisant ne recevra pas plus de 5 requêtes par minute.
Étape 2 : le tenant Auth0 confirme la réception de la requête CIBA
Si le tenant Auth0 reçoit bien la requêtePOST, vous devriez recevoir une réponse contenant un auth-req-id qui renvoie à la requête :
auth_req_id est transmise au endpoint /token pour vérifier périodiquement si le CIBA flow est terminé.
Étape 3 : L’application cliente interroge périodiquement pour obtenir une réponse
Utilisez l’Authentication API ou nos SDKs pour envoyer une requête au point de terminaison/token à l’aide du type d’octroi urn:openid:params:grant-type:ciba et de l’auth_req_id que vous avez reçu du point de terminaison /bc-authorize :
- cURL
- C#
- Go
- Java
/token.
Étape 4 : Auth0 envoie un lien à l’adresse courriel de l’utilisateur
Auth0 Authorization Server utilise lelogin_hint, qui contient l’ID utilisateur de l’utilisateur autorisant, pour lancer l’authentification de l’utilisateur sur l’appareil d’authentification :
- Auth0 Authorization Server envoie un courriel à l’adresse courriel vérifiée de l’utilisateur.
- Le courriel contient un lien de vérification sur lequel l’utilisateur doit cliquer pour s’authentifier. Le
binding_messages’affiche comme code de requête. - Le lien redirige l’utilisateur vers le navigateur au moyen d’une requête à l’endpoint
/bc-verify, où le paramètre de requêteconsentrenvoie à la requête CIBA en attente de consentement.

Étape 5 : L’utilisateur s’authentifie dans le navigateur
Si aucune session active n’est trouvée, le lien de vérification demandera à l’utilisateur de s’authentifier. L’utilisateur clique sur le lien pour poursuivre le processus d’authentification. Pour s’authentifier, l’utilisateur saisit son adresse courriel vérifiée et son mot de passe. L’utilisateur doit utiliser les informations d’authentification fournies au paramètrelogin_hint envoyé au point de terminaison /bc-authorize lorsque l’application cliente initie une demande CIBA. Sinon, un message d’erreur s’affiche et l’utilisateur doit se déconnecter et réessayer.

post-login s’exécute dans le flux CIBA avec courriel, ce qui permet aux clients d’ajouter une logique personnalisée pour appliquer des politiques de contrôle d’accès ou demander des facteurs MFA supplémentaires. Lorsqu’il est exécuté à partir d’un lien de vérification CIBA, la valeur event.transaction.protocol est oidc-ciba-web-link, ce qui vous permet d’appliquer des règles personnalisées à ce type précis de connexion. Pour en savoir plus, consultez Déclencheur de connexion.
Une fois l’authentification réussie, le navigateur présente à l’utilisateur les détails de consentement provenant de l’Auth0 Consent API, y compris binding_message, scope et audience. Les scopes sont filtrés selon votre politique RBAC. Pour en savoir plus, consultez Role-Based Access Control.
L’exemple de code suivant montre une réponse de l’Auth0 Consent API :
Étape 6 : Le navigateur renvoie la réponse de l’utilisateur à Auth0
Le navigateur renvoie la réponse de l’utilisateur à Auth0. Selon que l’utilisateur accepte ou rejette la requête d’authentification, Auth0 affiche les écrans de consentement suivants, que vous devez personnaliser en définissant les invites de consentement :L’utilisateur accepte la requête d’authentification

L’utilisateur refuse la requête d’authentification

Étape 7 : Auth0 reçoit la réponse de l’utilisateur une fois le flux terminé
L’application cliente met fin à l’interrogation dès qu’elle reçoit une réponse de l’endpoint/token. Un flux CIBA exige toujours une réponse — approbation ou refus — de la part de l’utilisateur qui autorise la demande, et les autorisations existantes ne sont pas vérifiées.
Étape 8 : Auth0 renvoie le jeton d’accès à l’application cliente
Si l’utilisateur refuse la demande envoyée par courriel, Auth0 renvoie à l’application cliente une réponse d’erreur semblable à celle-ci :Le
refresh_token n’est présent que si la portée offline_access a été incluse dans la requête initiale envoyée à /bc-authorize.