我有一个 django 应用程序,它正在实现 Facebook oauth 登录。
在将尚未通过身份验证的 AnonymousUser 发送到 Facebook 的 oauth2 之前,我在 request.session 中存储了一个 token 。
一旦用户通过 facebook 登录并被重定向回我们的网站,django session 就会丢失。新的 session key 已经生成,旧的 session key 从 db session 存储中删除, session 中没有数据(因此原始 session token 丢失)。我无法弄清楚为什么会发生这种情况并且需要获取原始 token ?
我在 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 cookie 必须设置为 false。如果是这样,您只能在 https 连接中存储 session cookie,并且我假设您的测试环境不使用 https
关于从 facebook oauth 重定向时 django session 丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19125051/