Casa Sicurezza Oauth 2.0 101

Oauth 2.0 101

Sommario:

Anonim

Molte auto di lusso sono dotate di chiave. È una chiave speciale che dai al parcheggiatore e, a differenza della tua chiave normale, consentirà di guidare l'auto a breve distanza, bloccando al contempo l'accesso al bagagliaio e al telefono cellulare di bordo. Indipendentemente dalle restrizioni imposte dalla chiave del parcheggiatore, l'idea è molto intelligente. Dai a qualcuno un accesso limitato alla tua auto con una chiave speciale, mentre usi un'altra chiave per sbloccare tutto il resto. - La guida ufficiale a OAuth 1.0


È così che le linee guida sulle specifiche basate sulla comunità hanno spiegato OAuth nel lontano 2007. E mentre OAuth 2.0 è un protocollo completamente nuovo, la stessa descrizione è ancora valida: OAuth rimane un modo per gli utenti di concedere l'accesso di terze parti (e accesso limitato) ai loro risorse senza condividere le loro password.


Se sei su Internet regolarmente, è probabile che ti sia imbattuto in un sito che utilizza OAuth. Dopotutto, i più grandi siti Web del mondo, come Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote e Vimeo, utilizzano questo standard di autenticazione. Continua a leggere per saperne di più su questo standard e sul perché la prossima generazione, OAuth 2.0, viene ancora utilizzata su una base relativamente sperimentale.

Che cos'è OAuth 2.0?

Innanzitutto, devi sapere cosa fa OAuth, come protocollo: consente l'autorizzazione dell'interfaccia di programmazione dell'applicazione tra due app Web o desktop. Di conseguenza, i siti Web sono in grado di condividere risorse protette con altri siti Web e servizi.


Ad esempio, se giochi a Scramble con gli amici sul tuo iPad, puoi inserire le tue credenziali di Facebook, permettendo al gioco di guardare l'elenco degli amici per vedere chi di loro sta giocando e di invitare altri a partecipare. Oppure potresti connetterti con gli amici su Google+ in base a chi ti sta seguendo su Twitter. Questo tipo di applicazioni sono utili per gli utenti, ma comportano l'accesso a un sito o programma alle informazioni su di te su un altro sito.


OAuth 2.0 funziona in modo molto simile alla prima incarnazione di OAuth, ma è uno standard totalmente nuovo. Ciò significa che non è retrocompatibile con OAuth 1.0. La versione 2.0 ha risolto molti dei problemi con l'originale OAuth e ha apportato miglioramenti.


Pur mantenendo sostanzialmente l'architettura della prima versione, 2.0 ha migliorato:

  • Autenticazione e firme. OAuth 2.0 ha reso più semplice per qualcuno sul lato client l'implementazione del protocollo.
  • Esperienza utente e modi alternativi di emettere token
  • Prestazioni, in particolare con siti Web e servizi più grandi
Una spiegazione più completa delle novità di OAuth 2.0 è fornita da Eran Hammer, che faceva parte del gruppo di lavoro di OAuth. Puoi accedervi qui. Tuttavia, si noti che Hammer ha lasciato il gruppo di lavoro nel luglio 2012, citando problemi con problemi di sicurezza durante l'implementazione dello standard. Di conseguenza, sebbene OAuth avrebbe dovuto essere finalizzato entro la fine del 2010, rimane uno standard proposto (al momento della stesura), sebbene faccia parte dell'API Graph di Facebook. Google e Microsoft stanno inoltre sperimentando il supporto OAuth 2.0 nelle loro API.

I vantaggi dell'utilizzo di OAuth 2.0

Uno dei migliori motivi per utilizzare OAuth è che rende la condivisione molto più semplice. Siamo già abituati a caricare foto su Instagram e a farle pubblicare automaticamente su Twitter e Facebook. In effetti, è questo tipo di facilità d'uso e crossover che continua a rendere i social media così attraenti.


Ma non è tutto. Per gli utenti finali, OAuth significa che non è necessario creare un altro profilo. Ad esempio, se si desidera lasciare un commento su un articolo, è possibile utilizzare le credenziali di Facebook o Twitter per farlo, invece di registrarsi per un account su un determinato sito Web. Questo è ottimo per i siti su cui di solito non sei attivo o di cui potresti non fidarti. Può anche essere utile ai siti garantendo che gli utenti abbiano un'identità su Facebook, rendendo meno probabile lo spam nei commenti.


OAuth significa anche meno password da ricordare. È consigliabile disporre di password diverse per servizi Web diversi. Quindi, invece di memorizzare un'altra password per, devi solo usare la tua password di Facebook per accedere al servizio., a proposito, non vedrà la tua password.


Puoi anche limitare le risorse a cui puoi accedere tramite OAuth. Ad esempio, quando giochi a Facebook, puoi specificare se vuoi che il gioco sia pubblicato sulla tua bacheca per tuo conto o meno.


Per lo sviluppatore, OAuth 2.0 fornisce un codice già sviluppato per autenticazioni, visualizzazione delle interazioni social e visualizzazione del profilo utente. Ciò significa un minor numero di bug per gli sviluppatori e un rischio inferiore perché l'API è già stata sottoposta a debug, testata e dimostrata. Infine, beneficiate anche della minore quantità di dati archiviati sui vostri server.

Come è venuto OAuth 2.0

È abbastanza ovvio che OAuth è una risposta alla richiesta di elaborazione sicura e facilità d'uso per diversi servizi Web. OAuth 2.0, d'altra parte, è nato dalla necessità di rendere OAuth meno complesso. Ma l'intera idea per entrambi è nata da OpenID.


OpenID è un servizio che ha consentito agli utenti di accedere a vari servizi utilizzando le credenziali di accesso da un altro sito Web. Ma OpenID era molto limitato, quindi un gruppo di persone che lavorava su protocolli di autorizzazione diversi per i propri siti si riunì. Le prime implementazioni di OAuth sono state fatte nel 2007 e la prima revisione è arrivata due anni dopo.


OAuth 2.0 è arrivato sulla scena nel 2010. Il suo intento era quello di concentrarsi sulla semplicità client-sviluppatore ed essere più facilmente scalabile migliorando allo stesso tempo l'esperienza dell'utente.

Sfide in arrivo?

Sebbene Google, Klout e altri grandi nomi stiano implementando OAuth 2.0, potrebbe esserci ancora una strada rocciosa davanti a questo protocollo. Ci sono critiche all'interno della comunità di OAuth 2.0, comprese le preoccupazioni sulla sicurezza del protocollo (molti credono che sia meno sicuro di OAuth 1.0).


Secondo Hammer, se utilizzato da un programmatore competente che ha una buona conoscenza della sicurezza Web, OAuth 2.0 funziona. Sfortunatamente, solo una piccola minoranza di sviluppatori si adatta a quel conto.


Inoltre, i codici OAuth 2.0 non sono riutilizzabili. Ad esempio, i protocolli OAuth 2.0 utilizzati da Facebook non sarebbero prontamente utilizzabili da altri siti. Inoltre, il nuovo protocollo è in realtà molto più complesso dell'originale.


Ma il vero kicker per molte persone è che OAuth 2.0 non sembra offrire alcun reale vantaggio o miglioramento rispetto a 1.0. Hammer scrive che se stai implementando con successo 1.0, non c'è motivo di aggiornare a 2.0.


OAuth 2.0, tuttavia, è ancora molto vivo. Se affronta le critiche e le questioni sollevate, potrebbe ancora trovare un posto come un protocollo molto potente. Al momento della stesura, tuttavia, la versione 1.0 è ancora considerata la versione ufficiale, stabile e testata di OAuth. Tuttavia, per gli sviluppatori che mirano a lavorare con grandi nomi nel mondo online, l'implementazione di questo protocollo in modo sicuro potrebbe diventare una competenza chiave in un futuro non troppo lontano.

Oauth 2.0 101