使用Facebook JS SDK和Rails循环登录

时间:2010-05-23 10:14:39

标签: javascript ruby-on-rails facebook login

我正在使用Facebook JS SDK与我的rails应用程序进行单点登录。我将PHP代码从Facebook example(位于“使用JavaScript SDK进行单点登录”页面底部)转换为ruby。

这似乎工作得很好,但我注意到一个用户在尝试登录时会不断重定向。日志看起来像:

Processing UsersController#login (for X.X.X.X at 2010-05-22 17:25:55) [GET]
Redirected to http://myapp.com/
Completed in 0ms (DB: 0) | 302 Found [http://myapp.com/login]

(与我的不幸用户一样多的条目离开浏览器重定向循环)。

我的客户端代码包含一个带有“auth.sessionChange”的回调:

FB.Event.subscribe('auth.sessionChange', function(response) {
  if (response.session) {
    // A user has logged in, and a new cookie has been saved
    window.location = "/login";
  } else {
    // The user has logged out, and the cookie has been cleared
    window.location = "/logout";
  }
});

所以在我看来,这个事件不断发生。虽然,我无法测试这个理论,因为我无法在本地重新创建这种情况。

我认为这不是轨道控制器。这里的代码只是:

def login
  # if first time user create db entry

  # now redirect back to where the user came from
  begin
    redirect_to :back
  rescue ActionController::RedirectBackError
    redirect_to root_url
  end
end

有没有人知道发生了什么?

1 个答案:

答案 0 :(得分:1)

抱歉,我没有给你答案,但我很好奇你是否愿意分享一些涉及的代码?我不想使用Facebooker,OAuth也没问题......但我宁愿使用Javascript SDK ......但是我的js技能很弱!我非常感谢!可能也有助于理解他为什么会循环...

另外......可能会禁用Cookies吗?