Passa al contenuto principale

3.4. Device Access Token Request (Richiesta di token di accesso del dispositivo)

Dopo aver visualizzato le istruzioni all'utente, il client crea una richiesta di token di accesso e la invia all'endpoint token (come definito dalla Sezione 3.2 di [RFC6749]) con un "grant_type" di "urn:ietf:params:oauth:grant-type:device_code". Questo è un tipo di concessione di estensione (come definito dalla Sezione 4.5 di [RFC6749]) creato da questa specifica, con i seguenti parametri:

grant_type (tipo di concessione)

  • RICHIESTO. Il valore DEVE essere impostato su "urn:ietf:params:oauth:grant-type:device_code".

device_code (codice dispositivo)

  • RICHIESTO. Il codice di verifica del dispositivo "device_code" dalla risposta di autorizzazione del dispositivo, definito nella Sezione 3.2.

client_id (identificatore client)

  • RICHIESTO se il client non si sta autenticando con il server di autorizzazione come descritto nella Sezione 3.2.1. di [RFC6749]. L'identificatore client come descritto nella Sezione 2.2 di [RFC6749].

Ad esempio, il client effettua la seguente richiesta HTTPS (le interruzioni di riga sono solo per scopi di visualizzazione):

POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded

grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Adevice_code
&device_code=GmRhmhcxhwAzkoEqiMEg_DnyEysNkuNhszIySk9eS
&client_id=1406020730

Se al client sono state rilasciate credenziali client (o assegnati altri requisiti di autenticazione), il client DEVE autenticarsi con il server di autorizzazione come descritto nella Sezione 3.2.1 di [RFC6749]. Si noti che ci sono implicazioni di sicurezza delle credenziali client distribuite staticamente; vedere la Sezione 5.6.

La risposta a questa richiesta è definita nella Sezione 3.5. A differenza di altri tipi di concessione OAuth, ci si aspetta che il client provi ripetutamente la richiesta di token di accesso in modalità polling in base al codice di errore nella risposta.