我正在使用Facebook JS SDK與我的Rails應用程序進行單點登錄。我將Facebook example(位於「使用JavaScript SDK進行單一登錄」頁面底部)的php代碼翻譯成ruby。使用Facebook JS SDK和Rails循環登錄
這似乎工作得很好,但我注意到一個用戶在嘗試登錄時會不斷重定向。日誌是這樣的:
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
有沒有人有什麼想法是怎麼回事?
給我不愉快的用戶一個不同的Facebook帳戶登錄與沒有解決這個問題。 – nafe 2010-06-03 20:57:55
讓他清除所有cookies並再試一次也沒有解決這個問題。 – nafe 2010-06-03 20:59:08
在auth.sessionChange事件處理程序和登錄操作中關閉重定向代碼都不起作用... – nafe 2010-06-03 20:59:53