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