【发布时间】:2014-12-19 02:32:19
【问题描述】:
我想将 Oauth 2 用于带有 Java 的 Google App Engine 中的应用程序,但我没有找到任何很好的使用示例,如果有人可以帮助我,我将非常感激,这很令人沮丧,找不到好的例子,谢谢。
【问题讨论】:
标签: google-app-engine oauth-2.0
我想将 Oauth 2 用于带有 Java 的 Google App Engine 中的应用程序,但我没有找到任何很好的使用示例,如果有人可以帮助我,我将非常感激,这很令人沮丧,找不到好的例子,谢谢。
【问题讨论】:
标签: google-app-engine oauth-2.0
我的 2c 是避免使用 oauth2 库。当然,意见可能会有所不同,但对我来说,它们提供了非常有漏洞的抽象,所以你最终会被后门拖到理解 oauth 中。至少对我来说,花一个小时阅读告诉你所有你需要知道的两页,并小心避免所有其他的,会让你到达你想去的地方。
简单来说,步骤是:-
使用您的应用程序/客户端 ID 和您需要的范围调用身份验证 URL。包括“电子邮件”范围。
Google 将引导用户完成登录和(如果是第一次)授权对话
在随后的访问中...
您需要知道的一切都在 oauth 游乐场页面中。如果您单击这些按钮,您将看到它正在按照我上面概述的步骤进行操作。
然后您需要处理可能的错误情况,例如
您需要阅读的两页是:- https://developers.google.com/accounts/docs/OAuth2WebServer 和 https://developers.google.com/oauthplayground/ 的 oauth 操场
相信我,只要您知道如何形成 URL、存储刷新令牌(它只是一个字符串)并解析 JSON 响应,那么您需要的一切都在这些页面上。除了...
所有文档都跳过了在会话中保留用户 ID 的需要,这样您就知道是谁在访问您的应用程序。如果您使用的是 AppEngine,您可能会对使用单独的 appengine 登录的 appengine 示例代码感到困惑。忽略它。您将使用 oauth 对用户进行身份验证,因此 appengine 的内容不适用并且有些混乱。
它实际上比某些文档让您相信的要简单得多,就像我说的,恕我直言,泄漏的库没有帮助。
【讨论】:
我正在尝试做完全相同的事情,我同意 - 很难找到一个好的例子。
我确实找到了这个 youtube 视频,我认为它会有所帮助:https://www.youtube.com/watch?v=tVIIgcIqoPw。
它来自 Google,它被称为 Google API 入门。视频的最后一段涉及身份验证。
【讨论】:
此页面上列出了几个用于 Java 的 OAuth 2 客户端和服务器库:http://oauth.net/2/
这里是使用 Apache Otlu 的快速入门文档:https://cwiki.apache.org/confluence/display/OLTU/OAuth+2.0+Client+Quickstart
如果您正在访问 Google API(作为客户端),则可以使用适用于 Java 的 Google 客户端库,该库执行 OAuth 以及 API 设置:https://code.google.com/p/google-api-java-client/
【讨论】: