2013-01-11 28 views
1

为了让用户使用Facebook进行注册和登录,我在一个Rails中使用了authlogic_oauth2 gem(v.1.1.2)以及oauth2(v.0.0.10)和authlogic(2.1.6) 2.3申请。Rails 2.3的Authlogic_oauth2替代方案

一切运作良好超过2年,但从一个月左右,用户无法登录或注册与Facebook了。

我不知道发生了什么,但我没有改变任何东西,所以似乎Facebook改变了他们的事情,authlogic_oauth2似乎无法工作了。

这可能是解决问题并带回用户登录/注册Facebook的最简单方法? 有没有更好的宝石来帮助工作?

由于提前, 奥古斯托

回答

0

最常见的一个是设计出与Omniauth打得很好。我不确定与轨道2的兼容性,但也许有时间升级...

+0

谢谢,但我真的不能留下authlogic,应用程序是非常复杂的,重写很多代码是不是一个选项:( – Augusto

+0

哎呀!Authlogic被遗弃了很久以前,所以它似乎怀疑你会发现任何东西最多你可能需要fork auth_oauth2并修复它,你会得到什么错误? – charlysisto

+0

原来,Omniauth可以和Authlogic一起工作!没必要升级这个时间,耶!:) – Augusto

1

我怀疑你可能在不知不觉中导致loginlogout失败,在你的应用程序中做了一些改变。

根据您所做的更改,问题的一个可能原因可能是从http://yoursite.comhttp://www.yoursite.com的重定向。检查提到this问题的博客。

解决的办法是在environment.rb中设置config.action_controller.session [:domain] ='.YOURDOMAIN.COM'(确保以。开头)。这将使cookies用于www.yourdomain.com和yourdomain.com(以及任何其他子域)。

我还建议您检查不同环境下的登录行为:DevelopmentProduction,然后清楚地检查log文件中的输出。

这可能会帮助您调整问题域,因为您提到您的代码以前工作。

更新:

有Facebook的OAuth的更新,并应提到的是所有的应用程序需要更新到OAuth的最新版本。

所以这是您的问题的可能原因。

它概括要求所有网站和应用程序在10月1迁移到OAuth 2.0,处理signed_request参数,并获得SSL证书

检查下面的链接计划:

http://developers.facebook.com/blog/post/497/

谢谢!

+1

我没有改变任何东西,我确信这一点。我能想到的唯一原因是Facebook改变了一些关于oatuth方法的东西,我的宝石已经过时了......但我会尝试你的建议! – Augusto

+0

我也更新了我的答案。 PLZ检查它。 –

+0

这可能是我的问题的原因,谢谢!根据你的建议,我发现OmniAuth,它似​​乎接近我所需要的。 – Augusto