Cosa sono i token bearer e il token_type in OAuth 2?


140

Sto cercando di implementare il flusso di credenziali proprietario e password risorsa dalle specifiche OAuth 2. Ho difficoltà a comprendere il token_typevalore che viene restituito con una risposta valida. Nella specifica tutti gli esempi mostrano "token_type":"example"ma dice che dovrebbe essere

token_type RICHIESTO. Il tipo di token emesso come descritto in Sezione 7.1 . Il valore non fa distinzione tra maiuscole e minuscole.

Qualcuno può spiegarmelo?

Risposte:


158

token_typeè un parametro nel token di accesso che genera una chiamata al server di autorizzazione che rappresenta essenzialmente come verrà generato e presentato un token di accesso per le chiamate di accesso alle risorse. Fornire token_type nella chiamata di generazione del token di accesso a un server di autorizzazione.

Se dai Bearer(Predefinito per la maggior parte dell'implementazione), access_tokenviene generato e inviato a te. Il portatore può essere semplicemente inteso come "dare accesso al portatore di questo token". Un token valido e nessuna domanda. D'altra parte, se si sceglie Mace sign_type(impostazione predefinita hmac-sha-1nella maggior parte dell'implementazione), il token di accesso viene generato e mantenuto segreto in Key Manager come attributo e un segreto crittografato viene restituito comeaccess_token

Sì, puoi utilizzare la tua implementazione di token_type, ma potrebbe non avere molto senso poiché gli sviluppatori dovranno seguire il tuo processo piuttosto che le implementazioni standard di OAuth.


28
Trovo che "dare accesso al portatore di questo token" semplifica la comprensione. È l'equivalente di emettere un assegno "dare soldi al portatore dell'assegno".
NVM il

@NVM Grazie per il suggerimento, ha sicuramente senso. Ho aggiornato lo stesso.
Abhishek Tyagi,

33

Chiunque può definire "token_type" come estensione OAuth 2.0, ma attualmente il tipo di token "bearer" è il più comune.

https://tools.ietf.org/html/rfc6750

Fondamentalmente è quello che sta usando Facebook. La loro implementazione è un po 'indietro rispetto alle ultime specifiche però.

Se vuoi essere più sicuro di Facebook (o sicuro come OAuth 1.0 che ha "firma"), puoi usare il tipo di token "mac".

Tuttavia, sarà difficile poiché le specifiche del mac stanno ancora cambiando rapidamente.

https://tools.ietf.org/html/draft-ietf-oauth-v2-http-mac-05


14

Informazioni sull'intestazione MDN di Mozilla

Token portatore
Un token di sicurezza con la proprietà che qualsiasi parte in possesso del token (un "portatore") può utilizzare il token in qualsiasi modo possibile con qualsiasi altra parte in possesso di esso. L'uso di un token al portatore non richiede al portatore di dimostrare il possesso di materiale chiave crittografico (prova di possesso).

Il token Bearer o il token di aggiornamento vengono creati automaticamente dal server di autenticazione. Quando un utente autentica l'applicazione (client), il server di autenticazione va e genera per un token bearer (token di aggiornamento) che è possibile utilizzare per ottenere un token di accesso.

Il token Bearer è normalmente una sorta di valore criptico creato dal server di autenticazione, non è casuale è creato in base all'utente che ti dà accesso e al client a cui l'applicazione accede.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.