"Zaloguj się na Twitter" przy użyciu Zend Framework

W Steven Lloyd Watkin , czwartek 17 marca 2011 01:07

Mimo twitter nienawiść w momencie, mam na celu stworzenia nowej twitter aplikacja. Jako ktoś, kto zarządza kilka kont (zarówno osobiste, jak i dla mojej działalności charytatywnej) Byłem potrzeby narzędzie kiedyś, że jestem po prostu poruszać się do pisania (więcej o tym w niedalekiej przyszłości ...).

Czytałem się na Zend_Oauth_Consumer i jak można je wykorzystać do uzyskania zezwolenia na interakcję z twitter przy OAuth . Wszystko dobrze, mam swój klucz dostępu i mogę wesoło po hotelu w imieniu użytkownika. Istnieje mnóstwo zasobów tam to zrobić tak, nie będę Cię nosiło osób.

Następnym krokiem było, aby umożliwić ludziom powrót do strony, zaloguj się i modyfikować swoje konto. To jest, gdzie osiągnęła niewielki problem. Korzystanie przykłady kodu na stronach internetowych oznacza, że ​​będę musiał twitter mnie z prośbą o ponowne dopuszczenie do dostępu dla każdego użytkownika nie, to dobrze. Skanowanie przez ramy nie widziałem niczego, co pozwoliłoby mi tylko żądania uwierzytelnienia. To nie znaczy, jej nie ma, ale nie wydaje się być mechanizm uwierzytelniania, które mogą być uruchamiane bez wiedzy tokenu dostępu już.

Alternatywy do wykonania witryny oparte Zaloguj się lub w jakiś sposób zapisać token dostępu użytkownika na kliencie (oczywiście zaszyfrowany). Żadna z tych wydawało się, że rozwiązanie dobre / odpowiednie.

Po spojrzeć na wnioski złożone przez mój kod Wiedziałem, że wszystko, co było wymagane było, aby zmienić adres, do którego Zend_Oauth_Consumer przekierowań. Wydawało się, że najprościej zrobić to, aby zastąpić authorizationUrl parametru z URL uwierzytelniania Twitter. Dokonano tego w następujący sposób:

 $ Config = array (
 "CallbackUrl '=> ... callback-url ...
 "SITEURL '=>' https: / / twitter.com / OAuth"
 "ConsumerKey '=> ... konsumenta-key ...
 "ConsumerSecret '=> ... z tajnym kluczem ...
 );
 $ = New Zend_Oauth_Consumer konsumentów ($ config);

 $ Token = $ konsumentów> getRequestToken ();
 / / Utrzymują token do przechowywania
 $ _SESSION ['TWITTER_REQUEST_TOKEN'] = serialize ($ token);
 $ Konsumentów> setAuthorizeUrl ("https: / / twitter.com / OAuth / uwierzytelnienia ');
 $ Konsumentów-> redirect ();

Po powrocie do stosowania z twitter nam się odpowiedzi w celu:

 $ Token = $ konsumentów> getAccessToken (
 $ _GET,
 unserialize ($ _SESSION ['TWITTER_REQUEST_TOKEN'])
 );

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

Jak sprawdzić poprawność / przechowywać uwierzytelniania należy do Ciebie, ale to powinno skutecznie wdrożyć "zaloguj się twitter" systemu.

Jeśli ktoś zna bardziej poprawne / bardziej eleganckie rozwiązanie tego byłbym bardzo zainteresowani. Wydaje się, że brak informacji na temat "zaloguj się twitter 'za pomocą PHP / Zend Framework w internecie

Jedna odpowiedź do "" Zaloguj się na Twitter "przy użyciu Zend Framework"

  1. [...] Robią to z serwisem Twitter i widać to szybkie kawałek na tym tutaj - Zaloguj się na Twitter użyciu Zend Framework. Używam mojego wykonania, gdzie ustawić "URL Autoryzacja", jak nie [...]

Zostaw odpowiedź













Panorama tematu przez Themocracy

4 użytkowników online
3 gości, 1 boty, 0 użytkowników
Maksymalna ilość odwiedzających dziś: 17 na 20:54 UTC
W tym miesiącu: 26 z 05.7.2011 00:35 UTC
W tym roku: 130 w 28-03-2011 22:40 UTC
Cały czas: 130 w 28-03-2011 22:40 UTC