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
- 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
/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
POST, 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
/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
Notification 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
binding_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
binding_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’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é
/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
Le
refresh_token n’est présent que si la portée offline_access a été incluse dans la requête initiale /bc-authorize.