gpt4 book ai didi

django - CSRF_COOKIE_SAMESITE 相当于 django 1.6.5

转载 作者:行者123 更新时间:2023-12-04 01:15:40 28 4
gpt4 key购买 nike

我正在尝试在 salesforce webtab iframe 中启动使用 django 1.6.5 版本编写的应用程序。我在尝试登录时遇到“CSRF cookie not set”错误。我通过控制台日志了解到,在最新版本的 Chrome 中,只允许使用“secure”=True 和 samesite=None 设置的 cookie。我了解到这些设置可以在以后版本的 django 的 settings.py 中添加

SESSION_COOKIE_SAMESITE = 'None'
CSRF_COOKIE_SAMESITE = 'None'
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True

但这在django 1.6.5 版本中不起作用。我一直在尝试找出如何在我的版本中应用这些设置。

最佳答案

在 Django 1.6.5 中不支持添加 samesite 设置,这就是在 settings.py 中添加这些设置不起作用的原因。 Django 3.1 是他们开始支持此设置的地方。我尝试添加自己的中间件并将设置添加到 cookie 中,但出现了无效字段错误。然后我找到了一个可以用于此目的的库 - django-cookies-samesite。我能够将 samesite 设置应用到 None 并将 secure 应用到 True,然后我能够通过 salesforce web 选项卡登录。

  1. 将这些添加到 settings.py 中
SESSION_COOKIE_SAMESITE = 'None'
SESSION_COOKIE_SAMESITE_FORCE_ALL = True
SESSION_COOKIE_SECURE = True
CSRF_COOKIE_SECURE = True
  1. 并将其添加到 MIDDLEWARE_CLASSES 中:
'django_cookies_samesite.middleware.CookiesSameSite',

我从中获得信息的相关网站:

https://github.com/django/django/pull/8380/files

https://pypi.org/project/django-cookies-samesite/

关于django - CSRF_COOKIE_SAMESITE 相当于 django 1.6.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63454537/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com