OAuth / Twitter Auth Adapter għall Qafas Zend
Il-ħidma tkompli (bil-mod) fuq tiegħi ġodda Twitter ibbażat it-talba '. Matul il-koppja li jmiss ta 'festi pubbliċi jien nittama li jiksbu l-momentum jmorru mill-ġdid dwar il-proġett (fl-minkejja l-temp mill-isbaħ fil-preżent). Xorta waħda, il-kompitu tiegħi li jmiss kien li joħloq adapter għall-awtentikazzjoni ta 'Qafas Zend . Kelli implimentazzjoni login tax-xogħol, iżda li jkollhom tnaqqis fil-adapter Auth għall Zend Qafas dehret qisha proposta attraenti, so I maħluqa minnha ....
(Jien mhux se jgħaddu OAuth jew jirreġistraw l-applikazzjoni tiegħek ma twitter, hemm mijiet ta 'gwidi u ġust tagħha proċess xorta sempliċi a.)
Id-differenza bejn OAuth u l-adapters authenication oħra fil-Qafas Zend hija li OAuth teħtieġ ridirezzjonar quddiem u lura bejn il-fornitur OAuth u s-server titlob mill-klijent. Għalhekk il-proċess mhux daqshekk dritta 'l quddiem bħala sempliċement tfittex xi dettalji fid-database jew iċċekkjar headers talba. Fortunatament il-komponenti ta 'Qafas Zend, bħal Zend_Oauth_Consumer , tieħu ħafna mill-uġigħ bogħod u l-impjieg tagħha biss ta 'l-adapter awtoritajiet li jagħmlu l-sejħiet metodu meħtieġ.
Għal gwida għall-użu Zend_Auth u l-awtentikazzjoni jwettqu ma Zend Qafas għandhom tfittxija fuq google, jew check out dan tutorja minn Matthew WEIER O'Phinney - Login u awtentikazzjoni .
Usage
Sabiex tuża l-adapter awtentikazzjoni li għandek bżonn tgħaddi żewġ oġġetti fil permezz tal-kostruttur. L-ewwel huwa każ ta 'Zend_Oauth_Consumer stabbilit għall-fornitur OAuth tiegħek. Stajt kont qed tagħmel dan bil-servizz Twitter u tista 'tara biċċa malajr fuq li hawn - Sinjal ma Twitter jużaw Zend Qafas . I'm jużaw implimentazzjoni tiegħi skond fejn jien tistabbilixxi l-"URL Awtoriżża" bħala Ma rridx utent li jkun mitlub biex jagħti permess biex l-applikazzjoni kull darba jippruvaw login. Il-parametru tieni huwa każ ta 'Zend_Session_Namespace li huwa instantiated mal-namespace li fiha tixtieq li tqiegħed id-dettalji awtentikazzjoni. Fil-kodiċi tiegħi għandi xi ħaġa bħal dawn li ġejjin:
$ Konfigurazzjoni = array ( "CallbackUrl" => ... callback-url ..., "SiteUrl" => "https: / / twitter.com / OAuth", "ConsumerKey" => ...-konsumatur ewlenin ..., "ConsumerSecret" => ... sigrieti-ċavetta ..., ); $ Konsumatur = Zend_Oauth_Consumer ġodda ($ konfigurazzjoni); setAuthorizeUrl $ konsumatur> ("https: / / twitter.com / OAuth / jawtentikaw '); $ = Sessjoni Zend_Session_Namespace ġdid (Pro_Auth_Adapter_Twitter:: AUTH_NAMESPACE); $ AuthAdapter = Pro_Auth_Adapter_Oauth ġodda ($ konsumatur, $ sessjoni);
Sejħat ->authenticate() fuq l-adapter mbagħad se jikkawżaw direzzjoni ġdida lill-fornitur OAuth (għal darb'oħra fil-każ tiegħi Twitter). Fuq jirritornaw għall-applikazzjoni l tieni sejħa għall- ->authenticate() fil-fatt se jwettaq l-awtentikazzjoni innifsu.
Jekk inti xtaqu li l-utent li jirritornaw għall-paġna initally mitluba u sakemm l-istatus awtentikazzjoni tiegħek hija kkontrollata fuq kull talba mbagħad sempliċement tistabbilixxi parametru "callBackUrl" xieraq fil-ħin tat-tagħbija se tikseb l-utent għad-destinazzjoni oriġinarjament maħsuba tagħhom.
Karatteristika waħda aħħar I miżjud kien il-ħila biex tibgħat parametri addizzjonali bl-użu addParameter() u setParameters() metodi. Żieda din il-funzjonalità tippermetti li tintbagħat addizzjonali IKOLLOK parametri meta jagħmel il-bidu direzzjoni ġdida lill-fornitur OAuth. Fil-każ tiegħi, dan jippermetti lili li jgħaddu minn firxa ma 'ċavetta ta' "force_login" u l-valur ta 'veru li l-forzi Twitter nitolbok login għal darb'oħra (anki jekk diġà illoggjat) li hija kbira għall-kunsiderazzjoni marbuta ma' applikazzjonijiet multi.
Il-kodiċi huwa disponibbli fuq repo GitHub tiegħi - OAuth adapter awtoritajiet għall Zend kodiċi ta 'Qafas (kummenti jilqgħu!).
Edit: Dehra xi ħadd ieħor kien il-każ ukoll. Għall ieħor implimentazzjoni jekk jogħġbok ara http://www.jasonawesome.com/2010/11/24/authenticating-to-twitter-with-zend_auth/


















































