Aller au contenu principal

3.3. User Interaction (Interaction utilisateur)

Après avoir reçu une réponse d'autorisation réussie, le client affiche ou communique autrement le "user_code" et le "verification_uri" à l'utilisateur final et lui demande de visiter l'URI dans un agent utilisateur sur un appareil secondaire (par exemple, dans un navigateur sur son téléphone mobile) et d'entrer le code utilisateur.

+-----------------------------------------------+
| |
| En utilisant un navigateur sur un autre |
| appareil, visitez: |
| https://example.com/device |
| |
| Et entrez le code: |
| WDJB-MJHT |
| |
+-----------------------------------------------+

Figure 2: Exemple d'instruction utilisateur

L'utilisateur autorisé navigue vers le "verification_uri" et s'authentifie auprès du serveur d'autorisation dans une session sécurisée protégée par TLS [RFC8446]. Le serveur d'autorisation invite l'utilisateur final à identifier la session d'autorisation de l'appareil en entrant le "user_code" fourni par le client. Le serveur d'autorisation doit ensuite informer l'utilisateur de l'action qu'il entreprend et lui demander d'approuver ou de refuser la demande. Une fois l'interaction utilisateur terminée, le serveur demande à l'utilisateur de retourner à son appareil.

Pendant l'interaction utilisateur, l'appareil interroge continuellement le point de terminaison de jeton avec le "device_code", comme détaillé dans la Section 3.4, jusqu'à ce que l'utilisateur termine l'interaction, que le code expire ou qu'une autre erreur se produise. Le "device_code" n'est pas destiné directement à l'utilisateur final; par conséquent, il ne doit pas être affiché pendant l'interaction pour éviter de confondre l'utilisateur final.

Les serveurs d'autorisation prenant en charge cette spécification DOIVENT implémenter une séquence d'interaction utilisateur qui commence par l'utilisateur naviguant vers "verification_uri" et se poursuit avec lui fournissant le "user_code" à un certain stade de l'interaction. En dehors de cela, la séquence exacte et la mise en œuvre de l'interaction utilisateur dépendent du serveur d'autorisation; par exemple, le serveur d'autorisation peut permettre aux nouveaux utilisateurs de s'inscrire à un compte pendant le flux d'autorisation ou d'ajouter des étapes de vérification de sécurité supplémentaires.

Il n'est PAS RECOMMANDÉ pour les serveurs d'autorisation d'inclure le code utilisateur ("user_code") dans l'URI de vérification ("verification_uri"), car cela augmente la longueur et la complexité de l'URI que l'utilisateur doit saisir. Bien que l'utilisateur doive toujours saisir un nombre similaire de caractères avec le "user_code" séparé, une fois qu'il a réussi à naviguer vers le "verification_uri", toute erreur dans la saisie du code peut être mise en évidence par le serveur d'autorisation pour améliorer l'expérience utilisateur. La section suivante documente l'interaction utilisateur avec "verification_uri_complete", qui est conçu pour transporter les deux informations.