Понимание OAuth и клиентских сессий - PullRequest
0 голосов
/ 10 марта 2011

Я изучаю OAuth с целью предоставить посетителям моего сайта возможность входить в систему через Twitter.Я использую основанную на Python библиотеку oauth2 в качестве учебного пособия, и я думаю, что получаю большую ее часть.

Я понимаю, что после того, как пользователь проходит аутентификацию с помощью сервиса (в данном случае Twitter), пользователь отправляетсяна URL обратного вызова с параметрами oauth_token и oauth_verifier.

Что я не понимаю, так это правильный способ хранения этой информации в браузере пользователей.Как определить эти значения при последующих запросах?Требуется ли создавать систему сессий, как с обычным веб-сайтом, или в OAuth есть какая-то магия, которая делает это ненужным?

Ответы [ 2 ]

3 голосов
/ 10 марта 2011

Как вы обрабатываете клиентские сеансы людей, которые посещают ваш веб-сайт, OAuth не распространяется на вас (и обычные рамки управления сеансами).

Все, что делает OAuth, это говорит вам, что пользователь действительно является пользователем Twitter, которым он себя утверждает. Затем вы можете связать эту часть информации с сеансом пользователя на вашем сайте (так же, как если бы экран входа был на вашей странице).

1 голос
/ 10 марта 2011

В твиттер-API есть два типа oauth_token и oauth_verifier

сначала это токен запроса , который всегда отличается в каждом процессе, который можно сохранить в сеансе, используя getRequestToken метод

Я говорю в представлении PHP, но логика одинакова на любом языке. /

* Get request token */
$request_token = $connection->getRequestToken(OAUTH_CALLBACK);

/* Save request token to session */
$_SESSION['oauth_token'] = $token = $request_token['oauth_token'];
$_SESSION['oauth_token_secret'] = $request_token['oauth_token_secret'];

другой - accesstoken: , который получен методом getAccessToken

 $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']);

Array
(
    [oauth_token] => 223961574-mEctH7SHai######
    [oauth_token_secret] => G7Buyxn4okF31Ln3ulAh#####
    [user_id] => 223961574
    [screen_name] => ltweetl
)

эти токены такие же, как в вашем зарегистрированном приложении в твиттере

и уже указано на странице ниже ...

http://dev.twitter.com/apps/{your_app_id}/my_token.

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