пользователь вынужден каждый раз авторизовывать мое приложение

Я использую tweepy API для oauth: http://packages.python.org/tweepy/html/auth_tutorial.html#oauth-authentication

В первый раз пользователя просят авторизовать мое приложение. Но со второго раза я не хочу, чтобы пользователя просили снова авторизовать мое приложение.

В учебнике говорится

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

auth.access_token.key

auth.access_token.secret


Я планирую хранить ключ access_token и секрет сеанса. Когда пользователь использует мое приложение во второй раз, я просто использую access_token, поэтому пользователю не придется снова авторизовывать мое приложение.

Однако ПРОБЛЕМА В том, что происходит, когда многие пользователи твиттера используют мое приложение, как я могу узнать, какой access_token принадлежит какому пользователю.

Надеюсь, мой вопрос понятен.

  1. Остановите твиттер, чтобы заставить пользователя авторизовать мое приложение во второй раз.

  2. если мне нужно сохранить access_token для решения (1), как я могу узнать, какой access_token принадлежит какому пользователю.


person John    schedule 06.02.2013    source источник


Ответы (1)


Вам необходимо реализовать управление сеансом в своем веб-приложении и связать идентификаторы сеанса с вашей пользовательской моделью, в которой хранится информация для аутентификации. Вы не говорите, какой язык вы используете, но если вы используете инфраструктуру Ruby on Rails, то управление сеансом выполняется легко. Я рекомендую гем Devise с omniauth-twitter (https://github.com/arunagw/omniauth-twitter).

person Paul Watson    schedule 08.02.2013
comment
Он использует Tweepy, это означает, что он пытается решить проблему с помощью Python. - person Ketouem; 27.02.2013