Passer au contenu principal
Pour les appareils à capacité de saisie limitée qui se connectent à Internet, au lieu d’authentifier directement l’utilisateur, l’appareil lui demande d’ouvrir un lien sur son ordinateur ou son téléphone intelligent, puis d’autoriser l’appareil. Cela évite une mauvaise expérience utilisateur sur les appareils qui n’offrent pas de moyen simple de saisir du texte. Pour ce faire, les applications d’appareil utilisent le flux d’ d’appareil (ratifié dans OAuth 2.0), dans lequel elles transmettent leur pour lancer le processus d’autorisation et obtenir un jeton.

Fonctionnement

Le flux d’autorisation d’appareil comporte deux chemins distincts : l’un se déroule sur l’appareil qui demande l’autorisation, et l’autre dans un navigateur. Le chemin dans le navigateur, où un code d’appareil est associé à la session du navigateur, s’exécute en parallèle d’une partie du chemin sur l’appareil.
Flux d’autorisation d’appareil - diagramme de séquence d’autorisation

Flux d’appareil

  1. L’utilisateur lance l’application sur l’appareil.
  2. L’application de l’appareil demande une autorisation au serveur d’autorisation Auth0 à l’aide de son ID client (point de terminaison /oauth/device/code).
  3. Le serveur d’autorisation Auth0 répond avec un device_code, un user_code, un verification_uri, un verification_uri_complete, expires_in (durée de vie, en secondes, de device_code et de user_code) et l’interval de polling.
  4. L’application de l’appareil demande à l’utilisateur d’activer l’appareil à l’aide de son ordinateur ou de son téléphone intelligent. L’application peut le faire de l’une des façons suivantes :
    • demander à l’utilisateur d’ouvrir le verification_uri et de saisir le user_code après avoir affiché ces valeurs à l’écran
    • demander à l’utilisateur d’utiliser soit un code QR, soit une URL raccourcie avec code utilisateur intégré, générée à partir du verification_uri_complete
    • accéder directement à la page de vérification avec le code utilisateur intégré au moyen de verification_uri_complete, si l’application s’exécute nativement sur un appareil doté d’un navigateur
  5. L’application de l’appareil commence à interroger périodiquement votre serveur d’autorisation Auth0 pour obtenir un Jeton d’accès (point de terminaison /oauth/token) selon la période indiquée par interval, calculée à partir de la réception de la réponse à la dernière requête de polling. L’application de l’appareil continue cette interrogation périodique jusqu’à ce que l’utilisateur termine le flux dans le navigateur ou que le code utilisateur expire.
  6. Lorsque l’utilisateur termine avec succès le flux dans le navigateur, votre serveur d’autorisation Auth0 répond avec un Jeton d’accès (et éventuellement un Jeton d’actualisation). L’application de l’appareil doit alors oublier son device_code, car il expirera.
  7. Votre application d’appareil peut utiliser le Jeton d’accès pour appeler une API et accéder à des renseignements sur l’utilisateur.
  8. L’API répond avec les données demandées.

Flux dans le navigateur

  1. L’utilisateur accède au verification_uri sur son ordinateur, saisit le user_code et confirme que l’appareil en cours d’activation affiche bien le user_code. Si l’utilisateur accède au verification_uri_complete par un autre moyen (par exemple en balayant un code QR), seule la confirmation de l’appareil sera nécessaire.
  2. Votre serveur d’autorisation Auth0 redirige l’utilisateur vers l’invite de connexion et de consentement, au besoin.
  3. L’utilisateur s’authentifie à l’aide de l’une des options de connexion configurées et peut voir s’afficher une page de consentement lui demandant d’autoriser l’application sur l’appareil.
  4. Votre application sur l’appareil est autorisée à accéder à l’API.

Comment le mettre en œuvre

Le moyen le plus simple de mettre en œuvre le flux d’autorisation d’appareil consiste à suivre notre tutoriel : Appeler une API avec le flux d’autorisation d’appareil.

Forcer la réautorisation d’un appareil

Pour forcer l’utilisateur à réautoriser un appareil, vous devez révoquer le attribué à l’appareil. Pour savoir comment faire, consultez Dissocier des appareils des utilisateurs. Notez que l’appareil ne sera pas forcé de se réautoriser tant que le actuel n’aura pas expiré et que l’application tentera d’utiliser le jeton d’actualisation révoqué. Pour en savoir plus sur les jetons d’actualisation, consultez Jetons d’actualisation.

En savoir plus