我正在使用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
有没有人知道发生了什么?
答案 0 :(得分:1)
抱歉,我没有给你答案,但我很好奇你是否愿意分享一些涉及的代码?我不想使用Facebooker,OAuth也没问题......但我宁愿使用Javascript SDK ......但是我的js技能很弱!我非常感谢!可能也有助于理解他为什么会循环...
另外......可能会禁用Cookies吗?