2013-10-01 73 views
1

我有一個Django應用程序正在實施Facebook oauth登錄。Django會話丟失時重定向從Facebook oauth

在匿名用戶(尚未通過身份驗證)發送到Facebook的oauth2之前,我將一個令牌存儲在request.session中。

一旦用戶通過Facebook登錄並被重定向回我們的網站,django會話就會丟失。生成了一個新的會話密鑰,舊的會話密鑰從數據庫會話存儲中刪除,並且會話中沒有數據(因此原始會話令牌丟失)。我無法弄清楚爲什麼會發生這種情況,需要獲取原始標記?

我在settings.py以下

SESSION_ENGINE = 'django.contrib.sessions.backends.db' 
SESSION_COOKIE_DOMAIN = '.mysite.com' 
SESSION_COOKIE_SECURE = True 
SESSION_EXPIRE_AT_BROWSER_CLOSE = False 
+0

對於嘗試將'SESSION_ENGINE'更改爲'「django.contrib.sessions.backends.signed_cookies」 。這是否解決了這個問題? – user2683246

回答

0

會話cookie已被設置爲false。如果確實如此,則只能將會話cookie存儲在https連接中,並且我假設您的測試環境不使用https