你能否提供一些可行的示例呢?我尝试使用 Authlogic 和 Devise,但都没有成功。
你能否提供一些可行的示例呢?我尝试使用 Authlogic 和 Devise,但都没有成功。
更新 - 2011年6月 - 我最近使用了omniauth gem,我认为它比这个答案中建议的gem更好。它能很好地与Devise一起使用,并且只需要一个gem即可提供您所需的所有功能。我创建了一个引擎来结合Devise和Omniauth并添加了一个控制器来处理回调。我计划对这个gem进行很多改变,目前我不认为它是一个稳定的插件,但是您可以重复使用其中的一些代码:https://github.com/charlotte-ruby/devise_omniauth_engine/blob/master/app/controllers/users/omniauth_callbacks_controller.rb
我最近在Rails 3上运行了这个(使用OpenID时遇到了一些问题)。我没有完整的工作示例,你可以在github上查看,但这是我的使用方法...... 所有这些都在自述文件中有示例。
Facebook - fbgraph。与Facebooker不同,它使用的是最新的Facebook API。如果您想查看内部工作原理,源代码非常易于理解。查看自述文件中的身份验证示例。简单明了。
Twitter - twitter_oauth。同样,请查看自述文件中的身份验证示例。这也相当容易设置。
OpenID - rails/open_id_authentication 使用 ruby-openid gem,但是这个存储库本身不是gem,因此您需要将代码放入应用程序中或将其放入插件目录中。请查看自述文件中的示例,并仔细检查源代码以了解正在发生的情况(它只有130行代码)。我修改了很多内容以使其与我的身份验证插件一起使用,但是我遇到了一些问题,无法同时使其与简单注册和属性交换配合使用...但如果rdoc示例适用于您的应用程序,则您可能可以获得开箱即用的效果。如果您对此有任何具体问题,请告诉我。在设置这个时,我遇到了几个问题,但都得以解决。
Devise是建立在Warden之上的,Warden是正确的谷歌术语。搜索“warden openid”、“warden oauth”(Twitter)和http://github.com/britt/facebook-warden-strategy以了解Facebook。
如果你要使用Facebooker 2,你必须将Rails框架升级到3.0。Ayeah Games刚刚为游戏FanSwarm(在Facebook上)完成了这个过程。这并不是一件容易的事情,但这篇博客文章可能会给你一些启示。
http://www.ayeahgames.com/blog/bid/55099/The-Horror-Upgrading-to-Rails-3
AuthLogic有一个OpenID扩展。
此外,这可能会有所帮助:http://www.michaelhamrah.com/blog/2009/05/authlogic-and-openid-on-rails/