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