Java OAuth получить идентификатор пользователя - PullRequest
0 голосов
/ 26 марта 2012

Я создал веб-приложение, которое использует 3-х сторонний OAuth для доступа к API контактов пользователя.В конце процесса я получаю access_token и access_token_secret, которые сохраняю в базе данных вместе с user_id (электронная почта пользователя).

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

Есть ли способполучить user_id до аутентификации пользователя.

Для аутентификации я использую код отсюда: http://code.google.com/appengine/articles/java/retrieving_gdata_feeds.html

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Зависит от ресурса, защищенного OAuth. Обычно, если есть целевой user_id, вы можете получить его путем дополнительного вызова службы RESTful.

Например, в Google+ у вас будет что-то подобное (используя мою G + оболочку ):

String userId = plus.getPeopleOperations().get("me").getId();
1 голос
/ 26 марта 2012

В фоновом режиме посетите страницу (\me?access_token=), используя сохраненный токен доступа.Если токен все еще действителен, вы получите ответ без ошибок.Если токен больше не действителен, вы получите OAuthException в качестве ответа.

get userData with old access token 

if exception is thrown => Redo authentication process
else => continue with old token
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...