Programovanie protokolu OAuth: Nezachádzajte s heslami, namiesto toho použite toto

zverejnenie: Vaša podpora pomáha udržiavať web v prevádzke! Za niektoré zo služieb, ktoré odporúčame na tejto stránke, získavame poplatok za sprostredkovanie.


OAuth je systém, ktorý používateľom umožňuje vzájomnú komunikáciu dvoch rôznych aplikácií v mene používateľa bez toho, aby im museli oznamovať heslo používateľa. Tento systém ste nepochybne použili mnohokrát, ale možno to nepoznáte. Napríklad niektoré systémy komentovania vám umožňujú prihlásiť sa pomocou svojho účtu Facebook alebo Google+. To sa deje pomocou OAuth.

Ako OAuth účinkuje?

Predstavte si, že máte blog WordPress a chcete, aby sa pri každom uverejnení článku automaticky vytlačilo oznámenie. Takže na plugin použijete doplnok WP. Namiesto toho, aby ste doplnku oznámili svoje heslo Twitter, používate OAuth.

Na začiatok povedzte spoločnosti WP na Twitteri, že chcete uverejňovať tweety pomocou svojho účtu. WP to Twitter teda ide na Twitter a žiada o povolenie. Twitter poskytuje programu WP to Twitter token, ktorý vám potom poskytne spolu s pokynmi ísť na Twitter a autorizovať žiadosť. Keď to urobíte, program WP to Twitter vám môže posielať tweety.

Stručná história OAuth

V roku 2006 bol Twitter v procese implementácie OpenID – široko používaného systému, ktorý umožňoval používateľom mať jeden identifikátor, ktorý by mohli použiť na prihlásenie do mnohých rôznych účtov na internete. Nemalo však otvorené štandardy, ktoré by umožňovali vytvorenie API na delegovanie prístupu. Začali teda pracovať na technológii OAuth, ktorá by vývojárom umožňovala vytvárať aplikácie, ktoré by požadovali a udeľovali prístup k špecifickým aspektom webových stránok.

Pôvodná špecifikácia, OAuth 1.0, bola vydaná v roku 2007, ale bola oficiálna až v roku 2010. Aj keď išlo o veľmi užitočný systém a bol široko používaný, nebol dobre navrhnutý na určité použitia vrátane jeho použitia v mobilných zariadeniach. V roku 2012 bol vydaný OAuth 2.0. Obe verzie nie sú kompatibilné. OAuth 2.0 je však bezpečnejší a je navrhnutý s „tokmi autorizácie“ pre rôzne druhy zariadení vrátane telefónov a dokonca aj zariadení.

kontroverzia

Eran Hammer bol jedným z hlavných ľudí zapojených do vývoja OAuth 1.0. Bol tiež zapojený do OAuth 2.0, ale krátko pred jeho oficiálnym prepustením sa rozišiel s projektom. A bol tak nespokojný s oboma verziami OAuth (ktoré môžete vidieť v prednáške, ktorú dal, nie je to bezpečné pre prácu), že si vytvoril vlastnú náhradu, Oz.

Prehľad OAuth

Predtým, ako sa pokúsite pridať OAuth do svojich vlastných aplikácií, je dobré získať všeobecný prehľad o systéme.

  • Úvod OAuth spoločnosti Hueniverse: Jasný úvod spoločnosti Eran Hammer k OAuth 1.0.
  • OAuth for Dummies: Z vtáčej perspektívy na OAuth 1.0 od Mark Trapp.
  • Predstavujeme OAuth 2.0: vynikajúci prehľad rozdielov medzi rôznymi verziami OAuth.
  • Ukážka výučby OAuth2 v 8 krokoch: stručný príklad videa s OAuth pomocou PHP.

Začíname s OAuth

OAuth nie je vývojová platforma. Je to nástroj, ktorý budete používať ako súčasť inej aplikácie. Napríklad by ste nechceli napísať program, ktorý má prístup iba k používateľskému účtu Facebook. Chceli by ste to urobiť z nejakého dôvodu. Takže, ak čítate túto stránku, musíte mať nejakú aplikáciu, ktorá potrebuje schopnosti OAuth, aby fungovala ako doplnok blogového tweeting, ktorý sme diskutovali vyššie..

Všeobecný úvod

Tu je niekoľko všeobecných úvodov:

  • OAuth 2 Zjednodušené: Prehľad vývojového procesu Aarona Pareckiho vo všeobecnom zmysle.
  • Príklady kódovania OAuth: rôzne príklady v mnohých rôznych jazykoch.
  • Prečítajte si ukážkový kód dokumentov: všeobecné ukážky kódu, ako aj príklady konkrétnych služieb. Zahŕňa príklady pre:
    • bitbucket
    • GitHub
    • Google
    • Facebook
    • LinkedIn
    • tumblr

Špecifické služby

Používanie protokolu OAuth vo všeobecnosti závisí od služby, ku ktorej sa chcete pripojiť. Väčšina služieb má svoje vlastné vtipky a rozšírenia. Nižšie uvádzame príručky pre množstvo populárnych služieb:

  • Používanie protokolu OAuth s Twitterom: dôkladný úvod do protokolu OAuth s príkladmi v mnohých rôznych jazykoch.
  • Yahoo! Príklady kódovania OAuth: Príklady protokolu OAuth pomocou rozhrania BOSS API.
  • Google OAuth Consumer: PHP kód pre OAuth s dvoma a tromi vetvami.
  • OAuth2 Authentication: prihláste sa pomocou účtu Facebook.
  • Výukový program OAuth na Facebooku: podrobný príklad využívajúci PHP a Python.

Rozšírené kódovanie OAuth

Keď zrušíte základy OAuth, existuje niekoľko spôsobov, ako sa môžete aj naďalej učiť.

knihy

Ak naozaj chcete OAuth brať vážne, pravdepodobne by ste si o tom mali dostať knihu. Existuje mnoho z nich, ktoré poskytujú dôkladný úvod do tohto procesu.

  • Začíname s OAuth 2.0 od Ryana Boyda: veľmi krátky úvod, ktorý pokrýva väčšinu aspektov OAuth, vrátane časti o mobilných zariadeniach..
  • OAuth 2.0: Začíname v zabezpečení API Matthias Biehl: ďalšia krátka kniha, ktorá zdôrazňuje bezpečnosť a kontrastuje OAuth s OpenID.
  • Mastering OAuth 2.0 od Charlesa Bihisa: dôkladný úvod s príkladmi využívajúcimi najväčšie služby.
  • Pokročilá bezpečnosť rozhrania API: Zabezpečenie rozhraní API pomocou protokolov OAuth 2.0, OpenID Connect, JWS a JWE od Prabath Siriwardena: všeobecná kniha o bezpečnosti, ktorá sa zaoberá rôznymi verziami rôznych protokolov.

Online fóra

Pokiaľ ide o OAuth, z hľadiska všeobecných online fór nie je veľa k dispozícii. Fóra sa vo všeobecnosti zameriavajú na konkrétne služby.

  • Stack Overflow OAuth Tagged Articles: dokonalé miesto pre programovacie otázky, plné veľa informovaných ľudí.
  • Fóra Getty Image API: informácie o rozhraní API Getty Images, ale s množstvom užitočných informácií.
  • Yahoo! Autorizačný model OAuth: prístup na Yahoo! Rozvojová sieť prostredníctvom vyhľadávacieho nástroja.

Nástroje OAuth

Niekoľko služieb poskytuje nástroje na uľahčenie OAuth.

  • Protokol OAuth 1.0: pôvodný protokol.
  • OAuth 2.0: konečná verzia špecifikácie, ako aj zoznam dostupných knižníc.
  • Použitie protokolu OAuth 2.0 na prístup k rozhraniam Google API: Vynikajúci zdroj spoločnosti Google vrátane detského ihriska OAuth 2.0.

knižnice

Úplnejší zoznam knižníc nájdete na stránke oauth.net. Tu sú ďalšie, vrátane niektorých pre OAuth 1.0:

  • PHP.net OAuth: objektovo orientovaná knižnica OAuth 1.0.
  • OAuth for Ruby: RubyGem na implementáciu klientov a serverov OAuth.
  • Knižnice OAuth2 C #: existuje veľa knižníc C #.
  • Oauth 1.0.1: Knižnica Python pre OAuth 1.0.

Napredovať

Pretože OAuth nie je samoúčelný, ale nástroj, ktorý vám umožní pridať do programov väčšiu silu, pravdepodobne sa to naučíte. Uviedli sme tu veľa zdrojov, aby sme vás mohli začať a umožnili vám kopať sa do systému. Ako ho používate, je len na vás.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me