最近由于Chrome 80,已经注意到在Chrome浏览器中不会设置没有SameSite = None和Secure属性的cookie。
当前,我使用Flask-JWT-Extended库为后端生成cookie,但是即使set_cookies函数中具有samesite = None,cookie仍不会在浏览器中设置。 我向邮递员发送了请求,并查看了我的cookie并获得了以下cookie:
access_token_cookie=my_token; Path=/; Domain=127.0.0.1; Secure; HttpOnly;
我尝试通过以下方式手动设置标题:
resp.headers.add('Set-Cookie', 'access_token_cookie=bar; SameSite=None; Secure')
但是即使手动设置了cookie之后,我仍然会获得以下没有SameSite属性的cookie:
access_token_cookie=bar; Path=/user; Domain=127.0.0.1; Secure;
我想知道现在是否可以在cookie中设置SameSite属性。
修改 这是我为网站准备的代码。
access_token = create_access_token(identity=user.username)
resp = jsonify({"username": user.username,
"user_type": user.roles
})
resp.headers.add('Set-Cookie', 'access_token_cookie=' + access_token + '; SameSite=None; Secure')
return resp