由于 7 月份 Chrome 中的更改,我需要修改我的应用程序以明确提供 SameSite=None 键值。这是由于 RFC 以比存在但设置为 None 时更有效的方式处理此设置的缺失。
但是在 set_cookie 方法中,samesite 参数默认为 None,这导致它不会被写入 set-cookie。如何将其强制到响应的 set-cookie 部分?
当我尝试使用以下代码设置 samesite=None
resp.set_cookie('abcid', 'Hello', domain=request_data.domain, path='/', samesite=None, max_age=63072000)
这不会在返回的 set-cookie 中显示任何 SameSite 详细信息
abcid=你好;域=.localhost;到期=格林威治标准时间 2021 年 6 月 29 日星期二 22:34:02;最大年龄=63072000;路径=/
如果我尝试明确设置 Lax 的值(这是每个 rfc 接受的值之一),那么
resp.set_cookie('abcid', "Hello", domain=request_data.domain, path='/', samesite="Lax", max_age=63072000)
我取回了明确具有 SameSite=Lax 设置的 set-cookie
abcid=你好;域=.localhost;到期=格林威治标准时间 2021 年 6 月 29 日星期二 23:03:10;最大年龄=63072000;路径=/; SameSite=松懈
我尝试过 None、"None" 和 "",但这些要么使应用程序崩溃,要么在结果响应中省略 SameSite。
任何帮助将不胜感激