如何解决如何在Django设置文件中添加samesite none选项
我使用了Django 2.0.2版本。我试图在Django项目中处理Google身份验证。我获得了令牌,但是我将传递URL和令牌。它返回404错误。我需要在Django设置项目中添加samesite ='none'。添加位置我不知道,我尝试添加许多方法,但仍然会引发404错误。如何解决。
Settings.py
MIDDLEWARE = [
'django_cookies_samesite.middleware.CookiesSameSite','django.middleware.security.SecurityMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware',]
因此,我添加了samesite.middleware.CookiesSameSite中间件。但我仍然遇到此警告设置了与http://stats.XXXX.com/处的跨站点资源关联的cookie,但未设置SameSite
属性。它已被阻止,因为Chrome现在仅在将跨站点请求设置为SameSite=None
和Secure
的情况下才提供cookie。您可以在Application> Storage> Cookies下的开发人员工具中查看Cookie,并查看更多详细信息如何修复
解决方法
按照this的说明进行操作并设置
DCS_SESSION_COOKIE_SAMESITE = 'None'
在MIDDLEWARE列表之后的settings.py
上
此外,您还需要建立与开发服务器的ssl连接或使用一些过时的浏览器,以允许使用具有None
属性和不具有属性secure
的SameSite cookie策略
也许有些 cookie 还没有这个属性。您可以在设置中尝试使用此标志:
SESSION_COOKIE_SAMESITE_FORCE_ALL = True
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。