Google Buzz & OAuth - проблема с перенаправлением - PullRequest
0 голосов
/ 03 августа 2010

Надеюсь, это не слишком сложно. :) вещь ..

Я пытаюсь сделать свои записи PHP-кода в Google Buzz, используя OAuth в качестве механизма аутентификации. Я делаю типичный "танец OAuth" (получить токен запроса, авторизовать его, обменять на токен доступа), но столкнулся с некоторыми проблемами, которые, похоже, на стороне Google. Надеюсь, я ошибаюсь - это будет гораздо проще исправить. :)

Чтобы добраться до сути - параметр oauth_callback, похоже, не передается в форму авторизации. URI авторизации, на который я перенаправляю, выглядит так:

https://www.google.com/buzz/api/auth/OAuthAuthorizeToken
?domain=<my.domain>
&scope=<urlencode(https://www.googleapis.com/auth/buzz)>
&oauth_token=<request_token>
&oauth_callback=<my.domain/callback>

При перенаправлении клиенту предлагается авторизовать сайт для чтения / записи из / в Buzz. В случае принятия Google снова просит (но в другой форме) разрешить доступ .. после повторного разрешения отображается сообщение об успехе, но оно не возвращает никаких токенов на мой сайт, не перенаправляя на oauth_callback uri.

Обходной путь, который я нашел, состоит в том, чтобы вручную добавить поле формы 'oauth_callback =' через инспектор firebug / chrome, а затем, после этих двух подтверждений, он перенаправляет на мой сайт, и я могу извлечь авторизованный токен из ответа и обменять его на токен доступа. Если я использую «стандартную» конечную точку авторизации Google, меня перенаправляют правильно (только одно подтверждение), но после этого полученный мной токен недействителен для Buzz.

Итак, я не прав или Google ?! : D Я реализовал OAuth для сотрудничества с некоторыми другими службами (Facebook, MySpace ...), но у меня никогда не было таких проблем.

1 Ответ

0 голосов
/ 04 августа 2010

хорошо, когда я попал на проблему на следующее утро, с (частично) свежим взглядом, решение было довольно простым (но все еще недокументированным) .. :) в случае, если кому-то еще нужен ответ - при запросе токена запроса должен быть указан параметр oauth_callback.

...