Flux d’autorisation d’appareil
Au lieu d’authentifier directement les utilisateurs, les appareils à saisie limitée qui se connectent à l’internet demandent aux utilisateurs d’aller cliquer sur un lien sur leur ordinateur ou leur téléphone intelligent et d’y autoriser l’appareil. Cela permet d’améliorer l’expérience utilisateur pour les appareils qui ne disposent pas d’un moyen facile de saisir du texte. Pour ce faire, les applications des appareils utilisent le flux d’autorisation d’appareil (ratifié dans OAuth 2.0), dans lequel ils transmettent leur ID client pour lancer le processus d’autorisation et obtenir un jeton.
Fonctionnement
Le flux d’autorisation d’appareil contient deux chemins différents; l’un concernant l’appareil demandant l’autorisation et l’autre concernant un navigateur. Le flux de navigateur, dans lequel un code d’appareil est lié à la session dans le navigateur, se produit parallèlement à une partie du flux d’appareil.

Flux d’appareil
L’utilisateur démarre l’application sur son appareil.
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
)Le serveur d’autorisations Auth0 répond par un
device_code
, unuser_code
, unverification_uri
, unverification_uri_complete
expires_in
(durée de vie en secondes pourdevice_code
etuser_code
) et l’interval
d’interrogation.L’application de l’appareil demande à l’utilisateur de l’activer à l’aide de son ordinateur ou de son téléphone intelligent. Pour ce faire, l’application peut :
Demander à l’utilisateur de visiter le
verification_uri
et de saisir leuser_code
après avoir affiché ces valeurs à l’écran.Demander à l’utilisateur d’interagir avec un code QR ou une URL abrégée avec un code utilisateur intégré généré à partir de
verification_uri_complete
.Naviguer directement vers la page de vérification avec le code utilisateur intégré en utilisant
verification_uri_complete
, si elle est exécutée nativement sur un appareil basé sur un navigateur.
L’application commence à interroger le serveur d’autorisations Auth0 pour obtenir un jeton d’accès (point de terminaison /oauth/token) en utilisant la période spécifiée par l’
intervalle
et en comptant à partir de la réception de la réponse à la dernière demande d’interrogation. L’application de l’appareil poursuit son interrogation jusqu’à ce que l’utilisateur ait terminé le parcours du navigateur ou que le code d’utilisateur ait expiré.Lorsque l’utilisateur termine avec succès le parcours du navigateur, votre serveur d’autorisations Auth0 répond avec un jeton d’accès (et éventuellement un jeton d’actualisation). L’application de l’appareil doit maintenant oublier son
device_code
car il va expirer.Votre application d’appareil peut utiliser le jeton d’accès pour appeler une API afin d’accéder aux informations concernant l’utilisateur.
L’API répond avec les données demandées.
Flux de navigateur
L’utilisateur visite le
verification_uri
sur son ordinateur, saisit leuser_code
et confirme que l’appareil activé affiche leuser_code
. Si l’utilisateur visite leverification_uri_complete
par un autre mécanisme (par exemple en scannant un code QR), seule la confirmation de l’appareil sera nécessaire.Votre serveur d’autorisations Auth0 redirige l’utilisateur vers l’invite de connexion et de consentement, si nécessaire.
L’utilisateur s’authentifie en utilisant l’une des options de connexion configurées et peut voir une page de consentement demandant d’autoriser l’application de l’appareil.
Votre application d’appareil est autorisée à accéder à l’API.
Comment la mettre en œuvre?
La façon la plus simple d’implémenter le flux d’autorisation d’appareil est de suivre notre tutoriel : Appel d’API en utilisant le flux d’autorisation d’appareil.
Comment forcer la réautorisation
Pour forcer l’utilisateur à réautoriser un appareil, vous devez révoquer le jeton d’actualisation attribué à l’appareil. Pour en savoir plus, consultez Dissocier les appareils des utilisateurs. Notez que l’appareil ne sera pas obligé de se réautoriser tant que le jeton d’accès actuel n’aura pas expiré et que l’application n’aura pas essayé d’utiliser le jeton d’actualisation révoqué. Pour en savoir plus sur les jetons d’actualisation, lisez Jetons d’actualisation.