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