在webapp2 documentation中,没有提及为cookie设置SameSite
属性,它似乎是基于WebOB的响应处理程序,我检查了webOB doc页面,它清楚地显示了{{3 }}
尽管如此,我还是尝试在set cookie中进行设置:
self.response.set_cookie(name, secure_cookie, path='/', secure=True,
httponly=True, samesite='lax', expires=expireDate)
但是我收到以下错误:
TypeError: set_cookie() got an unexpected keyword argument 'samesite'
我知道有人可以使用self.response.headers.add_header('Set-Cookie', ...
,但我希望我可以在webapp2文档之后使用self.response.set_cookie
答案 0 :(得分:1)
Samesite
是在webob 1.8中引入的,但App Engine标准环境SDK随1.1.1 and 1.2.3一起作为内置库提供。
您可以在较新的webob
中尝试vendoring,以查看它是否覆盖了内置版本。
答案 1 :(得分:0)
我解决了标题更改问题,而没有安装任何外部库。只需在设置cookie后使用此功能:
def AddSameSiteToCookies(self):
for index, header in enumerate(self.response.headers._items):
if header[0] == "Set-Cookie" and "SameSite" not in header[1]:
temp = list(header)
temp[1] = temp[1].replace("Path=", "SameSite=Lax; Path=")
self.response.headers._items[index] = tuple(temp)