1

为了让用户使用 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 登录/注册的最简单方法?有没有更好的宝石来帮助工作?

在此先感谢,奥古斯托

4

4 回答 4

1

我怀疑您可能在不知不觉中对当前的应用程序进行了一些更改,从而导致了login失败logout

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

解决方法是在 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/

谢谢!

于 2013-01-17T16:10:32.677 回答
1

我找到了解决方案:Omniauth 与 Rails 2.3 完美配合,甚至还有一个演示应用程序介绍如何将其与 Authlogic 集成

于 2013-01-18T18:05:17.980 回答
0

一个流行的将是与 Omniauth 配合得很好的设计。不过,我不确定与 rails 2 的兼容性,也许是时候升级了……

于 2013-01-11T17:30:26.820 回答
0

有什么理由不能使用考拉? https://github.com/arsduo/koala

于 2013-01-16T02:05:08.770 回答