Device Code Flow (OAuth 2.0 Device Authorization Grant)
Was ist Device Code Flow (OAuth 2.0 Device Authorization Grant)?
Device Code Flow (OAuth 2.0 Device Authorization Grant)Ein OAuth-2.0-Grant (RFC 8628), bei dem ein eingabebeschränktes Gerät (Smart-TV, CLI, IoT-Gerät) einen Code und eine Verifizierungs-URL anzeigt, damit sich der Nutzer auf einem zweiten Gerät anmeldet – bequem für CLIs, aber ein dokumentierter Phishing-Vektor.
Der OAuth 2.0 Device Authorization Grant, spezifiziert in RFC 8628 und umgangssprachlich Device Code Flow genannt, erlaubt einem Client ohne nutzbaren Browser (Smart-TVs, CLIs, Kioske, IoT-Geräte), delegierte Tokens zu erhalten, indem sich der Nutzer auf einem separaten Gerät anmeldet. Der Client fordert beim IdP einen device_code und einen kurzen user_code an und zeigt den user_code samt Verifizierungs-URL an (z. B. https://microsoft.com/devicelogin). Der Nutzer öffnet diese URL auf Smartphone oder Laptop, meldet sich an, tippt den user_code ein und stimmt zu; derweil fragt das Gerät den Token-Endpunkt ab (unter Beachtung von interval und Drosselung bei slow_down), bis der IdP die Tokens ausstellt. Der Flow bildet die Grundlage für gh auth login, az login --use-device-code, die Apple-TV-Anmeldung und das Pairing von Roku/Google TV.
Dasselbe Design ist ein wirksamer Phishing-Vektor, weil sich der Nutzer auf einer legitimen IdP-Seite anmeldet – es gibt keine gefälschte Domain, die den Betrug verrät. Ein Angreifer startet einen Device-Code-Flow gegen den Ziel-Tenant und leitet den frisch erzeugten user_code in einem zeitkritischen Köder an das Opfer weiter; sobald das Opfer ihn eingibt, gehen die Tokens an den Angreifer. Microsofts Bericht vom Februar 2025 über Storm-2372, einen seit August 2024 aktiven, Russland-nahen Akteur, dokumentierte genau dies: Teams-Meeting-Köder brachten Ziele aus Regierung, Verteidigung und NGOs dazu, vom Angreifer erzeugte Codes einzugeben, woraufhin dieser die Tokens nutzte, um per Microsoft Graph E-Mails abzugreifen. Zu den Gegenmaßnahmen zählen Conditional-Access-Richtlinien, die den Flow auf bestimmte Apps und Gruppen beschränken oder deaktivieren, kurze Token-Lebensdauern und Nutzeraufklärung: Ein Device-Code sollte nur für eine selbst gestartete Anmeldung eingegeben werden.
sequenceDiagram
participant D as Gerät (CLI/TV)
participant I as Identitätsanbieter
participant U as Nutzer (Smartphone/Laptop)
D->>I: Fordert device_code + user_code an
I-->>D: device_code, user_code, verification_uri
D-->>U: Zeigt "URL öffnen und CODE eingeben"
loop Abfrage (interval / slow_down beachten)
D->>I: Fragt Token-Endpunkt mit device_code ab
I-->>D: authorization_pending
end
U->>I: Öffnet verification_uri, meldet sich an, gibt user_code ein, stimmt zu
I-->>D: Access- und Refresh-Tokens
Note over U,I: Phishing-Risiko: Angreifer leitet eigenen user_code weiter<br/>und die Tokens werden an ihn ausgestellt● Beispiele
- 01
`gh auth login` zeigt einen kurzen Code und eine URL an; der Nutzer meldet sich am Laptop an, gibt den Code ein, und die CLI erhält die Tokens.
- 02
Eine Conditional-Access-Richtlinie in Entra ID deaktiviert den Device-Code-Flow tenantweit außer für eine eng gefasste CLI-Nutzergruppe.
● Häufige Fragen
Was ist Device Code Flow (OAuth 2.0 Device Authorization Grant)?
Ein OAuth-2.0-Grant (RFC 8628), bei dem ein eingabebeschränktes Gerät (Smart-TV, CLI, IoT-Gerät) einen Code und eine Verifizierungs-URL anzeigt, damit sich der Nutzer auf einem zweiten Gerät anmeldet – bequem für CLIs, aber ein dokumentierter Phishing-Vektor. Es gehört zur Kategorie Identität und Zugriff der Cybersicherheit.
Was bedeutet Device Code Flow (OAuth 2.0 Device Authorization Grant)?
Ein OAuth-2.0-Grant (RFC 8628), bei dem ein eingabebeschränktes Gerät (Smart-TV, CLI, IoT-Gerät) einen Code und eine Verifizierungs-URL anzeigt, damit sich der Nutzer auf einem zweiten Gerät anmeldet – bequem für CLIs, aber ein dokumentierter Phishing-Vektor.
Wie schützt man sich gegen Device Code Flow (OAuth 2.0 Device Authorization Grant)?
Schutzmaßnahmen gegen Device Code Flow (OAuth 2.0 Device Authorization Grant) kombinieren typischerweise technische Kontrollen und operative Praktiken, wie in der Definition oben beschrieben.
Welche anderen Bezeichnungen gibt es für Device Code Flow (OAuth 2.0 Device Authorization Grant)?
Übliche alternative Bezeichnungen: RFC 8628, OAuth 2.0 Device Authorization Grant.