Che cos'è esattamente OAuth (Open Authorization)?
OAuth consente di notificare a un fornitore di risorse (ad esempio Facebook) che il proprietario della risorsa (ad esempio tu) concede l'autorizzazione a una terza parte (ad esempio un'applicazione Facebook) ad accedere alle proprie informazioni (ad esempio l'elenco dei tuoi amici).
Se la leggessi dichiarata chiaramente, capirò la tua confusione. Quindi facciamo un esempio concreto: entrare a far parte di un altro social network!
Supponi di avere un account GMail esistente. Decidi di iscriverti a LinkedIn. L'aggiunta manuale di molti e molti amici è noiosa e soggetta a errori. Potresti stufarti a metà strada o inserire errori di battitura nel loro indirizzo e-mail per l'invito. Quindi potresti essere tentato di non creare un account dopo tutto.
Di fronte a questa situazione, LinkedIn ha la Buona Idea (TM) di scrivere un programma che aggiunge automaticamente la tua lista di amici perché i computer sono molto più efficienti ed efficaci nelle attività noiose e soggette a errori. Dal momento che entrare a far parte della rete è ora così facile, non c'è modo di rifiutare una simile offerta, ora lo faresti?
Senza un'API per lo scambio di questo elenco di contatti, dovresti fornire a LinkedIn il nome utente e la password al tuo account GMail, dando così loro troppo potere .
È qui che entra in gioco OAuth. Se GMail supporta il protocollo OAuth, LinkedIn può chiederti di autorizzarli ad accedere al tuo elenco di contatti GMail.
OAuth consente di:
- Diversi livelli di accesso: sola lettura VS lettura-scrittura. Ciò ti consente di concedere l'accesso al tuo elenco di utenti o un accesso bidirezionale per sincronizzare automaticamente i tuoi nuovi amici di LinkedIn con i tuoi contatti GMail.
- Accedi alla granularità: puoi decidere di concedere l'accesso solo alle tue informazioni di contatto (nome utente, e-mail, data di nascita, ecc.) O all'intero elenco di amici, calendario e cosa no.
- Ti consente di gestire l'accesso dall'applicazione del fornitore di risorse. Se l'applicazione di terze parti non fornisce un meccanismo per la cancellazione dell'accesso, resteresti bloccato se avessero accesso alle tue informazioni. Con OAuth, è possibile revocare l'accesso in qualsiasi momento.
Diventerà di fatto (standard?) Nel prossimo futuro?
Bene, sebbene OAuth sia un significativo passo avanti, non risolve i problemi se le persone non lo usano correttamente. Ad esempio, se un fornitore di risorse fornisce un solo livello di accesso in lettura e scrittura a tutte le risorse contemporaneamente e non fornisce un meccanismo per la gestione dell'accesso, non ha senso. In altre parole, OAuth è un framework per fornire funzionalità di autorizzazione e non solo autenticazione.
In pratica, si adatta molto bene al modello di social network. È particolarmente popolare per quei social network che vogliono consentire "plug-in" di terze parti. Questa è un'area in cui l'accesso alle risorse è intrinsecamente necessario ed è anche intrinsecamente inaffidabile (cioè hai un controllo di qualità scarso o nullo su tali applicazioni).
Non ho visto tanti altri usi in natura. Voglio dire, non conosco una società di consulenza finanziaria online che accederà automaticamente ai tuoi dati bancari, anche se tecnicamente potrebbe essere utilizzata in quel modo.