未在Chrome(Django应用)上设置第三方Cookie

问题描述 投票:0回答:1

我在访问Chrome上的某些第三方Cookie时遇到问题。

Chrome版本为80.0.3987.100 (Official Build) (64-bit),我想它已经将SameSite cookie的新实现设置为Lax。

但是,在Django设置中,我添加了以下内容:

SESSION_COOKIE_SECURE = True
SESSION_COOKIE_SAMESITE = None
CSRF_COOKIE_SAMESITE = None

没有运气。

enter image description here

您可以在上方的请求标头中看到没有Cookie的信息

enter image description here

我尝试过在Postman的Chrome上执行时遇到麻烦的请求。在通过Cookie: sessionid: <some_id>之前,我得到的结果完全相同。可能值得一提的是,这一切在Firefox上都可以正常工作(我可以在请求标头中看到Cookie的设置正确)。

如果有人有任何想法,将不胜感激。

django google-chrome cookies session-cookies samesite
1个回答
0
投票

确定找到解决方案!

基于this PR上的对话,我决定采用以下解决方法:

  1. 创建following middleware
  2. django.contrib.sessions.middleware.SessionMiddleware之前添加中间件
  3. 仍然保留这些设置。

=>

SESSION_COOKIE_SECURE = True
SESSION_COOKIE_SAMESITE = None
CSRF_COOKIE_SAMESITE = None

上面的PR已经合并到master中,它将在2020年8月的某个时候发布。在那之前,这是最好的解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.