Skip to main content
Avec les appareils à saisie limitée qui se connectent à Internet, au lieu d’authentifier directement l’utilisateur, l’appareil lui demande d’accéder à un lien sur son ordinateur ou son téléphone intelligent pour autoriser l’appareil. Cela évite une piètre expérience utilisateur sur les appareils qui n’offrent pas de moyen simple de saisir du texte. Pour ce faire, les applications de l’appareil utilisent le flux d’ de l’appareil (normalisé dans OAuth 2.0), dans lequel elles transmettent leur pour lancer le processus d’autorisation et obtenir un token.

Comment ça fonctionne

Le flux d’autorisation de l’appareil comprend deux parcours distincts : l’un se déroule sur l’appareil qui demande l’autorisation, et l’autre dans un navigateur. Le parcours du flux dans le navigateur, dans lequel un device code est associé à la session dans le navigateur, se déroule en parallèle d’une partie du parcours du flux de l’appareil.
Flows - Device Authorization - diagramme de séquence d’autorisation

Flux de l’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 renvoie un device_code, un user_code, un verification_uri, un verification_uri_complete, un expires_in (durée de vie en secondes du device_code et du user_code) ainsi qu’un interval d’interrogation.
  4. L’application de l’appareil demande à l’utilisateur d’activer l’application à l’aide de son ordinateur ou de son téléphone intelligent. Elle 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 elle s’exécute nativement sur un appareil basé sur un navigateur
  5. L’application de l’appareil commence à interroger votre serveur d’autorisation Auth0 pour obtenir un jeton d’accès (point de terminaison /oauth/token) selon l’intervalle indiqué par interval, calculé à partir de la réception de la réponse à la dernière requête d’interrogation. L’application de l’appareil continue l’interrogation jusqu’à ce que l’utilisateur termine le parcours du flux dans le navigateur ou que le code utilisateur expire.
  6. Lorsque l’utilisateur termine avec succès le parcours du flux dans le navigateur, votre serveur d’autorisation Auth0 renvoie un jeton d’accès (et, au besoin, un jeton d’actualisation). L’application de l’appareil doit alors supprimer son device_code, puisqu’il expirera.
  7. Votre application de l’appareil peut utiliser le jeton d’accès pour faire une requête à une API afin d’accéder aux renseignements sur l’utilisateur.
  8. L’API renvoie les données demandées.

Flux dans le navigateur

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

Comment l’implémenter

La façon la plus simple d’implémenter le flux d’autorisation de l’appareil est de suivre notre tutoriel : Call API à l’aide du flux d’autorisation de l’appareil.

Forcer la réautorisation de l’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 n’essaiera pas d’utiliser le jeton d’actualisation révoqué. Pour en savoir plus sur les jetons d’actualisation, consultez Jetons d’actualisation.

En savoir plus