Один oauth-токен и секрет для доступа к нескольким сервисам из Google - PullRequest
4 голосов
/ 21 февраля 2012

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

1 Ответ

5 голосов
/ 03 мая 2012

https://developers.google.com/accounts/docs/OAuth2

Согласно документам Google OAuth2, это можно сделать, установив несколько областей действия, но имейте в виду, что это не очень удачный опыт.

При выполненииВ вашем запросе задайте для параметра scope несколько областей, каждая из которых разделена одним пробелом.

Пример: "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.google.com/m8/feeds"

В настоящее время вы можете найти список областейздесь: https://developers.google.com/gdata/faq

К сожалению, доступ к API не является аддитивным, то есть, если вы запрашиваете токен доступа для API контактов Google, затем , как то же приложение , запрашиваеттокен доступа для API профиля Google, в итоге вы получите два токена доступа, и ни один из них не может быть использован для доступа к другому API. По крайней мере, у Facebook есть приличность, чтобы вернуть вам один токен доступа, который предоставляет доступ ко всем предоставленным разрешениям.до сих пор.

Из-за этого вам остается отследить токены множественного доступа (ужасный кошмар, учитывая, что они истекают очень быстро), или попросить все ваши разрешениязаранее, что является катастрофой для пользователей.

Фрагментированные и разрозненные API-интерфейсы Google в настоящее время настраиваются на сбой, если вы хотите выполнить тесную многогранную интеграцию.

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