Ruby on Rails 应用程序的 OpenID 支持
Posted
技术标签:
【中文标题】Ruby on Rails 应用程序的 OpenID 支持【英文标题】:OpenID support for Ruby on Rails application 【发布时间】:2010-09-06 00:13:23 【问题描述】:在 Ruby on Rails 应用程序中启用 OpenID 登录的最新技术是什么?这是一个社区 wiki,提供此问题的最新答案。
授权逻辑
***的身份验证解决方案似乎是Authlogic。它支持带有Authlogic OpenID plugin 的OpenID。它支持 Rails 4 和 3。Rails 2 在 rails2 分支中得到支持。
您可能想观看"OpenID with Authlogic" railscast(和"Authlogic" railscast)。
有一个名为Authlogic OpenID Selector Example的示例应用程序。
设计
Devise 是灵活的 Rails 身份验证框架。它支持带有devise_openid_authenticatable
的OpenID。
restful_authentication
另一个选择的身份验证库是restful_authentication
Rails 插件。好像还需要安装open_id_authentication
插件。
您可能想观看(旧,大约 2007 年)"OpenID Authentication" railscast。
Ruby OpenID
对 OpenID 协议的原始支持由 Ruby OpenID 库处理。
【问题讨论】:
Authlogic 仍然是打开的号码选择吗?我听说过很多关于设计的事情。 【参考方案1】:我所知道的支持 OpenID Connect(最新版本)的唯一 gem 是:
https://github.com/nov/openid_connect
但是,它绝对没有文档。 :(
【讨论】:
【参考方案2】:Bort 现在除了 restful_authentication 之外还包含 OpenID。
【讨论】:
【参考方案3】:我发现使用 BinaryLogic 的 Authlogic gem 非常简单易用。请参阅Authlogic 及其OpenID plugin。
您可以下载example application 或try it!
【讨论】:
【参考方案4】:奇怪的是,自 2007 年以来,这个主题似乎并没有受到 Rails 社区的太多关注。
最新的 Bort 主干似乎不适用于 Rails 2.3.x,所以我分叉了它并让它工作。
我还添加了一些我个人使用的东西——比如 yui reset/base、jquery 等。
fork 仍在进行中,但我希望为 restful auth、google auth、facebook connect、twitter 等提供广泛的、经过测试的身份验证支持。
http://github.com/lukebayes/bort
【讨论】:
您是否尝试向上游发出拉取请求?您的 Bort 是否适用于 3.0?谢谢,【参考方案5】:最终的资源应该是rails wiki,虽然我使用应该是明智的,因为在 OpenID 支持方面情况变化很快。
Ryan Bates 的Railscast on Openid 是我发现的最好的追随者。尽管它是使用 Rails 1.2.3 录制的,但我已经能够成功地使用 Rails 2.1.0 完成教程。唯一需要注意的是:
gem install ruby-openid
我安装的是 2.1.2,而不是 railscast 中使用的 1.1.4。
使用的 OpenID 插件是 open_id_authentication,我结合 git://github.com/technoweenie/restful-authentication.git 的 restful_authentication 对其进行了测试
注意:我随后在blog post 中写了这篇文章。
【讨论】:
很遗憾,此评论已过时。我已经接受了自己的答案,并将其设为社区 wiki。 另外,Rails wiki 似乎完全崩溃了。【参考方案6】:关注Bort。它是一个基本的 rails 应用程序,其中已经设置了 restful_authentication 。这样做的人正计划添加 OpenID。
【讨论】:
不幸的是,Bort 似乎已经过时了。【参考方案7】:我所做的是使用 restful-authentication,然后将 open_id_authentication 插件混合到您的应用程序中。在测试应用上设置 open_id_authentication 插件也可能会有所帮助,因此您可以确定需要对 users 表进行的更改。
【讨论】:
【参考方案8】:查看此Railscast on OpenId 了解更多信息。我不确定它是否/如何与 restful_authentication 一起工作,但可能是一个很好的资源。 (我还没看)
【讨论】:
预言:您的评论将被否决,因为任何人都可以建议来自 Google 的随机搜索结果;)以上是关于Ruby on Rails 应用程序的 OpenID 支持的主要内容,如果未能解决你的问题,请参考以下文章
分析 ruby / ruby on rails 应用程序