2009-12-16 4 views
0

Я пытаюсь использовать/понимать механизм токена запроса Google. Я намерен использовать его для приложения, которое я начал разрабатывать для доступа к данным Orkut, используя OpenSocial API.Маркер запроса OAuth для установленного приложения

Я прочитал это document, в котором объясняются шаги по получению токена для установленного приложения. В этом документе вам предлагается использовать метод OAuthGetRequestToken из API Google OAuth для получения маркера запроса. Доступ к руководству этой функции (available here). Но параметр oauth_consumer_key, который требуется, запрашивает «Домен, определяющий стороннее веб-приложение», но Я не имею домена, это установленное приложение.

Итак, мой вопрос в том, что мне следует включить в этот параметр?

Я использую oauth_playground для запуска моих тестов.

Thx

+0

Вы зарегистрировали свое приложение в Google? – Grace

+0

Я этого не делал. Насколько я знаю, это делается только для веб-приложений (имеющих домен). В моем случае это локальное приложение, установленное на пользовательском компьютере. – Andres

ответ

1

Из того, что я прочитал в документации, следующая инструкция на получение маркера запроса означает, что вы просто передать «анонимный» в качестве ключа потребителя ...

«установлен 1.The приложение связывается с сервисом авторизации Google, запрашивая токен запроса для одного или нескольких сервисов Google. Запрос подписывается с использованием «анонимного» ключа/секретного ключа. (OAuthForInstalledApps)

+0

Да, я уже читал об этом и пытался проверить его с помощью игровой площадки oauth (http://googlecodesamples.com/oauth_playground/). Он работает с областями, такими как Open Social, но не с Orkut, который я пытаюсь использовать. Но все равно спасибо – Andres

0

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

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

Приложение затем будет использовать любой механизм для запуска внешнего браузера, указав его на yourdomain.com/authorizestart.php?initiate=[initate code]. Сайт хранит код в переменной сеанса, а затем отправляет пользователя в Google для аутентификации. Когда аутентификация будет успешной, и Google отправит пользователя обратно с помощью следующего токена, вы сохраните его в записи базы данных, связанной с ключом инициации.

пользователь закрывает браузер, нажимает кнопку «Готово» в вашем приложении, а затем приложение отправляет запрос на yourdomain.com/tokenretrieve.php?authorize=[authorize ключ]

Ваш сайт смотрит токен Google и передает его обратно, приложение завершает процесс Oauth.

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