您能推荐一些有效的示例吗?我尝试Authlogic并设计成功。使用OpenID,Twitter或Facebook进行Rails 3身份验证
回答
更新 - 2011年6月 - 我一直在使用omniauth gem最近,我认为这是比使用这一建议的宝石更好的解决方案回答。它可以与Devise很好地合作,并且可以为您提供一切所需的一切。我创建了一个结合Devise和Omniauth的引擎,并添加了一个控制器来处理回调。我计划在创业板不少变化而现在我不认为这是一个稳定的插件,但您可能能够重用一些在创业板上市代码: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采用红宝石的OpenID的宝石,但是这个回购协议本身不是宝石,所以你必须将代码放到你的应用程序或者把你的插件目录。在自述文件中查看他们的示例,并仔细检查源代码以了解正在发生的事情(它只有130行代码)。我修改了一小部分以使其与我的身份验证插件一起工作,但遇到了一些问题,使其可以同时使用简单注册和属性交换...但您可能能够使其工作如果rdoc示例适合您的应用程序,那么它就是开箱即用的。
让我知道你是否对这些有任何具体问题。当我开始设置时,遇到了几个我能够解决的问题。
设计是建立在监督,这是正确的谷歌术语。搜索“监狱长的OpenID”,“典狱长的OAuth”特(Twitter)和http://github.com/britt/facebook-warden-strategy为Facebook
AuthLogic有一个OpenID扩展。
而且,这可能会帮助:http://www.michaelhamrah.com/blog/2009/05/authlogic-and-openid-on-rails/
我花了大约一个星期试图(失败),以获得open_id_authentication工作。我试图使用Authlogic和所有相关的gem和插件。我无法按照我想要的方式让事情工作。 (认证只适用于:action(/:id)路由启用,但是当启用时,我的其他控制器将无法工作,因为插件中的某些内容剥离了参数散列 - 非常令人沮丧)。
但是,我终于能够使用Devise(http://github.com/plataformatec/devise)和devise_openid_authenticatable(http://github.com/nbudin/devise_openid_authenticatable)获得OpenID的工作。我可以在两页上按照自述文件的内容来完成所有工作,就像我想要的一样。简单。直向前。和Rails 3.0兼容。
是的,我无法得到open_id_authentication工作。现在看着设计。 – iJK 2011-04-24 14:05:18
如果您打算使用Facebooker 2,则必须将Rails框架升级到3.0。 Ayeah Games刚刚完成游戏FanSwarm(在Facebook上)的过程。这不是一件容易的事,但这篇博文可能会给你一些见解。
http://www.ayeahgames.com/blog/bid/55099/The-Horror-Upgrading-to-Rails-3
- 1. Rails 3 - 只使用OpenID身份验证
- 2. 使用Twitter进行身份验证
- 3. 使用WP7进行Facebook身份验证
- 4. 使用signed_request进行facebook身份验证
- 5. 使用Facebook/Twitter登录 - 身份验证
- 6. 使用Twitter和Facebook进行基本身份验证
- 7. 使用has_secure_password进行Rails身份验证
- 8. 使用Ember.js和Rails进行Twitter身份验证
- 9. OpenId或Facebook Connect:如何强制用户再次进行身份验证?
- 10. 使用Twitter上的Twitter访问令牌进行身份验证(使用iOS Twitter反向身份验证)
- 11. 使用twitter进行身份验证tastypie python社交身份验证返回403
- 12. Facebook应用进行身份验证
- 13. 用MongoMapper进行Facebook身份验证
- 14. Rails + Devise + Facebook身份验证
- 15. Rails 3:使用Devise + Gatekeeper进行身份验证
- 16. Ruby on Rails中的OpenID身份验证
- 17. rails 3身份验证
- 18. Twitter4j和向Twitter进行身份验证
- 19. 对Twitter API进行身份验证
- 20. 使用Tomcat领域或Facebook登录进行身份验证
- 21. 使用Google或Facebook进行身份验证
- 22. 通过OpenID,Oauth或Facebook Connect进行身份验证后重定向回页面
- 23. 使用OAuth和OpenID进行身份验证 - DoubleRenderError
- 24. 使用Google API而不是OpenID进行身份验证
- 25. 使用openid进行身份验证后会发生什么
- 26. 使用Owin OpenId身份验证混合Owin Asp.Net身份Cookie身份验证
- 27. Facebook OAuth进行身份验证?
- 28. OpenID身份验证流程
- 29. Google OpenID身份验证
- 30. OpenID身份验证错误
谢谢你的回答。您是否使用任何通用身份验证插件(如authlogic,devise,restful_authentication),或者您是否构建了自己的“标准身份验证”解决方案? – 2010-08-16 12:41:44
我只是做了我自己的简单认证插件。我并不需要设计和authlogic提供的所有功能。我查看了两者的源代码,并挑选了一些我喜欢用于我自己的角色和身份验证解决方案的东西。虽然我不喜欢重新发明轮子,但当我自己编写代码时(从其他解决方案中汲取灵感的同时),我似乎总能学到更多东西。此外,如果我需要扩展它,我不需要通过其他人的资源在一周内挖掘出来。我正在努力将FB/Twitter/OpenID的东西变成一个轨道引擎。如果我在接下来的几天内做到这一点,我会在这里发布。 – johnmcaliley 2010-08-17 01:10:10
这将是优秀的,谢谢:) – 2010-08-17 07:33:14