从 facebook oauth 重定向时 django session 丢失

标签 django facebook session authentication oauth-2.0

我有一个 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/

相关文章:

python - 对 django 应用程序进行单元测试的良好方法/设计

ios - 有什么方法可以让我无法通过他的 Facebook 用户 ID 或用户名获取任何用户的好友列表?

PHP:如何 "force"Session_Destroy()

python - 在 tf.Graph() 下定义的 TensorFlow session 运行图

java - Cassandra:在 super 列上设置 TTL

python - Django - 将属性值传递给 TemplateView 中的 as_view

django - 如何缓存 FileField 中的文件以避免重复(Django、DRF)

django - 更改 Django 开发服务器输出日志文本的颜色

php - Facebook Graph API PHP SDK 作为页面在页面上发布

javascript - 使用 Javascript SDK 本地化 Facebook 登录