Если токен доступа в oAuth генерируется каждый раз, когда пользователь входит в систему?

Я реализовал oAuth в php (в настоящее время для twitter), и, как я читал в нескольких руководствах, вы должны хранить токен доступа в db для будущее использование. Однако я не понимаю, как вы узнаете, есть ли у вас токен доступа, хранящийся для конкретного пользователя, чтобы решить, следует ли вытащить его из базы данных или восстановить его.Вот поток, описывающий мой вопрос:

Первый вход пользователя в систему:

  • получить токен запроса
  • отправить пользователя на страницу аутентификации провайдера
  • пользователь возвращается на URL-адрес обратного вызова с токеном oauth и верификатором oauth
  • получить доступ токен
  • сохранить токен доступа / user_id / screen_name в базе данных для будущего использования

Пользователь возвращает через 10 минут:

  • токен доступа все еще находится в переменных сеанса сервера, если пользователь не вышел из системы. в противном случае повторите процесс.

Пользователь возвращает 1 месяц спустя:

  • получить токен запроса
  • отправить пользователя на страницу аутентификации провайдера
  • пользователь возвращается на URL-адрес обратного вызова с токеном oauth и верификатором oauth
  • (на данный момент у меня есть только токены oauth , как я могу узнать, был ли пользователь ранее авторизован через twitter и вытащил свой токен доступа из базы данных?)
  • если это первый логин пользователя, сгенерируйте токен доступа.

Основной рабочий процесс для oAuth ясен, однако неясно, как обрабатывать возвращающихся пользователей и какие данные следует хранить или нет.

Миллион благодарностей!

10
задан Juank 7 October 2011 в 04:27
поделиться