OAuth Programming: Huwag Hawakin ang mga Password, Gamitin Ito Sa halip

Pagbubunyag: Tumutulong ang iyong suporta na panatilihing tumatakbo ang site! Kumikita kami ng bayad sa referral para sa ilan sa mga serbisyong inirerekumenda namin sa pahinang ito.


Ang OAuth ay isang system na nagpapahintulot sa mga gumagamit na magkaroon ng dalawang magkakaibang aplikasyon na makipag-usap sa bawat isa sa ngalan ng gumagamit nang hindi na kailangang sabihin sa mga application ang password ng gumagamit. Maraming duda mong ginamit ang sistemang ito, ngunit maaaring hindi mo ito nalalaman. Halimbawa, ang ilang mga sistema ng pagkomento ay nagpapahintulot sa iyo na mag-log in sa iyong Facebook o Google+ account. Ginagawa ito sa OAuth.

Paano Gumagana ang OAuth?

Isipin na mayroon kang isang blog na WordPress at nais mo itong awtomatikong mag-tweet ng isang anunsyo sa tuwing mag-publish ka ng isang artikulo. Kaya ginagamit mo ang plugin WP sa Twitter. Sa halip na sabihin sa plugin ang iyong password sa Twitter, gumamit ka ng OAuth.

Magsisimula ka sa pamamagitan ng pagsasabi sa WP sa Twitter na nais mo itong mag-post ng mga tweet gamit ang iyong account. Kaya ang WP sa Twitter ay pumupunta sa Twitter at humihingi ng pahintulot. Binibigyan ng Twitter ang WP sa Twitter ng isang token, na ibinigay nito sa iyo kasama ang mga tagubilin upang pumunta sa Twitter at pahintulutan ang kahilingan. Kapag ginawa mo iyon, ang WP sa Twitter ay maaaring mag-post ng mga tweet para sa iyo.

Isang Maikling Kasaysayan ng OAuth

Noong 2006, ang Twitter ay nasa proseso ng pagpapatupad ng OpenID – isang malawak na ginagamit na sistema na nagpapahintulot sa mga gumagamit na magkaroon ng isang ID na magagamit nila upang mag-log in sa maraming magkakaibang mga account sa internet. Ngunit wala itong bukas na mga pamantayan na magpapahintulot sa isang pagtatayo ng delegasyon ng pag-access. Kaya nagsimula silang magtrabaho sa OAuth, na magpapahintulot sa mga developer na lumikha ng mga application na hihilingin at magbigay ng pag-access sa mga tiyak na aspeto ng mga website.

Ang paunang detalye, ang OAuth 1.0, ay inilabas noong 2007, ngunit hindi ito opisyal hanggang sa 2010. Kahit na ito ay isang napaka-kapaki-pakinabang na sistema at malawak na ginagamit, hindi ito mahusay na dinisenyo para sa ilang mga gamit kabilang ang paggamit nito sa mga mobile device. Kaya noong 2012, pinakawalan ang OAuth 2.0. Ang dalawang bersyon ay hindi magkatugma. Ngunit ang OAuth 2.0 ay mas ligtas at idinisenyo kasama ang “daloy ng pahintulot” para sa iba’t ibang uri ng aparato kabilang ang mga telepono at kahit na mga kasangkapan.

Kontrobersya

Si Eran Hammer ay isa sa mga pangunahing tao na kasangkot sa pagbuo ng OAuth 1.0. Kasama rin siya sa OAuth 2.0, ngunit ilang sandali bago ang opisyal na paglabas nito, nakipag break siya sa proyekto. At labis siyang nasisiyahan sa parehong mga bersyon ng OAuth (na makikita mo sa isang talumpating ibinigay niya na hindi ligtas para sa trabaho) na nilikha niya ang kanyang sariling kapalit, Oz.

Pangkalahatang-ideya ng OAuth

Bago subukang magdagdag ng OAuth sa iyong sariling mga aplikasyon, magandang ideya na makakuha ng pangkalahatang pangkalahatang-ideya ng system.

  • Hueniverse OAuth Panimula: Malinaw na pagpapakilala ni Eran Hammer sa OAuth 1.0.
  • OAuth for Dummies: Ang mata ng isang ibon ng OAuth 1.0 ni Mark Trapp.
  • Ipinapakilala ang OAuth 2.0: isang mahusay na pangkalahatang-ideya ng mga pagkakaiba sa pagitan ng iba’t ibang mga bersyon ng OAuth.
  • OAuth2 sa 8 Mga Hakbang sa Tutorial sa Tutorial: isang maikling pangkalahatang-ideya ng video ng OAuth gamit ang PHP para sa mga halimbawa.

Pagsisimula Sa OAuth

Ang OAuth ay hindi isang platform ng pag-unlad. Ito ay isang tool na gagamitin mo bilang bahagi ng ilang iba pang aplikasyon. Halimbawa, hindi mo nais na magsulat ng isang programa na maaaring ma-access lamang ang account sa Facebook ng isang gumagamit. Gusto mong gawin iyon sa ilang kadahilanan. Kaya kung binabasa mo ang pahinang ito, dapat kang magkaroon ng ilang application na nangangailangan ng mga kakayahan ng OAuth na tumakbo tulad ng plugin ng blog tweeting na tinalakay namin sa itaas.

Pangkalahatang Panimula

Narito ang ilang mga pangkalahatang pagpapakilala:

  • OAuth 2 Pinasimple: Ang pangkalahatang-ideya ni Aaron Parecki ng proseso ng pag-unlad sa pangkalahatang kahulugan.
  • Mga Halimbawa ng OAuth Coding: iba’t ibang mga halimbawa sa maraming iba’t ibang mga wika.
  • Basahin ang Dokumento ng Sample Code: pangkalahatang mga sample ng code pati na rin ang ilan para sa mga tiyak na serbisyo. May kasamang mga halimbawa para sa:
    • Bitbucket
    • GitHub
    • Google
    • Facebook
    • LinkedIn
    • Tumblr

Mga Tukoy na Serbisyo

Karaniwan, ang paggamit ng OAuth ay nakasalalay sa serbisyo na nais mong kumonekta. Karamihan sa mga serbisyo ay may sariling mga quirks at extension. Kaya sa ibaba ay isinama namin ang mga tutorial para sa maraming mga tanyag na serbisyo:

  • Paggamit ng OAuth Gamit ang Twitter: isang masusing pagpapakilala sa OAuth na may mga halimbawa sa isang iba’t ibang mga wika.
  • Yahoo! Mga Halimbawa ng OAuth Coding: Mga halimbawa ng OAuth gamit ang BOSS API.
  • Google OAuth Consumer: PHP code para sa dalawa at tatlong paa na OAuth.
  • OAuth2 Authentication: mag-log in gamit ang Facebook account.
  • Ang Facebook Dialog OAuth Tutorial: isang masusing halimbawa gamit ang PHP at Python.

Advanced na OAuth Coding

Matapos mong ibagsak ang mga pangunahing kaalaman ng OAuth, mayroong isang bilang ng mga paraan na maaari mong magpatuloy upang malaman.

Mga Libro

Kung talagang nais mong makakuha ng seryoso tungkol sa OAuth, dapat kang makakuha ng isang libro tungkol dito. Mayroong isang bilang ng mga ito na nagbibigay ng isang masusing pagpapakilala dito.

  • Pagsisimula sa OAuth 2.0 ni Ryan Boyd: isang napaka-maikling pagpapakilala na sumasaklaw sa karamihan ng mga aspeto ng OAuth, kabilang ang isang seksyon sa mga mobile device.
  • OAuth 2.0: Pagsisimula sa Seguridad ng API ni Matthias Biehl: isa pang maikling libro, na binibigyang diin ang seguridad at pinaghahambing ang OAuth sa OpenID.
  • Mastering OAuth 2.0 ni Charles Bihis: isang masusing pagpapakilala sa mga halimbawa gamit ang pinakamalaking serbisyo.
  • Advanced na Seguridad sa API: Ang pag-secure ng mga API na may OAuth 2.0, OpenID Connect, JWS, at JWE ni Prabath Siriwardena: isang pangkalahatang libro sa seguridad na tumitingin sa iba’t ibang mga bersyon ng iba’t ibang mga protocol.

Mga Online na Forum

Walang magagamit sa mga tuntunin ng pangkalahatang forum sa online tungkol sa OAuth. Sa pangkalahatan, ang mga forum ay nakatuon sa mga tukoy na serbisyo.

  • Stack Overflow OAuth Nai-tag na Artikulo: ang panghuli na site para sa mga katanungan sa pagprograpiya, na puno ng tonelada ng mga taong may kaalaman.
  • Mga Forum ng Getty Image API: impormasyon tungkol sa Getty Images API, ngunit may maraming kapaki-pakinabang na impormasyon.
  • Yahoo! OAuth Modelong Awtorisasyon: pag-access sa Yahoo! Development Network sa pamamagitan ng tool sa paghahanap.

Mga tool sa OAuth

Ang isang bilang ng mga serbisyo ay nagbibigay ng mga tool upang mapadali ang OAuth.

  • OAuth 1.0 Protocol: ang orihinal na protocol.
  • OAuth 2.0: panghuling bersyon ng pagtutukoy pati na rin ang listahan ng mga magagamit na mga aklatan.
  • Paggamit ng OAuth 2.0 upang I-access ang Google API: ang mahusay na mapagkukunan ng Google kasama ang OAuth 2.0 Playground.

Mga Aklatan

Tingnan ang oauth.net para sa isang mas kumpletong listahan ng mga aklatan. Narito ang mga dagdag na kabilang ang ilan para sa OAuth 1.0:

  • PHP.net OAuth: object-oriented na OAuth 1.0 library.
  • OAuth para sa Ruby: isang RubyGem para sa pagpapatupad ng parehong mga kliyente ng OAuth at server.
  • OAuth2 C # aklatan: maraming magagamit na mga C # aklatan.
  • Oauth 1.0.1: Python library para sa OAuth 1.0.

Pagpapatuloy

Dahil ang OAuth ay hindi isang wakas sa sarili ngunit isang tool upang pahintulutan kang magdagdag ng higit na kapangyarihan sa iyong mga programa, malamang na matutunan mo ito sa pamamagitan ng paggawa. Nagpakita kami ng maraming mga mapagkukunan dito upang makapagsimula ka at pahintulutan kang maghukay sa system. Paano mo ito ginagamit.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map