Токен запроса OAuth для установленного приложения - PullRequest
0 голосов
/ 16 декабря 2009

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

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

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

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

Thx

Ответы [ 2 ]

1 голос
/ 17 декабря 2009

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

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

0 голосов
/ 03 апреля 2010

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

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

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

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

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

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

...