Ruby on Rails应用程序的OpenID支持
在Ruby on Rails应用程序中启用OpenID登录的最新技术是什么?这是社区Wiki,其中包含有关此问题的最新答案。
认证逻辑
最先进的身份验证解决方案似乎是Authlogic。它通过Authlogic OpenID插件支持OpenID。它支持Rails 4和3. rails2分支中支持Rails 2.
我们可能要观看"带有Authlogic的OpenID"轨道广播(以及" Authlogic"轨道广播)。
有一个名为Authlogic OpenID Selector Example的示例应用程序。
设计
Devise是用于Rails的灵活身份验证框架。它支持带有devise_openid_authenticatable的OpenID。
restful_authentication
选择的另一个身份验证库是" restful_authentication" Rails插件。似乎我们还需要安装open_id_authentication
插件。
我们可能想要观看(大约在2007年左右发行的)" OpenID身份验证" railscast。
Ruby OpenID
对OpenID协议的原始支持由Ruby OpenID库处理。
解决方案
回答
在OpenId上查看此Railscast以获取更多信息。我不确定它是否/如何与restful_authentication一起工作,但可能是一个很好的资源。 (我还没有看过)
回答
我所做的是使用Restful身份验证,然后将open_id_authentication插件混合到应用程序中。同样,在测试应用程序上设置open_id_authentication插件也可能会有所帮助,因此我们可以确定需要对users表进行的更改。
回答
密切注意Bort。这是一个基本的Rails应用程序,它已经具有restful_authentication设置。正在这样做的家伙正在计划添加OpenID。
回答
最终的资源应该是Rails Wiki,尽管我应该谨慎地使用它,因为在涉及OpenID支持时,事情变化非常快。
我发现Ryan Bates在Openid上的Railscast是最好的选择。即使它是用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进行了测试。
注意:我后来在博客文章中写了这个。
回答
除restful_authentication外,Bort现在还包含OpenID。
回答
奇怪的是,自2007年以来,这个主题似乎并没有受到Rails社区的广泛关注。
Bort的最新后备箱似乎无法与Rails 2.3.x一起使用,因此我将其分叉并使其正常工作。
我还添加了一些我个人使用的东西,例如yui reset / base,jquery等。
Fork仍在进行中,但我希望为Restful Auth,Google Auth,facebook connect,twitter等提供经过测试的广泛身份验证支持。
http://github.com/lukebayes/bort
回答
我发现使用BinaryLogic的Authlogic gem非常容易使用。请参阅Authlogic及其OpenID插件。
我们可以下载示例应用程序或者尝试!