Области действия OAuth 2.0 конечных точек Google App Engine Cloud

Я пытаюсь следовать следующему руководству: https://developers.google.com/appengine/docs/java/endpoints/auth

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

Когда я развертываю в Google и получаю доступ к API с помощью API Explorer, я получаю ожидаемое несанкционированное исключение при доступе к API без OAuth. Отлично, пока все работает!

Предлагается переключить переключатель OAuth 2.0. Я делаю это и получаю сообщение:

* API не объявляет никаких областей. Вы можете вручную добавить области, используя поле ниже

сообщение также направляет меня на: http://code.google.com/apis/accounts/docs/OAuth2.html, чтобы узнать больше об областях.

Но информация об объемах на этой предлагаемой странице очень ограничена. Я новичок в OAuth, и, несмотря на поиск в Google и StackOverflow, я не уверен, что это за область? Как мне указать в API? Когда я вручную добавляю что-то в приглашение проводника API, я получаю сообщение об ошибке, в котором говорится, что это invalid_scope. Итак, какова допустимая область действия?


person Dewiniaeth    schedule 04.05.2013    source источник


Ответы (3)


Для аутентификации для работы с облачными конечными точками вам необходимо запросить эту область:

https://www.googleapis.com/auth/userinfo.email

Библиотеке конечных точек облака необходим адрес электронной почты пользователя для создания на его основе сущности User.

См. https://developers.google.com/appengine/docs/java/endpoints/consume_js#adding-oath-authentication для справки.

person Scarygami    schedule 04.05.2013

Хотя ответ @ Scarygami может быть правильным в 2013 году, теперь вы должны использовать эту область:

https://www.googleapis.com/auth/plus.profile.emails.read

Вы можете найти предупреждение о старой email области:

Предупреждение: эта область устарела. Google больше не будет поддерживать эту область после 1 сентября 2014 г. Подробнее см. Переход на вход в Google+.

Подробнее об областях: https://developers.google.com/+/api/oauth

РЕДАКТИРОВАТЬ:

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

Примечание. Эта область устарела; однако он будет поддерживаться и оставаться доступным для обратной совместимости. Объяснение этого изменения см. В разделе Переход на вход в Google+.

person tomrozb    schedule 19.08.2014

Это может помочь. Документация по сфере применения от Google.

https://developers.google.com/drive/training/drive-apps/auth/scopes

person Vishwanath    schedule 04.05.2013
comment
Спасибо за указатель, но я не использую API Google и не хочу использовать области действия Google. Моему приложению не требуется доступ к каким-либо личным данным из пользовательского аккаунта Google. Я пишу свой собственный API с Cloud Endpoints, и я хочу защитить свой API с помощью аутентификации, чтобы только авторизованные пользователи могли получить доступ к данным, обслуживаемым моим API. - person Dewiniaeth; 04.05.2013
comment
Вы случайно не смотрели этот URL? developers.google.com/appengine/docs/java/endpoints/auth - person Vishwanath; 04.05.2013
comment
у меня было много проблем, связанных с переоборудованием конечных точек в существующее приложение с аутентификацией на основе файлов cookie. Проблема в мосте RestApiServlet (/ _ah / api) - ›SystemServiceServlet (/ _ah / spi). Как только пользователь попадает в него, этот мост запоминает cookie сеанса, так что любой пользователь (даже не прошедший аутентификацию) будет выглядеть как первый пользователь! - person ZiglioUK; 16.01.2014