烧瓶cookie没有SameSite起源属性

时间:2020-04-01 21:23:21

标签: javascript python flask cookies jwt

最近由于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

1 个答案:

答案 0 :(得分:1)

Chrome会忽略通过不安全渠道收到的标记为Secure的Cookie。 因此,您可以通过https对此进行测试,也可以删除Secure属性

Chrome ignores cookies received over insecure channel with attribute Secure