Antonio Braccolino, Identity & Access, home

Lab · 08 / 16

Accedere senza tastiera.

Smart TV, console e CLI non possono mostrare una vera pagina di login. Mostrano invece un codice breve e l’utente approva da telefono o computer.

Hai completato tutti i lab

Tutti i 16 lab, dalla mappa dello IAM alle architetture di riferimento. L’identità non ha più segreti per te.

Vedi i traguardi

Condividi il tuo badge

Instagram: scarica l’immagine e pubblicala come post o storia. LinkedIn: quando lo apri il testo viene copiato, incollalo e allega l’immagine.

OAuth 2.0 · Device flow · Intermedio · 5 passi

Cosa impari

  • Come due dispositivi condividono un login
  • Perché la TV continua a chiedere
  • Come funziona il phishing con device code
TV
un dispositivo senza tastiera
IdP
emette codici e token
Phone
dove l’utente fa l’accesso
  1. POST /device_authorization

    Passo 1 di 5

    La TV chiede un codice

    In parole semplici La TV prende un numero, come al banco della gastronomia.

    Il dispositivo si identifica con il suo client_id e gli scope che gli servono. Non può aprire un browser, quindi avvia un flusso diverso.

    POST https://idp.example.com/device_authorization
      client_id=tv-app
      &scope=openid profile offline_access
  2. user_code · device_code

    Passo 2 di 5

    Tornano due codici

    In parole semplici Un codice è per te da leggere, l’altro resta segreto dentro la TV.

    Lo user_code è breve e appare sullo schermo. Il device_code resta nella TV e serve dopo per ritirare i token. Entrambi scadono in pochi minuti.

    {
      "device_code": "GmRhmhcxhwAzkoEqiMEg_DnyEysNkuNhszIySk9eS",
      "user_code": "WDJB-MJHT",
      "verification_uri": "https://idp.example.com/device",
      "expires_in": 600,
      "interval": 5
    }
  3. inserisci WDJB-MJHT · approva

    Passo 3 di 5

    L’utente approva dal telefono

    In parole semplici Vai allo sportello con il telefono, dai il numero e confermi che sei tu.

    L’utente apre il link, digita il codice, accede con MFA e vede cosa chiede la TV. Gli attaccanti abusano di questo passo: mandano un codice vero e convincono la vittima ad approvarlo. Approva solo codici avviati da te.

  4. POST /token (polling)

    Passo 4 di 5

    La TV continua a chiedere

    In parole semplici La TV continua a guardare il banco: "È pronto il mio numero?"

    Ogni pochi secondi la TV chiede i token con il device_code. Finché l’utente non approva, l’IdP risponde authorization_pending; se la TV chiede troppo spesso, slow_down.

    POST https://idp.example.com/token
      grant_type=urn:ietf:params:oauth:grant-type:device_code
      &device_code=GmRhmhcxhwAzkoEqiMEg_DnyEysNkuNhszIySk9eS
      &client_id=tv-app
    
    ← 400 { "error": "authorization_pending" }
    ← 400 { "error": "authorization_pending" }
    ← 200 { "access_token": "…", "refresh_token": "…" }
  5. access_token + refresh_token

    Passo 5 di 5

    La TV ha fatto l’accesso

    In parole semplici Chiamano il tuo numero: la TV riceve le chiavi e tu metti via il telefono.

    Dopo l’approvazione, il polling successivo restituisce i token. Il refresh token permette alla TV di restare connessa per settimane senza chiedere di nuovo.

Domini e valori d’esempio. Nulla esce dal tuo browser.