Passa al contenuto principale

3.3. User Interaction (Interazione utente)

Dopo aver ricevuto una risposta di autorizzazione riuscita, il client visualizza o comunica in altro modo il "user_code" e il "verification_uri" all'utente finale e gli indica di visitare l'URI in un agente utente su un dispositivo secondario (ad esempio, in un browser sul loro telefono cellulare) e inserire il codice utente.

+-----------------------------------------------+
| |
| Utilizzando un browser su un altro |
| dispositivo, visita: |
| https://example.com/device |
| |
| E inserisci il codice: |
| WDJB-MJHT |
| |
+-----------------------------------------------+

Figura 2: Esempio di istruzione utente

L'utente autorizzante naviga al "verification_uri" e si autentica con il server di autorizzazione in una sessione sicura protetta da TLS [RFC8446]. Il server di autorizzazione richiede all'utente finale di identificare la sessione di autorizzazione del dispositivo inserendo il "user_code" fornito dal client. Il server di autorizzazione dovrebbe quindi informare l'utente dell'azione che sta intraprendendo e chiedergli di approvare o negare la richiesta. Una volta completata l'interazione dell'utente, il server indica all'utente di tornare al proprio dispositivo.

Durante l'interazione dell'utente, il dispositivo interroga continuamente l'endpoint token con il "device_code", come descritto nella Sezione 3.4, fino a quando l'utente completa l'interazione, il codice scade o si verifica un altro errore. Il "device_code" non è destinato direttamente all'utente finale; quindi, non dovrebbe essere visualizzato durante l'interazione per evitare di confondere l'utente finale.

I server di autorizzazione che supportano questa specifica DEVONO implementare una sequenza di interazione utente che inizia con l'utente che naviga al "verification_uri" e continua con lui che fornisce il "user_code" in una fase durante l'interazione. A parte questo, la sequenza esatta e l'implementazione dell'interazione utente dipendono dal server di autorizzazione; ad esempio, il server di autorizzazione può consentire ai nuovi utenti di registrarsi per un account durante il flusso di autorizzazione o aggiungere passaggi di verifica della sicurezza aggiuntivi.

NON È RACCOMANDATO per i server di autorizzazione includere il codice utente ("user_code") nell'URI di verifica ("verification_uri"), poiché ciò aumenta la lunghezza e la complessità dell'URI che l'utente deve digitare. Sebbene l'utente debba ancora digitare un numero simile di caratteri con il "user_code" separato, una volta che naviga con successo al "verification_uri", eventuali errori nell'inserimento del codice possono essere evidenziati dal server di autorizzazione per migliorare l'esperienza utente. La sezione successiva documenta l'interazione dell'utente con "verification_uri_complete", progettato per trasportare entrambe le informazioni.