Я реализовал oAuth в php (в настоящее время для твиттера), и, как я прочитал в нескольких уроках, вы должны хранить токен доступа в db для будущего использования. Однако я не понимаю, как вы узнаете, есть ли у вас токен доступа, сохраненный для конкретного пользователя, чтобы решить, следует ли вам извлечь его из БД или восстановить его. Вот поток, описывающий мой вопрос:
Впервые пользователь входит в систему:
- получить токен запроса
- отправить пользователя на страницу аутентификации провайдера
- пользователь возвращается к URL обратного вызова с токеном oauth и верификатором oauth
- получить токен доступа
- сохранить токен доступа / идентификатор_пользователя / имя_экран в БД для дальнейшего использования
Пользователь возвращается через 10 минут:
- токен доступа все еще находится в сеансах сервера, если пользователь не вышел из системы. иначе повторите процесс.
Пользователь возвращается через 1 месяц:
- получить токен запроса
- отправить пользователя на страницу аутентификации провайдера
- пользователь возвращается к URL обратного вызова с токеном oauth и верификатором oauth
- (на данный момент у меня есть только oauth-токены, как я могу узнать, если пользователь ранее вошел в систему с помощью твиттера и вытащил свой токен доступа из БД?)
- , если это первый логин пользователя, сгенерировать токен доступа.
Основной рабочий процесс для oAuth понятен, однако неясно, как обрабатывать возвращающихся пользователей и какие данные хранить или нет.
Миллион спасибо!