Kazalo:
Veliko luksuznih avtomobilov je na voljo s ključem za valet. To je poseben ključ, ki ga daste parkirnemu osebju in bo za razliko od vašega običajnega ključa dovolil vožnjo avtomobila le na kratke razdalje, hkrati pa preprečil dostop do prtljažnika in mobilnega telefona. Ne glede na omejitve, ki jih nalaga ključ, je ideja zelo pametna. Nekomu omogočite omejen dostop do vašega avtomobila s posebnim ključem, medtem ko uporabite drugo tipko za odklepanje vsega drugega. - Uradni vodnik za OAuth 1.0
Tako so v smernicah za specifikacije v skupnosti razložile OAuth že leta 2007. In čeprav je OAuth 2.0 povsem nov protokol, velja še vedno isti opis - OAuth ostaja način, da uporabnikom omogočijo dostop tretjim osebam (in omejen dostop) svojim virov brez skupne rabe gesel.
Če ste redno v internetu, obstaja velika verjetnost, da ste naleteli na spletno mesto, ki uporablja OAuth. Konec koncev največja spletna mesta na svetu, kot so Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote in Vimeo, uporabljajo ta standard za preverjanje pristnosti. Preberite si, če želite izvedeti več o tem standardu in zakaj se naslednja generacija, OAuth 2.0, še vedno uporablja na relativno eksperimentalni osnovi.
Kaj je OAuth 2.0?
Najprej morate vedeti, kaj počne OAuth kot protokol: omogoča odobritev vmesnika za programiranje aplikacij med dvema spletnima ali namiznima programoma. Posledično lahko spletna mesta delijo zaščitene vire z drugimi spletnimi mesti in storitvami.
Če na primer v iPadu igrate Scramble s prijatelji, lahko vnesete svoje poverilnice na Facebooku in tako igro omogočite, da pogleda vaš seznam prijateljev, da vidi, kdo od njih igra igro, in povabite druge, da se pridružijo. Lahko pa se povežete s prijatelji v storitvi Google+ glede na to, kdo vas spremlja na Twitterju. Te vrste aplikacij so za uporabnike priročne, vključujejo pa dostop do enega spletnega mesta ali programa do informacij o vas na drugem spletnem mestu.
OAuth 2.0 deluje podobno kot prva inkarnacija OAuth, vendar je popolnoma nov standard. To pomeni, da ni združljiv z OAuth 1.0 za nazaj. Različica 2.0 je odpravila številne težave z originalnim OAuthom in izboljšala.
Čeprav je v osnovi ohranil arhitekturo prve različice, se je 2.0 izboljšal na:
- Preverjanje pristnosti in podpisi. OAuth 2.0 je nekomu na strani odjemalca olajšal izvajanje protokola.
- Uporabniška izkušnja in alternativni načini izdaje žetonov
- Zmogljivost, zlasti pri večjih spletnih mestih in storitvah
Prednosti uporabe OAuth 2.0
Eden najboljših razlogov za uporabo OAuth je, da je skupna raba toliko lažja. Navadili smo že, da fotografije prenašamo v Instagram in jih samodejno objavljamo na Twitterju in Facebooku. Pravzaprav je tovrstna enostavnost uporabe in crossoverja še naprej tako privlačna za družbene medije.
A to še ni vse. Za končne uporabnike OAuth pomeni, da vam ni treba ustvariti drugega profila. Če želite na primer pustiti komentar na članek, lahko za to uporabite poverilnice za Facebook ali Twitter, namesto da bi se morali prijaviti za račun na določenem spletnem mestu. To je super za spletna mesta, na katerih običajno niste dejavni ali ki jim morda ne zaupate. Spletna mesta lahko koristijo tudi tako, da uporabnikom zagotovijo identiteto na Facebooku, zaradi česar je spam komentarjev manj verjeten.
OAuth pomeni tudi manj gesel, ki si jih morate zapomniti. Najboljša praksa je, da imate različna gesla za različne storitve spletnega mesta. Torej, namesto da bi zapomnili drugo geslo za, morate za dostop do storitve uporabljati samo svoje geslo za Facebook. Mimogrede, ne bo videl vašega gesla.
Prav tako lahko omejite, do katerih virov je dostopen prek vašega OAuth. Na primer, ko igrate igro na Facebooku, lahko določite, ali želite, da se igra v vašem imenu objavi na vašem zidu ali ne.
OAuth 2.0 za razvijalca ponuja že razvito kodo za preverjanje pristnosti, prikaz socialne interakcije in prikaz uporabniškega profila. To pomeni manj napak, s katerimi se lahko spopadajo razvijalci, in manjše tveganje, ker je bil API že odpravljen, odpravljen in preizkušen. Nenazadnje imate tudi koristi od tega, da shranite manj podatkov na svoje strežnike.
Kako je OAuth 2.0 prišel
Povsem očitno je, da je OAuth odziv na poziv k varnemu računalništvu in enostavni uporabi za različne spletne storitve. Po drugi strani je OAuth 2.0 izhajal iz potrebe, da je OAuth manj zapleten. Toda celotna ideja za oba je pravzaprav prišla iz OpenID-a.
OpenID je storitev, ki je uporabnikom omogočala prijavo v različne storitve z uporabo poverilnic za prijavo z drugega spletnega mesta. Toda OpenID je bil zelo omejen, zato se je skupina ljudi, ki delajo na različnih avtorizacijskih protokolih za lastna spletna mesta, zbrala. Prve izvedbe OAuth so bile izvedene leta 2007, prva revizija pa je prišla dve leti kasneje.
OAuth 2.0 je na sceno prišel leta 2010. Njen namen je bil osredotočiti se na preprostost razvijalca za stranke in biti lažje prilagodljiv, hkrati pa izboljšati uporabniško izkušnjo.
Izzivi pred nami?
Čeprav Google, Klout in druga velika imena izvajajo OAuth 2.0, je pred tem protokolom lahko še vedno skalnata pot. Znotraj skupnosti OAuth 2.0 obstajajo kritike, tudi pomisleki glede varnosti protokola (mnogi menijo, da je manj varen kot OAuth 1.0).
Po besedah Hammerja OAuth 2.0 deluje, če ga uporablja pristojni programer, ki dobro pozna spletno varnost. Na žalost temu računu ustreza le manjšina razvijalcev.
Poleg tega OAuth 2.0 kode ni mogoče ponovno uporabiti. Na primer, protokoli OAuth 2.0, ki jih uporablja Facebook, ne bi bili zlahka uporabni na drugih spletnih mestih. Še več, nov protokol je pravzaprav veliko bolj zapleten kot original.
Toda pravi zalogaj mnogih ljudi je, da se zdi, da OAuth 2.0 ne ponuja nobenih resničnih prednosti ali izboljšav nad 1.0. Hammer piše, da če uspešno izvajate 1.0, ni razloga za nadgradnjo na 2.0.
OAuth 2.0 pa je še vedno zelo živ. Če obravnava kritike in vprašanja, ki se pojavljajo, morda še vedno najde mesto kot zelo močan protokol. V času pisanja pa različica 1.0 še vedno velja za uradno, stabilno in preizkušeno različico OAuth. Kljub temu pa lahko za razvijalce, ki želijo sodelovati z velikimi imeni v spletnem svetu, varno izvajanje tega protokola postane ključna spretnost, ki je postavljena v ne preveč oddaljeni prihodnosti.