"Увійдіть у систему з Twitter" з використанням Zend Framework

За Стівен Ллойд Уоткін , четвер 17 березня 2011 1:07 ранку

Незважаючи на всі Twitter ненависті в даний момент, я вирішив створити нову Twitter -додатки. Будучи людиною, яка управляє декількома рахунками (як особисті, так і для моєї благодійної діяльності) Я був потребують інструмент для колись, що я просто обійти в письмовій формі (більше того, що в найближчому майбутньому ...).

Я читав на Zend_Oauth_Consumer і як він може бути використаний для отримання дозволу для роботи з Twitter використанням ООТ . Все добре, у мене є ключ доступу, і я можу весело повідомленням геть від імені користувача. Там є багато ресурсів, там, щоб зробити це так, я не буду втомлювати людей.

Наступним кроком було, щоб дозволити людям повернутися на веб-сайті, увійти в систему і змінити свій рахунок. Тут я досяг невелика проблема. Використання прикладів коду на веб-сайтах означало, що я б Twitter просити у мене дозволу доступу для кожного знову Увійти, не добре. Сканування через рамки я не міг бачити нічого, що дозволило б мені просто запитати аутентифікацію. Це не значить, її не існує, але, здавалося, не буде механізму перевірки автентичності, які можуть бути викликані не знаючи маркер доступу вже.

Альтернативи для реалізації на основі сайтів увійдіть або якось зберігати доступу користувачів маркер на клієнта (з шифруванням, звичайно). Жоден з цих, здавалося, як хороше / відповідне рішення.

Маючи вид на прохання моїх код, який я знав, що все, що потрібно було змінити URL якої Zend_Oauth_Consumer перенаправлення. Здавалося, найпростіший спосіб зробити це, щоб перевизначити authorizationUrl параметра перевірки автентичності URL з Twitter. Це було зроблено таким чином:

 $ Конфігурації масиву = (
 "CallbackUrl '=> ... зворотного виклику URL-...,
 "SITEURL '=>' HTTPS: / / twitter.com / ООТ,
 "ConsumerKey '=> ... споживчих ключ ...,
 "ConsumerSecret '=> ... секретним ключем ...
 );
 $ Споживачів = новий Zend_Oauth_Consumer ($ конфігурації);

 $ Маркер = $ споживачів> getRequestToken ();
 / / Зберігаються маркер для зберігання
 $ _SESSION ['TWITTER_REQUEST_TOKEN'] = серіалізациі ($ маркер);
 $ Споживачів> setAuthorizeUrl ('HTTPS: / / twitter.com / ООТ / аутентифікації');
 $ Споживачів> перенаправлення ();

Після повернення до додатків Twitter ми обробляємо відповідь, як так:

 $ Маркер = $ споживачів> getAccessToken (
 $ _GET,
 десеріалізіруются ($ ['TWITTER_REQUEST_TOKEN'] _SESSION)
 );

 Ехо $ маркера> user_id.  '::'.  $ Маркера> screen_name;

Як ви активізуєте / магазин аутентифікації залежить від вас, але це має успішно реалізувати "Увійти з Twitter" системи.

Якщо хто-небудь знає більше правильний / більш елегантне рішення цієї я був би дуже цікаво почути. Там, здається, відсутність інформації про "Увійти з Twitter" використанням PHP / Zend Framework в Інтернеті

Один відповідь на "Увійти з Twitter" з використанням Zend Framework "

  1. [...] Робив це з сервіс Twitter, і ви можете бачити швидкий частину на що тут - Увійдіть у Twitter з використанням Zend Framework. Я використовую мій реалізації, де я поставив "Авторизація URL", як я не [...]

Написати відповідь













Панорама Тема Themocracy

5 відвідувачів онлайн
3 гостей, 2 ботів, 0 користувачів
Макс відвідувачів сьогодні: 14 в 12:11 UTC
У цьому місяці: 26 в 07-05-2011 12:35 ранку UTC
У цьому році: 130 в 28-03-2011 10:40 вечора UTC
За весь час: 130 в 28-03-2011 10:40 вечора UTC