Oauth / Adapter Auth Twitter le haghaidh Creat-Zend

De réir Watkin Lloyd Steven , Dé Sathairn 23 Aibreán, 2011 15:57

Leanann an Obair (mall) ar mo nua Twitter -iarratas bunaithe. Thar an chéad chúpla lá saoire bainc Tá súil agam a fháil ar an móiminteam ag dul arís ar an tionscadal (i-ainneoin an aimsir iontach faoi láthair). Mar sin féin, tasc eile a bhí agam a chruthú adapter fíordheimhnithe don Chreat Zend . Bhí mé ag obair chun feidhme logáil isteach, ach a bhfuil titim i adapter Auth le haghaidh Creat-chuma Zend cosúil le togra tarraingteach, agus mar sin a chruthaigh mé é ....

(Níl mé ag dul chun dul tríd Oauth nó le clárú le d'iarratas twitter, níl na céadta treoracha agus a cuid próiseas casta go cothrom cibé ar bith.)

Muinín Bain sult as do Thomhaltóirí

Is é an difríocht idir Oauth agus an adapters authenication eile sa Chreat Zend go n-éilíonn Oauth redirecting anonn is anall idir an soláthraí oauth agus ar an bhfreastalaí iarraidh ag an chliaint. Dá bhrí sin, nach bhfuil an próiseas leor mar díreach ar aghaidh chomh simplí agus ag breathnú suas roinnt sonraí i mbunachar sonraí nó do sheiceáil ceanntásca iarraidh. Fortunately na comhpháirteanna Zend Chreat, mar shampla Zend_Oauth_Consumer , a ghlacadh i bhfad ar shiúl agus an phian a díreach an post ar an adapter údaráis glaonna a dhéanamh ar an modh is gá.

Chun treoir ar úsáid a bhaint as Zend_Auth agus fíordheimhnithe ag feidhmiú le Creat Zend bhfuil cuardach ar Google, nó seiceáil amach an teagaisc ag Matthew Weier O'Phinney - Logáil isteach agus Fíordheimhnithe .

Úsáid

D'fhonn úsáid a bhaint as an adapter fíordheimhnithe de dhíth ort chun pas a dhá rud i tríd an constructor. Is é an chéad bhfuil drochriarachán i Zend_Oauth_Consumer chur ar bun le haghaidh do sholáthraí Oauth. Bainim seo a dhéanamh le seirbhís Twitter agus is féidir leat a fheiceáil ar an píosa mear anseo - Cláraigh i le Twitter ag baint úsáide as Zend Creat . Tá mé ag baint úsáide as mo chur i bhfeidhm nuair a leag mé an "údarú URL" mar nach bhfuil mé ag iarraidh úsáideora go n-iarrfaí cead a thabhairt do chur i bhfeidhm gach uair iarracht iad a logáil isteach. Is é an dara paraiméadar bhfuil drochriarachán i Zend_Session_Namespace go bhfuil instantiated leis an ainmspás isteach ar mian leat chun na sonraí fíordheimhnithe. I mo cód tá mé rud éigin cosúil leis an méid seo a leanas:

  $ Cumraíochta = eagar (
     'CallbackUrl' => ... thug an-url ...,
     'SiteUrl' => "https: / / twitter.com / oauth ',
     'ConsumerKey' => ... tomhaltóir-eochair ...,
     'ConsumerSecret' => ... rúnda-eochair ...,
 );
 $ Tomhaltóra = Zend_Oauth_Consumer nua ($ cumraíochta);
 setAuthorizeUrl $ tomhaltóir-> ('https: / / twitter.com / oauth / authenticate');
 $ Seisiún = Zend_Session_Namespace nua (Pro_Auth_Adapter_Twitter:: AUTH_NAMESPACE);
 $ AuthAdapter = Pro_Auth_Adapter_Oauth nua ($ tomhaltóirí, $ seisiún); 

Calling ->authenticate() an adapter beidh ar chúis ansin a athdhíriú ar an soláthraí Oauth (arís i mo chás Twitter). Ar ais go dtí an t-iarratas ar an dara glao a ->authenticate() déanfar iarbhír an fíordheimhnithe féin.

Dá mba mhian leat an t-úsáideoir a thabhairt ar ais go dtí an leathanach initally iarradh ar fáil ansin é do stádas fíordheimhniú ar gach iarratas a sheiceáil ansin a leagan síos ach an t-iomchuí 'callBackUrl' paraiméadar ag am ualach a bheadh ​​a fháil ar an úsáideoir a gceann scríbe atá beartaithe ar dtús.

caite agam gné amháin a cuireadh an cumas a sheoladh paraiméadair bhreise ag baint úsáide as an addParameter() agus setParameters() modhanna a roghnú. Nuair a chuirfear an fheidhmiúlacht seo is féidir an seoladh na paraiméadair bhreise a fháil nuair a dhéanamh ar an gcéad atreorú chuig an soláthraí Oauth. I mo chás féin, is féidir liom seo chun pas a eagar le príomh 'force_login' agus luach fíor a fórsaí Twitter a iarraidh tú logáil isteach arís (fiú amháin má logáilte isteach cheana féin i) ina bhfuil mór-chuntas iarratais nasctha-il.

Tá an cód ar fáil ar mo repo GitHub - Oauth adapter údarás don chód Zend Creat (tuairimí fáilte!).

Edit: Breathnaíonn mhaith duine éigin eile curtha ar an cás chomh maith. I gcás eile, féach le do thoil chun feidhme http://www.jasonawesome.com/2010/11/24/authenticating-to-twitter-with-zend_auth/

Leave a Reply













Lánléargas Téama Themocracy

10 cuairteoirí ar líne anois
5 aíonna, 5 bots, 0 baill
Tá 16 ag 12:39 UTC: Max cuairteoirí an lae inniu
An mhí seo: 26 ag 2011/07/05 12:35 UTC
I mbliana: 130 ag 28-03-2011 22:40 UTC
Gach uair: 130 ag 28-03-2011 22:40 UTC