我希望在使用Java的Google App Engine应用程序中使用Oauth2,但是我找不到任何好的使用示例。如果有人能帮助我,我将非常感激。找不到好的示例让人感到沮丧,谢谢。
我希望在使用Java的Google App Engine应用程序中使用Oauth2,但是我找不到任何好的使用示例。如果有人能帮助我,我将非常感激。找不到好的示例让人感到沮丧,谢谢。
我的建议是避免使用OAuth2库。当然,意见可能会有所不同,但对我而言,它们提供的抽象层非常不安全,因此最终你会被迫从后门理解OAuth。至少对我来说,花一个小时阅读告诉你所需知道的两页内容,并小心地避开所有其他内容,就可以达到你想要的目标。
简单来说,步骤如下:
使用您的应用程序/客户端ID和所需的作用域调用auth URL。包括“电子邮件”范围。
Google将引导用户通过登录并(如果第一次通过)授权对话框
在随后的访问中...
你需要了解的所有信息都在OAuth Playground页面内。如果单击按钮,您将看到它遵循我上面概述的步骤。
然后,您需要处理可能出现的错误情况,例如:
您需要阅读的两页内容是:
https://developers.google.com/accounts/docs/OAuth2WebServer 和 https://developers.google.com/oauthplayground/ 上有您需要的所有信息,只要您知道如何组合URL、保存刷新令牌(它只是一个字符串)和解析JSON响应。但是,这些文档都没有提到在会话中保留用户ID的需求,以便知道谁正在访问您的应用程序。如果您使用的是AppEngine,则可能会被使用单独的AppEngine登录的示例代码所困扰。请忽略它们。您将使用oauth来验证用户,因此AppEngine的内容不适用且可能会让人感到困惑。实际上,比文档中描述的要简单得多,就像我说的那样,我认为泄漏的库并没有帮助。这个页面列出了几个Java的OAuth 2客户端和服务器库:http://oauth.net/2/
以下是快速入门文档,介绍如何使用Apache Otlu:https://cwiki.apache.org/confluence/display/OLTU/OAuth+2.0+Client+Quickstart
如果您作为客户端访问Google API,可以使用Google Java客户端库,它可以进行OAuth认证以及API设置:https://code.google.com/p/google-api-java-client/