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
- 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
/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
POST, 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
/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
login_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
login_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
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é
/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
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.