为了让用户使用facebook进行注册和登录,我在Rails 2.3应用程序中使用了authlogic_oauth2 gem(v.1.1.2)以及oauth2(v.0.0.10)和authlogic(2.1.6)。
一切运作良好超过2年,但从一个月左右开始,用户无法登录或注册Facebook。
我不知道发生了什么,但我没有改变任何东西,所以Facebook似乎改变了一些东西,authlogic_oauth2似乎不再能够工作了。
这可能是解决问题最简单的方法,并带回用户登录/注册Facebook? 是否有更好的宝石可以帮助完成这项工作?
提前致谢, 奥古斯托
答案 0 :(得分:1)
我怀疑您可能在不知情的情况下对您当前的应用程序进行了一些更改,导致login
和logout
失败。
问题的一个可能原因可能是根据您所做的更改从http://yoursite.com重定向到http://www.yoursite.com。查看提及this问题的博客。
修复是在environment.rb中设置:config.action_controller.session [:domain] ='。YourDOMAIN.COM'(确保在前面加上。)。这将使cookie适用于www.yourdomain.com和yourdomain.com(以及任何其他子域)。
我还建议您检查不同环境中的登录行为:Development
和Production
,然后清楚地检查log
文件中的输出。
这可以帮助您调整问题域,因为您提到您的代码以前正在运行。
<强>更新强>
facebook oauth中有更新,并提到所有应用程序都需要更新到最新版本的oauth。
这就是问题的可能原因。
它概述了一项计划,要求所有网站和应用迁移到OAuth 2.0,处理signed_request参数,并在10月1日之前获取SSL证书。
检查以下链接:
http://developers.facebook.com/blog/post/497/
谢谢!
答案 1 :(得分:1)
我找到了解决方案:Omniauth与Rails 2.3完美搭配,甚至还有a demo app on how to integrate it with Authlogic。
答案 2 :(得分:0)
一个受欢迎的是Devise,它与Omniauth配合得很好。我不确定与rails 2的兼容性,也许是时候升级......
答案 3 :(得分:0)
你有什么理由不能使用考拉吗? https://github.com/arsduo/koala