Device Code Flow (OAuth 2.0 Device Authorization Grant)
Qu'est-ce que Device Code Flow (OAuth 2.0 Device Authorization Grant) ?
Device Code Flow (OAuth 2.0 Device Authorization Grant)Flux OAuth 2.0 (RFC 8628) où un appareil à saisie limitée (smart TV, CLI, objet IoT) affiche un code et une URL pour que l'utilisateur s'authentifie sur un second appareil : pratique pour les CLI mais vecteur de phishing documenté.
L'OAuth 2.0 Device Authorization Grant, défini dans le RFC 8628 et appelé couramment device code flow, permet à un client dépourvu de navigateur utilisable (smart TV, CLI, bornes, objets IoT) d'obtenir des jetons délégués en demandant à l'utilisateur de s'authentifier sur un autre appareil. Le client demande à l'IdP un device_code et un user_code court, puis affiche le user_code ainsi qu'une URL de vérification (p. ex. https://microsoft.com/devicelogin). L'utilisateur ouvre cette URL sur son téléphone ou son ordinateur, se connecte, saisit le user_code et consent ; pendant ce temps l'appareil interroge le endpoint de jetons (en respectant interval et en ralentissant sur slow_down) jusqu'à ce que l'IdP délivre les jetons. Ce flux sous-tend gh auth login, az login --use-device-code, la connexion Apple TV et l'appairage Roku/Google TV.
Cette conception est aussi un puissant vecteur de phishing, car l'utilisateur s'authentifie sur une page légitime de l'IdP — aucun domaine falsifié ne trahit l'attaque. L'attaquant démarre un flux de code d'appareil contre le tenant ciblé et relaie le user_code fraîchement généré à la victime via un leurre pressant ; dès que la victime le saisit, les jetons sont émis vers l'attaquant. Le rapport de Microsoft de février 2025 sur Storm-2372, un acteur aligné sur les intérêts russes et actif depuis août 2024, a documenté exactement cela : des leurres de réunions Teams ont conduit des cibles gouvernementales, de la défense et des ONG à saisir des codes générés par l'attaquant, qui a ensuite utilisé les jetons pour exfiltrer des courriels via Microsoft Graph. Les défenses incluent des stratégies d'accès conditionnel qui restreignent ou désactivent le flux sauf pour des applications et des groupes précis, des durées de vie courtes des jetons, et la sensibilisation : un code d'appareil ne doit être saisi que pour une connexion que l'utilisateur a lui-même initiée.
sequenceDiagram
participant D as Appareil (CLI/TV)
participant I as Fournisseur d'identité
participant U as Utilisateur (téléphone/PC)
D->>I: Demande device_code + user_code
I-->>D: device_code, user_code, verification_uri
D-->>U: Affiche « Ouvrez l'URL et saisissez le CODE »
loop Sondage (respecte interval / slow_down)
D->>I: Interroge le endpoint de jetons avec device_code
I-->>D: authorization_pending
end
U->>I: Ouvre verification_uri, se connecte, saisit user_code et consent
I-->>D: Jetons d'accès et de rafraîchissement
Note over U,I: Risque de phishing : l'attaquant relaie son propre user_code<br/>et les jetons lui sont délivrés● Exemples
- 01
`gh auth login` affiche un code court et une URL ; l'utilisateur se connecte sur son ordinateur, saisit le code, et la CLI reçoit les jetons.
- 02
Une stratégie d'accès conditionnel Entra ID désactive le flux de code d'appareil sur tout le tenant sauf pour un groupe restreint d'utilisateurs de CLI.
● Questions fréquentes
Qu'est-ce que Device Code Flow (OAuth 2.0 Device Authorization Grant) ?
Flux OAuth 2.0 (RFC 8628) où un appareil à saisie limitée (smart TV, CLI, objet IoT) affiche un code et une URL pour que l'utilisateur s'authentifie sur un second appareil : pratique pour les CLI mais vecteur de phishing documenté. Cette notion relève de la catégorie Identité et accès en cybersécurité.
Que signifie Device Code Flow (OAuth 2.0 Device Authorization Grant) ?
Flux OAuth 2.0 (RFC 8628) où un appareil à saisie limitée (smart TV, CLI, objet IoT) affiche un code et une URL pour que l'utilisateur s'authentifie sur un second appareil : pratique pour les CLI mais vecteur de phishing documenté.
Comment se défendre contre Device Code Flow (OAuth 2.0 Device Authorization Grant) ?
Les défenses contre Device Code Flow (OAuth 2.0 Device Authorization Grant) combinent habituellement des contrôles techniques et des pratiques opérationnelles, comme détaillé dans la définition ci-dessus.
Quels sont les autres noms de Device Code Flow (OAuth 2.0 Device Authorization Grant) ?
Noms alternatifs courants : RFC 8628, OAuth 2.0 Device Authorization Grant.