Google App Engine Cloud终结OAuth 2.0范围

时间:2013-05-04 10:10:42

标签: java google-app-engine google-cloud-endpoints

我正在尝试遵循以下指南: https://developers.google.com/appengine/docs/java/endpoints/auth

我已按照步骤添加了客户端ID和User参数,当null时抛出OAuthRequestException异常。

当我使用API​​资源管理器部署到Google并访问API时,我在访问没有OAuth的API时会遇到预期的未经授权的异常。到目前为止一切顺利!

它建议切换OAuth 2.0切换。我这样做,我收到一条消息说:

* API不会声明任何范围。您可以使用下面的框

手动添加范围

该消息还指示我: http://code.google.com/apis/accounts/docs/OAuth2.html 了解有关Scopes的更多信息。

但该建议页面上的范围信息非常有限。我是OAuth的新手,尽管正在搜索Google和StackOverflow 我不确定范围是什么? 我如何在API中声明? 当我手动向API资源管理器提示添加内容时,我收到一条错误消息,指出它是invalid_scope。那么什么是有效范围?

3 个答案:

答案 0 :(得分:5)

要使用云端点进行身份验证,您需要请求此范围:

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

云端点库需要用户的电子邮件地址才能从中创建用户实体。

请参阅https://developers.google.com/appengine/docs/java/endpoints/consume_js#adding-oath-authentication以供参考。

答案 1 :(得分:1)

虽然@ Scarygami的回答在2013年可能是正确的,但现在你应该使用这个范围:

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

您可以找到关于旧email范围的警告:

  

警告:不推荐使用此范围。谷歌将不再支持这一点   2014年9月1日之后的范围。有关详细信息,请参阅迁移到Google+   登入。

有关范围的更多信息:https://developers.google.com/+/api/oauth

修改

在支持旧email范围方面看起来有些变化。这是实际的陈述。

  

注意:此范围已弃用;但是,它将得到维护   保持可用于向后兼容。有关的解释   此更改请参阅迁移至Google+登录。

答案 2 :(得分:0)

这可能会有所帮助。谷歌的范围文档。

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