【发布时间】:2016-08-03 15:19:43
【问题描述】:
我有一个实现 Facebook oauth 登录的 django 应用程序。
在将尚未通过身份验证的 AnonymousUser 发送到 Facebook 的 oauth2 之前,我在 request.session 中存储了一个令牌。
一旦用户通过 facebook 登录并被重定向回我们的站点,django 会话就会丢失。已生成新的会话密钥,旧的会话密钥已从 db 会话存储中删除,并且会话中没有数据(因此缺少原始会话令牌)。我不知道为什么会发生这种情况,需要获取原始令牌?
我在 settings.py 中有以下内容
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_COOKIE_DOMAIN = '.mysite.com'
SESSION_COOKIE_SECURE = True
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
【问题讨论】:
-
为了调试,请尝试将
SESSION_ENGINE更改为"django.contrib.sessions.backends.signed_cookies"。这能解决问题吗?
标签: django facebook session authentication oauth-2.0