Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 343

Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)

Revisado porCybersecurity entrepreneur & security researcher

¿Qué es Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)?

Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)Concesión de OAuth 2.0 (RFC 8628) en la que un dispositivo con entrada limitada (smart TV, CLI, dispositivo IoT) muestra un código y una URL para que el usuario se autentique en un segundo dispositivo: cómodo para CLIs pero un vector de phishing documentado.


La Device Authorization Grant de OAuth 2.0, definida en el RFC 8628 y conocida como device code flow, permite que un cliente sin navegador utilizable (smart TVs, CLIs, kioscos, dispositivos IoT) obtenga tokens delegados pidiendo al usuario que se autentique en otro dispositivo. El cliente solicita al IdP un device_code y un user_code corto, y muestra el user_code junto con una URL de verificación (p. ej. https://microsoft.com/devicelogin). El usuario abre esa URL en su teléfono o portátil, inicia sesión, teclea el user_code y da su consentimiento; mientras tanto el dispositivo sondea el endpoint de tokens (respetando interval y ralentizándose con slow_down) hasta que el IdP emite los tokens. Es la base de gh auth login, az login --use-device-code, el inicio de sesión de Apple TV y el emparejamiento de Roku/Google TV.

El mismo diseño es un potente vector de phishing, porque el usuario se autentica en una página legítima del IdP, sin dominio falso que delate el engaño. El atacante inicia un flujo de código de dispositivo contra el tenant objetivo y reenvía el user_code recién generado a la víctima con un señuelo que mete prisa; cuando la víctima lo introduce, los tokens van al atacante. El informe de Microsoft de febrero de 2025 sobre Storm-2372, un actor alineado con Rusia activo desde agosto de 2024, documentó exactamente esto: señuelos de reuniones de Teams llevaron a objetivos de gobierno, defensa y ONG a introducir códigos generados por el atacante, que luego usó los tokens para extraer correo mediante Microsoft Graph. Las defensas incluyen políticas de Acceso Condicional que restringen o desactivan el flujo salvo para aplicaciones y grupos concretos, tiempos de vida cortos de los tokens y educación del usuario: un código de dispositivo solo debe introducirse para un inicio de sesión que el propio usuario haya comenzado.

sequenceDiagram
  participant D as Dispositivo (CLI/TV)
  participant I as Proveedor de identidad
  participant U as Usuario (móvil/portátil)
  D->>I: Solicita device_code + user_code
  I-->>D: device_code, user_code, verification_uri
  D-->>U: Muestra "Ve a la URL e introduce el CÓDIGO"
  loop Sondeo (respeta interval / slow_down)
    D->>I: Consulta el endpoint de tokens con device_code
    I-->>D: authorization_pending
  end
  U->>I: Abre verification_uri, inicia sesión, introduce user_code y consiente
  I-->>D: Tokens de acceso y de refresco
  Note over U,I: Riesgo de phishing: el atacante reenvía su propio user_code<br/>y los tokens se emiten al atacante

● Ejemplos

  1. 01

    `gh auth login` imprime un código corto y una URL; el usuario inicia sesión en un portátil, escribe el código y la CLI recibe los tokens.

  2. 02

    Una política de Acceso Condicional de Entra ID desactiva el flujo de código de dispositivo en todo el tenant salvo para un grupo reducido de usuarios de CLI.

● Preguntas frecuentes

¿Qué es Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)?

Concesión de OAuth 2.0 (RFC 8628) en la que un dispositivo con entrada limitada (smart TV, CLI, dispositivo IoT) muestra un código y una URL para que el usuario se autentique en un segundo dispositivo: cómodo para CLIs pero un vector de phishing documentado. Pertenece a la categoría de Identidad y acceso en ciberseguridad.

¿Qué significa Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)?

Concesión de OAuth 2.0 (RFC 8628) en la que un dispositivo con entrada limitada (smart TV, CLI, dispositivo IoT) muestra un código y una URL para que el usuario se autentique en un segundo dispositivo: cómodo para CLIs pero un vector de phishing documentado.

¿Cómo defenderse de Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)?

Las defensas contra Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0) combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.

¿Cuáles son otros nombres para Device Code Flow (concesión de autorización de dispositivo de OAuth 2.0)?

Nombres alternativos comunes: RFC 8628, OAuth 2.0 Device Authorization Grant.

● Términos relacionados