"Prihlásiť sa pomocou Twitter" pomocou Zend Framework

Tým, Steven Lloyd Watkin , vo štvrtok 17.března 2011 01:07

Cez všetky neštebotajú nenávisť v túto chvíľu, som vyrazil vytvoriť novú twitter -založené aplikácie. Byť niekým, kto spravuje viac účtov (osobné i pre moju charitatívnu prácu) som bol, ktorí potrebujú nástroj pre niekedy, že som len ako sa asi na písanie (viac, že ​​v blízkej budúcnosti ...).

Čítal som až na Zend_Oauth_Consumer a ako ich možno použiť na získanie povolenia pre interakciu s twitter pomocou OAuth . Všetko v poriadku a dobre, mám prístupový kľúč a môžem veselo ďalej na post užívateľa menom. Je tu veľa zdrojov tam, ako to urobiť, takže nebudem nudiť ľudí.

Ďalším krokom bolo umožniť ľuďom vrátiť sa na webové stránky, prihláste sa a meniť svoj účet. Toto je miesto, kde som sa dostal malý problém. Pomocou príkladov kódu na webové stránky znamená, že by som si twitter, aby som ťa znovu povolenie na prístup pre každé prihlásenie, nie je dobré. Skenovanie cez rámec som nevidel nič, čo by mi umožnilo práve žiadosť overovania. To nie je povedať, nie je to tam, ale nezdalo sa, že sa mechanizmus autentizácia, ktorý by mohol byť vyvolaný bez znalosti prístupového tokenu už.

Alternatívy, aby prijali miesto-založené prihlásiť, alebo nejako uložiť prístupový token užívateľa na strane klienta (samozrejme šifrované). Ani jeden z týchto zdalo ako dobrý / vhodné riešenie.

Prejdite si žiadosti môj kód, ktorý som vedel, že všetko, čo bolo požadované bola zmena URL, na ktoré Zend_Oauth_Consumer presmerovanie. Zdalo sa, že najjednoduchší spôsob, ako to bolo prepísať authorizationUrl parameter overenie adresy URL z rozechvění. Toto bolo robené takto:

 $ Config = array (
 'CallbackUrl' => ... Callback-url ...
 'SITEURL' => 'https: / / twitter.com / OAuth',
 'ConsumerKey' => ... spotrebiteľ-key ...,
 'ConsumerSecret' => ... tajný kľúč-...,
 );
 $ Spotrebiteľa = new Zend_Oauth_Consumer ($ config);

 $ Token = $ spotrebiteľa-> getRequestToken ();
 / / Pretrvávajú token pre skladovanie
 $ _SESSION ['TWITTER_REQUEST_TOKEN'] = serializovať ($ token);
 $ Spotrebiteľa-> setAuthorizeUrl ('https: / / twitter.com / OAuth / overovať');
 $ Spotrebiteľa-> redirect ();

Na návrat do aplikácie z rozechvění spracujeme odpoveď ako tak:

 $ Token = $ spotrebiteľa-> getAccessToken (
 $ _GET,
 unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN'])
 );

 echo $ token-> USER_ID.  '::'.  $ Token-> screen_name;

Ako si overiť / uložiť overovania je len na vás, ale to by úspešne implementovať 'prihlásiť sa twitter' systém.

Ak niekto vie o presnejšie / viac elegantné riešenie tohto by som sa veľmi zaujíma o vypočutie. Zdá sa, že nedostatok informácií o 'prihlásiť sa twitter' pomocou PHP / Zend Framework na internete

Jedna reakcia na "" Prihláste sa pomocou Twitter "s použitím Zend Framework"

  1. [...] Robil to s službe Twitter a môžete vidieť rýchly kúsok na tom tu - Prihláste sa Twitter používať Zend Framework. Ja som pomocou môjho prevedení, kde som "Reseal URL", kým nemám [...]

Required













Panorama Téma, ktoré Themocracy

8 návštevníkov online teraz
6 osôb, 2 roboty, 0 členov
Max návštevníkov dnes: 12 o 09:44 UTC
Tento mesiac: 26 na 07.05.2011 00:35 UTC
Tento rok: 130 v 28-03-2011 22:40 UTC
Všetky čas: 130 v 28-03-2011 22:40 UTC