Идентификация OAuth в Твиттере - PullRequest
1 голос
/ 16 февраля 2011

Итак, я пытаюсь разрешить своим клиентам войти в систему через Twitter и просто Twitter.

В Твиттере написано: «Никогда не следует хранить пароль для своих пользователей», но как я собираюсь повторно аутентифицировать своих пользователей с помощью API твиттеров?

Если я отправлю пользователя в твиттер после того, как он удалил свою сессию, твиттер снова спросит пользователя, хотят ли они предоставить доступ к моему приложению.

Возможно ли вообще иметь бесшовную интеграцию с учетными записями в Твиттере, никогда не сохраняя данные локальных пользователей?

EDIT

Похоже, вопрос не совсем ясен. То, что я испытал, например, http://forum.jquery.com/. Они используют OpenID. Я нажимаю «Войти через Google». Я перенаправлен в Google. Google запоминает, что я однажды получил доступ к Zoho и мгновенно отправляет меня обратно на forums.jquery.com, на этот раз с access_token для zoho, чтобы аутентифицировать меня. У меня нет постоянных данных с Zoho. И все же они могут войти в систему.

Твиттер с OAuth делает следующее. Пользователь заходит на мой сайт, нажимает кнопку «Войти через твиттер» и перенаправляется в твиттер. Твиттер спрашивает их снова , хотят ли они предоставить приложению доступ к своим данным. Вместо немедленного перенаправления гугл делает.

Возможно ли в твиттере немедленно перенаправить пользователя ко мне. Есть ли обстановка для меня, я пропускаю.

Ответы [ 6 ]

3 голосов
/ 02 марта 2011

Отправка пользователей на https://api.twitter.com/oauth/authenticate вместо https://api.twitter.com/oauth/authorize. Если пользователь уже вошел в Twitter и ранее прошел проверку подлинности в вашем приложении, они будут перенаправлены без запроса разрешения / отказа.

2 голосов
/ 16 февраля 2011

То, что вы храните в Твиттере, это TOKEN пользователя и SECRET пользователя. Эти значения выдаются Twitter (или любым oauth-провайдером), когда вы находитесь в процессе oauth-аутентификации.

Вы можете получить представление об этой библиотеке на PHP:

https://github.com/abraham/twitteroauth

Или этот в Ruby:

https://github.com/jnunemaker/twitter

Процесс довольно прост после того, как вы попробовали с любым реальным примером. Это совсем не сложно.

Здесь также есть несколько хороших скринкастов:

http://railscasts.com/episodes/241-simple-omniauth

http://railscasts.com/episodes/235-omniauth-part-1

http://railscasts.com/episodes/236-omniauth-part-2

1 голос
/ 23 апреля 2011

У меня была именно эта проблема, и я решил ее с помощью метода setAuthorizedUrl - подробнее см. Здесь http://www.evilprofessor.co.uk/359-sign-in-with-twitter-using-zend-framework/

1 голос
/ 16 февраля 2011

Вы на самом деле читали API?

Прочитайте страницу Getting Started , вы не храните пароли, вы храните токены доступа для пользователя. И если вы хотите, чтобы люди вошли в систему и зарегистрировались, вам придется хранить некоторые данные; -)

0 голосов
/ 21 февраля 2011

Кристианские комментарии - это то, что я искал.

Вы должны сохранить эти значения в любом постоянном хранилище, в противном случае вашим пользователям всегда нужно будет снова заходить в Twitter.

Жаль, что твиттер не распознает, что пользователи уже разрешили мое приложение и перенаправляет автоматически

0 голосов
/ 19 февраля 2011

Этот урок может быть полезным для вас.

Twitter API для подключения с использованием oAuth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...