Persist Twitter OAuth сессия - PullRequest
       29

Persist Twitter OAuth сессия

4 голосов
/ 09 января 2010

У меня есть веб-приложение Twitter, которое позволяет пользователям отправлять твиты с моего сайта. Однако они должны повторно войти в систему каждый раз, когда они отправляют новый твит. Есть ли способ сохранить сеанс OAuth и не запрашивать экран входа в систему, пока пользователи не очистят кеш браузера?

Ответы [ 5 ]

4 голосов
/ 06 июля 2010

Вам нужно хранить oauth_token, вы можете использовать его для всех запросов.

В FAQ по API Twitter

Сколько длится токен доступа?

У нас в настоящее время нет срока действия доступа жетоны. Ваш токен доступа будет недействителен, если пользователь явно отклоняет ваше приложение из их настроек или если администратор Twitter приостанавливает ваш приложение. Если ваша заявка приостановлено будет записка на вашем Страница приложения, сообщающая, что она имеет было приостановлено.

4 голосов
/ 09 января 2010

Когда вы получите обратный вызов из Twitter после того, как пользователь подтвердил вас, вы получите auth_token в заголовках запроса; вы должны кешировать этот токен и предоставлять его каждый раз, когда пользователь делает запрос.

Похоже, вы не кэшируете этот токен и не предоставляете его, когда пользователь делает запрос.

1 голос
/ 19 апреля 2010

Вам нужно хранить два токена.

Когда вы делаете запрос OAuth в первый раз, он показывает экран авторизации Twitter. После авторизации ваша страница обратного вызова OAuth получит два параметра строки запроса: «oauth_token» и «oauth_token_secret» для пользователя. Вы должны хранить их (вероятно, в базе данных) где-то.

Затем, когда вы снова запросите разрешение OAuth в Twitter, отправьте два токена, и пользователь автоматически авторизуется.

Тебе не нужно кодировать это самостоятельно. Существует множество библиотек OAuth.

1 голос
/ 09 января 2010

вам нужны таблицы базы данных с именами user и user_tokens. Внутри пользователя у вас есть: id, user_oauth_secret, user_oauth_token. Внутри user_token вам нужны следующие столбцы: id, user_id, токен, создан, срок действия истекает. убедитесь, что этот токен является уникальным (и длинным) со случайным хешем. Теперь вы можете сохранить этот токен в cookie пользователя и позже найти нужные данные oauth.

0 голосов
/ 10 января 2010

Вы должны поддерживать длительный сеанс с пользователем и сохранять токены доступа. Файлы cookie обычно используются для распознавания пользователей.

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