Ruby on Rails应用程序的OpenID支持

Ruby on Rails应用程序的OpenID支持

OpenID support for Ruby on Rails application

在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库处理。


最终的资源应该是Rails Wiki,尽管我应该谨慎地使用,因为在涉及OpenID支持时,事情变化非常快。

我发现Ryan Bates在Openid上的Railscast是最好的选择。即使它是用Rails 1.2.3记录的,我仍然可以成功地按照Rails 2.1.0的说明进行操作。唯一需要注意的是:

1
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身份验证,然后将open_id_authentication插件混合到您的应用程序中。也可以在测试应用程序上设置open_id_authentication插件,因此您可以确定需要对users表进行的更改。


在OpenId上查看此Railscast以获得更多信息。我不确定它是否/如何与restful_authentication一起工作,但可能是一个很好的资源。 (我还没有看过)


我所知道的唯一支持OpenID Connect(最新版本)的宝石是:

https://github.com/nov/openid_connect

但是,它绝对没有文档。 :(


我发现使用BinaryLogic的Authlogic gem非常容易使用。请参阅Authlogic及其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


Bort现在除了restful_authentication之外还包含OpenID。


密切注意Bort。这是一个基本的Rails应用程序,它已经具有restful_authentication设置。正在这样做的家伙正在计划添加OpenID。


推荐阅读

    linux命令行模式登录?

    linux命令行模式登录?,系统,密码,信息,状态,情况,终端,环境,管理,电脑,位置,l

    linux登录系统的命令?

    linux登录系统的命令?,系统,工作,地址,名称,网络,密码,信息,服务,软件,资料,l

    linux远程登录的命令?

    linux远程登录的命令?,地址,密码,系统,名称,服务,网络,命令,软件,工作,服务

    linux命令行登录上网?

    linux命令行登录上网?,网络,系统,工具,设备,地址,最新,工作,数据,网址,信息,l

    linux用户登录的命令?

    linux用户登录的命令?,系统,信息,工作,地址,时间,密码,名称,命令,电脑,软件,l

    linux命令支持通配符?

    linux命令支持通配符?,工具,系统,命令,灵活,较大,名称,名字,环境,数字,文件,L

    linux命令用账号登录?

    linux命令用账号登录?,密码,系统,管理,地址,软件,联系方式,状态,用户,用户

    linux启用命令模式?

    linux启用命令模式?,系统,密码,数字,首页,电脑,情况,终端,界面,模式,命令,安

    linux启用6g命令?

    linux启用6g命令?,系统,工作,情况,信息,设备,指标,管理,地址,命令,状态,在lin

    linux命令界面登录?

    linux命令界面登录?,系统,工具,密码,数字,设备,终端,软件,工作,服务,状态,lin

    linux支持管道的命令?

    linux支持管道的命令?,通信,标准,系统,信息,地方,数据,管道,环境,设备,工具,L

    linux远程登录命令?

    linux远程登录命令?,软件,地址,系统,服务,名称,网站,数字,网络,电脑,密码,如

    linux免密钥登录命令?

    linux免密钥登录命令?,密码,数据,流程,服务,标准,网络,网上,认证,证书,代码,L

    linux登录命令界面?

    linux登录命令界面?,系统,密码,终端,工具,首页,环境,数字,状态,信息,界面,lin

    linux登录改密码命令?

    linux登录改密码命令?,密码,系统,名称,软件,状态,服务,信息,策略,环境,命令,

    登录账户命令linux?

    登录账户命令linux?,系统,管理,信息,工作,工具,名称,服务,网络,密码,命令,lin

    ssh命令登录linux?

    ssh命令登录linux?,服务,系统,地址,软件,状态,网络,命令,计算机,终端,服务器

    db2登录命令linux?

    db2登录命令linux?,环境,服务,系统,管理,工作,网站,软件,一致,平台,信息,linu

    linux根用户登录命令?

    linux根用户登录命令?,系统,密码,软件,状态,地址,合法,电脑,位置,检测,工具,L

    linux看登录密码命令?

    linux看登录密码命令?,密码,系统,信息,地址,命令,用户,位置,设计,电脑,用户