如何在我的 Google App Engine 项目中实现 OpenID 使用者?
Posted
技术标签:
【中文标题】如何在我的 Google App Engine 项目中实现 OpenID 使用者?【英文标题】:How do I implement an OpenID consumer in my Google App Engine project? 【发布时间】:2010-10-23 07:29:40 【问题描述】:我想在我的 Java Google App Engine Web 应用程序中使用 OpenID,但我不知道从哪里开始...
我看过openid4java 和joid。
openid4java 说您必须将一些库放在“认可库”路径上。我的电脑本地没有,而且我肯定不知道如何 在 Google App Engine 上执行此操作。
joid 看起来很简单,但看起来不是最新的或其他什么,因为当我尝试获得身份验证时,我从 Google 收到了 HTTP 400。
任何指针?
【问题讨论】:
【参考方案1】:http://code.google.com/p/dyuproject/
【讨论】:
【参考方案2】:如果您可以通过 rpxnow.com,将 http://appengine-cookbook.appspot.com/recipe/accept-google-aol-yahoo-myspace-facebook-and-openid-logins/(它提供了一种 Python 应用程序引擎的方式)翻译成应用程序引擎 Java 应该很容易。如果解析 json 有问题,您还可以从 rpxnow.com 请求 xml 结果。有关 RPX API 的更多信息,请参阅 https://rpxnow.com/docs。
【讨论】:
这个链接很棒。谢谢亚历克斯!【参考方案3】:对于 openidjava 库,您只需将其包含在您的项目中即可。如果您使用的是 Eclipse(它有一个很棒的 GWT 和 App Engine 插件)。将 openidjava 文件粘贴到您的 src 目录或 WEB-INF/lib 目录中的 jar 中,并确保将其添加到您的类路径中。
【讨论】:
类路径还是构建路径?因为我在 buildPath 上有库,但是在尝试实例化 ConsumerManager 时会遇到有关某些 XML 安全性的异常 在检查了最新的 openid4java 并构建了一个新的 jar 之后,它就可以工作了。【参考方案4】:好吧,我知道这是一个老问题,但我现在正在尝试让 openid4java 在 App Engine 上运行,但它无法正常工作。 似乎它使用了一个“HTTPClient”库来启动一个新线程,因此 App Engine 抛出了一个异常。
因此,如果您打算在 App Engine 上使用 openid4java,请先查看是否有解决方案。我只是找不到一个:(
您可以更详细地查看问题here 和here。
希望对你有帮助!
【讨论】:
显然,最近在 svn 中已通过使 HTTP 客户端代码 openid4java 使用“可插入”来解决此问题。见opensource.bamboo.atlassian.com/browse/OPENID-OPENID4JAVA-338/…以上是关于如何在我的 Google App Engine 项目中实现 OpenID 使用者?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google App Engine 中包含 Stripe 库
如何在 Google App Engine 中解析 JSON?
如何将使用 Google App Engine 构建的应用程序移动到 Ubuntu 服务器?
如何将私有、自托管的 NPM 包与 Google App Engine 节点、标准环境一起使用