Domov zabezpečenia Oauth 2.0 101

Oauth 2.0 101

Obsah:

Anonim

Mnoho luxusných áut sa dodáva so služobným kľúčom. Je to špeciálny kľúč, ktorý dáte parkovaciemu sprievodcovi a na rozdiel od bežného kľúča vám umožní riadiť vozidlo iba na krátku vzdialenosť a blokovať prístup k kufru a palubnému mobilnému telefónu. Bez ohľadu na obmedzenia, ktoré služobný kľúč ukladá, je táto myšlienka veľmi šikovná. Osobnému kľúču dávate niekomu obmedzený prístup pomocou špeciálneho kľúča, zatiaľ čo pomocou iného kľúča odomknete všetko ostatné. - Úradný sprievodca OAuth 1.0


Takto pokyny pre komunitné špecifikácie vysvetlili cestu OAuth v roku 2007 a zatiaľ čo protokol OAuth 2.0 je úplne nový protokol, stále platí ten istý opis - OAuth zostáva pre používateľov spôsob, ako povoliť prístup tretích strán (a obmedzený prístup) k ich zdroje bez zdieľania ich hesiel.


Ak ste na internete pravidelne, je pravdepodobné, že ste narazili na stránky, ktoré používajú protokol OAuth. Nakoniec, najväčšie webové stránky na svete, ako napríklad Facebook, Google, MySpace, Twitter, Photobcuket, Yahoo, Evernote a Vimeo, používajú tento autentifikačný štandard. Čítajte ďalej, aby ste sa dozvedeli viac o tomto štandarde a prečo sa budúca generácia OAuth 2.0 stále používa na pomerne experimentálnom základe.

Čo je OAuth 2.0?

Najprv musíte vedieť, čo protokol OAuth robí: Umožňuje autorizáciu rozhrania na programovanie aplikácií medzi dvoma webovými alebo stolnými aplikáciami. Výsledkom je, že webové stránky môžu zdieľať chránené zdroje s inými webovými stránkami a službami.


Napríklad, ak na iPade hráte Scramble s priateľmi, môžete zadať svoje poverenia na Facebooku, čo umožňuje hre prezerať si zoznam priateľov, aby zistili, ktorý z nich hrá hru - a pozvať ďalších, aby sa pripojili. Alebo sa môžete spojiť s priateľmi na Google+ na základe toho, kto vás sleduje na Twitteri. Tieto typy aplikácií sú užitočné pre používateľov, ale zahŕňajú poskytnutie jedného webu alebo programu prístup k informáciám o vás na inom webe.


OAuth 2.0 funguje podobne ako prvá inkarnácia OAuth, ale je to úplne nový štandard. To znamená, že nie je spätne kompatibilný s OAuth 1.0. Verzia 2.0 odstránila veľa problémov s pôvodným protokolom OAuth a vykonala vylepšenia.


Pri zachovaní architektúry prvej verzie 2.0 sa 2.0 vylepšilo:

  • Autentifikácia a podpisy. Aplikácia OAuth 2.0 uľahčila implementáciu protokolu pre niekoho na strane klienta.
  • Užívateľské skúsenosti a alternatívne spôsoby vydávania tokenov
  • Výkon, najmä pri väčších webových stránkach a službách
Podrobnejšie vysvetlenie toho, čo je nové s OAuth 2.0, poskytuje Eran Hammer, ktorý bol súčasťou pracovnej skupiny OAuth. Prístup k nemu nájdete tu. Upozorňujeme však, že Hammer opustil pracovnú skupinu v júli 2012 a pri implementácii normy uviedol problémy s bezpečnostnými obavami. Výsledkom je, že hoci mala byť OAuth dokončená do konca roku 2010, zostáva navrhovaným štandardom (v čase písania), hoci je súčasťou Graph API Facebooku. Google a Microsoft tiež experimentujú s podporou protokolu OAuth 2.0 vo svojich rozhraniach API.

Výhody používania protokolu OAuth 2.0

Jedným z najlepších dôvodov použitia protokolu OAuth je to, že zdieľanie je omnoho ľahšie. Už sme zvyknutí nahrávať fotografie na Instagram a nechať ich automaticky uverejňovať príspevky na Twitteri a Facebooku. V skutočnosti je to práve tento druh ľahkého používania a kríženia, vďaka ktorému sú sociálne médiá tak príťažlivé.


Ale to nie je všetko. Pre koncových používateľov OAuth znamená, že nemusíte vytvárať ďalší profil. Napríklad, ak chcete zanechať komentár k článku, môžete na to použiť svoje poverenia na Facebooku alebo Twitteri, namiesto toho, aby ste sa museli zaregistrovať na danom webe. To je skvelé pre weby, na ktorých obvykle nie ste aktívny alebo ktorým nemusíte dôverovať. Môže to tiež prospieť webovým stránkam tým, že zaistí, aby používatelia mali identitu na Facebooku, čím sa zníži pravdepodobnosť nevyžiadanej pošty.


OAuth tiež znamená menej hesiel na zapamätanie. Najlepšie je mať rôzne heslá pre rôzne webové služby. Takže namiesto zapamätania si iného hesla pre prístup k službe musíte použiť iba svoje Facebookové heslo., Mimochodom, neuvidia vaše heslo.


Môžete tiež obmedziť, ktoré zdroje sú prístupné prostredníctvom vášho OAuth. Napríklad pri hraní hier na Facebooku môžete určiť, či chcete, aby hra bola zverejnená na vašej stene vo vašom mene alebo nie.


Pre vývojárov poskytuje OAuth 2.0 už vyvinutý kód pre autentifikácie, zobrazenie sociálnej interakcie a zobrazenie užívateľského profilu. To znamená, že vývojári musia čeliť menšiemu počtu chýb a menšie riziko, pretože API už bolo odladené, testované a overené. Na záver môžete tiež profitovať z toho, že na svojich vlastných serveroch budete mať menej údajov.

Ako OAuth 2.0 prišiel

Je celkom zrejmé, že OAuth je odpoveďou na výzvu na bezpečné používanie počítačov a jednoduché použitie pre rôzne webové služby. OAuth 2.0, na druhej strane, vyplynula z potreby urobiť komplexnejšie OAuth. Celá myšlienka oboch však prišla od OpenID.


OpenID je služba, ktorá umožňuje používateľom prihlásiť sa do rôznych služieb pomocou prihlasovacích údajov z inej webovej stránky. OpenID však bol veľmi obmedzený, takže skupina ľudí pracujúcich na rôznych autorizačných protokoloch pre svoje vlastné stránky sa spojila. Prvé implementácie protokolu OAuth sa uskutočnili v roku 2007 a prvá revízia bola o dva roky neskôr.


OAuth 2.0 prišiel na scénu v roku 2010. Jeho zámerom bolo zamerať sa na jednoduchosť medzi klientom a vývojárom a ľahšie ho škálovať a zároveň zlepšiť užívateľský komfort.

Výzvy vpred?

Aj keď Google, Klout a ďalšie veľké mená implementujú protokol OAuth 2.0, pred týmto protokolom môže byť pred nami ešte veľká cesta. V komunite OAuth 2.0 sú kritiky vrátane obáv týkajúcich sa zabezpečenia protokolu (mnohí sa domnievajú, že je menej bezpečný ako protokol OAuth 1.0).


Podľa Hammera, ak je používaný kompetentným programátorom, ktorý má dobré znalosti v oblasti zabezpečenia webu, OAuth 2.0 funguje. Žiaľ, iba malá menšina vývojárov sa zmestila do tohto zákona.


Kódy OAuth 2.0 sa navyše nedajú opätovne použiť. Napríklad protokoly OAuth 2.0, ktoré používa Facebook, by iné stránky neboli ľahko použiteľné. A čo viac, nový protokol je v skutočnosti oveľa zložitejší ako pôvodný protokol.


Skutočným kickerom pre mnoho ľudí je však to, že OAuth 2.0 neponúka žiadnu skutočnú výhodu alebo zlepšenie oproti 1.0. Hammer píše, že ak úspešne implementujete 1.0, nie je dôvod na upgrade na 2.0.


OAuth 2.0 je však stále nažive. Ak sa bude zaoberať kritikou a nastolenými problémami, môže nájsť miesto ako veľmi silný protokol. V čase písania sa však verzia 1.0 stále považuje za oficiálnu, stabilnú a testovanú verziu protokolu OAuth. Pre vývojárov, ktorí sa usilujú pracovať s veľkými menami v online svete, sa však implementácia tohto protokolu môže stať kľúčovou zručnosťou v nie príliš vzdialenej budúcnosti.

Oauth 2.0 101