"Přihlásit se pomocí Twitter" pomocí Zend Framework
Přes všechny cvrlikat nenávist v tuto chvíli, jsem vyrazil vytvořit novou twitter -založené aplikace. Být někým, kdo spravuje více účtů (osobní i pro mou charitativní práci) jsem byl, kteří potřebují nástroj pro někdy, že jsem jen jak se asi na psaní (více, že v blízké budoucnosti ...).
Četl jsem až na Zend_Oauth_Consumer a jak je lze použít k získání povolení pro interakci s twitter pomocí OAuth . Všechno v pořádku a dobře, mám přístupový klíč a můžu vesele dál na post uživatele jménem. Je tu spousta zdrojů tam, jak to udělat, takže nebudu nudit lidi.
Dalším krokem bylo umožnit lidem vrátit se na webové stránky, přihlaste se a měnit svůj účet. Toto je místo, kde jsem se dostal malý problém. Pomocí příkladů kódu na webové stránky znamená, že bych si twitter, abych tě znovu oprávnění k přístupu pro každé přihlášení, není dobré. Skenování přes rámec jsem neviděl nic, co by mi umožnilo právě žádost ověřování. To není říci, není to tam, ale nezdálo se, že se mechanismus autentizace, který by mohl být vyvolán bez znalosti přístupového tokenu již.
Alternativy, aby přijaly místo-založené přihlásit, nebo nějak uložit přístupový token uživatele na straně klienta (samozřejmě šifrovaná). Ani jeden z těchto zdálo jako dobrý / vhodné řešení.
Projděte si žádosti můj kód, který jsem věděl, že vše, co bylo požadováno byla změna URL, na které Zend_Oauth_Consumer přesměrování. Zdálo se, že nejjednodušší způsob, jak to bylo přepsat authorizationUrl parametr ověření adresy URL z rozechvění. Toto bylo děláno takto:
$ Config = array ( 'CallbackUrl' => ... callback-url ... 'SITEURL' => 'https: / / twitter.com / OAuth', 'ConsumerKey' => ... spotřebitel-key ..., 'ConsumerSecret' => ... tajný klíč-..., ); $ Spotřebitele = new Zend_Oauth_Consumer ($ config); $ Token = $ spotřebitele-> getRequestToken (); / / Přetrvávají token pro skladování $ _SESSION ['TWITTER_REQUEST_TOKEN'] = serializovat ($ token); $ Spotřebitele-> setAuthorizeUrl ('https: / / twitter.com / OAuth / ověřovat'); $ Spotřebitele-> redirect ();
Na návrat do aplikace z rozechvění zpracujeme odpověď jako tak:
$ Token = $ spotřebitele-> getAccessToken ( $ _GET, unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN']) ); echo $ token-> USER_ID. '::'. $ Token-> screen_name;
Jak si ověřit / uložit ověřování je jen na vás, ale to by úspěšně implementovat 'přihlásit se twitter' systém.
Pokud někdo ví o přesnější / více elegantní řešení tohoto bych se velmi zajímá o slyšení. Zdá se, že nedostatek informací o 'přihlásit se twitter' pomocí PHP / Zend Framework na internetu


















































[...] Dělal to s službě Twitter a můžete vidět rychlý kousek na tom tady - Přihlaste se Twitter používat Zend Framework. Já jsem pomocí mého provedení, kde jsem "Autorizovat URL", dokud nemám [...]