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

- 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’application mobile reçoit la notification push
- Étape 5 : L’application mobile récupère les détails du consentement
- Étape 6 : L’application mobile présente les détails du consentement à l’utilisateur
- Étape 7 : L’application mobile 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 retourne le jeton d’accès à l’application cliente
Prérequis
Pour lancer une requête CIBA de type push avec Auth0, vous devez :- Configure Client-Initiated Backchannel Authentication pour votre tenant et votre application, y compris les notifications push mobiles.
- Définir le paramètre
requested_expirysur une valeur de 300 secondes ou moins. Pour en savoir plus, consultez Configurer le canal de notification.
Étape 1 : l’application cliente lance une requête CIBA
Utilisez les API User Search pour trouver l’utilisateur qui autorise la demande pour lequel vous souhaitez lancer une requête CIBA et obtenir son ID utilisateur. Une fois que vous avez l’ID utilisateur de l’utilisateur qui autorise la demande, utilisez l’Authentication API ou nos SDKs pour envoyer une requête CIBA au point de terminaison/bc-authorize :
- cURL
- C#
- Go
- Java
Il existe une rate limit propre à l’utilisateur : l’authorizing user 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 à cette requête :
auth_req_id est transmise au point de terminaison /token pour vérifier périodiquement si le flux CIBA est terminé.
Étape 3 : L’application cliente interroge périodiquement pour obtenir une réponse
Utilisez l’Authentication API ou nos SDKs pour appeler le point de terminaison/token à l’aide du type de grant 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 : L’application mobile reçoit la notification push
Auth0 envoie une notification push à l’application mobile enregistrée de l’utilisateur ou à son appareil par l’entremise de l’application Auth0 Guardian ou d’une application personnalisée intégrée au Auth0 Guardian SDK. Si vous utilisez une application personnalisée, le Auth0 Guardian SDK fournit des méthodes pour analyser les données reçues dans la notification push et renvoyer une instanceNotification prête à l’emploi. L’instance Notification comprend un ID de liaison de transaction, ou txlinkid, que l’application mobile utilise pour récupérer les détails du consentement depuis Auth0.
Les exemples de code suivants montrent des mises en œuvre de notifications push mobiles pour iOS et Android à l’aide du SDK Guardian :
- iOS
- Android
Étape 5 : L’application mobile récupère les détails de consentement
Votre application Auth0 Guardian ou votre application personnalisée intégrée à l’Auth0 Guardian SDK récupère les détails de consentement, c.-à-d. le contenu debinding_message, auprès de l’Auth0 Consent API.
Si vous utilisez une application personnalisée, les exemples de code suivants montrent des mises en œuvre iOS et Android qui récupèrent des données auprès de l’Auth0 Consent API :
- iOS
- Android
Étape 6 : L’application mobile présente les détails du consentement à l’utilisateur
L’Auth0 Consent API répond à l’application Auth0 Guardian ou à votre application personnalisée intégrée à l’Auth0 Guardian SDK avec les détails du consentement, y comprisbinding_message, scope et audience. 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’application mobile présente à l’utilisateur la demande d’authentification et/ou les détails du consentement.
L’exemple de code suivant montre une réponse de l’Auth0 Consent API :
Étape 7 : L’application mobile renvoie la réponse de l’utilisateur à Auth0
L’application Auth0 Guardian ou votre application personnalisée renvoie la réponse de l’utilisateur à Auth0. Si vous utilisez une application personnalisée intégrée au Auth0 Guardian SDK, les exemples de code suivants présentent des mises en œuvre pour iOS et Android qui traitent la réponse de l’utilisateur :L’utilisateur accepte la requête d’authentification
- iOS
- Android
L’utilisateur refuse la requête d’authentification
- iOS
- Android
Étape 8 : Auth0 reçoit la réponse de l’utilisateur une fois le flux terminé
L’application cliente met fin à l’interrogation périodique lorsqu’elle reçoit une réponse du point de terminaison/token. Un flux CIBA exige toujours une réponse de l’utilisateur autorisant, qu’il s’agisse d’une approbation ou d’un refus, et les autorisations déjà accordées ne sont pas vérifiées.
Étape 9 : Auth0 renvoie le jeton d’accès à l’application cliente
Si l’utilisateur refuse la demande push, 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 /bc-authorize.