javascript - Flask cookie 没有 SameSite 属性

标签 javascript python flask cookies jwt

最近由于 Chrome 80,已经注意到没有 SameSite=None 和 Secure 属性的 cookie 不会在 Chrome 浏览器中设置。

目前,我使用 Flask-JWT-Extended 库为我的后端生成我的 cookie,但即使它在 set_cookies 函数中有 samesite=None ,cookie 仍然没有在浏览器中设置。
我用 Postman 发送了请求并查看了我的 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
    
    

    最佳答案

    Chrome 会忽略标记为 Secure 的 cookie这是通过不安全的 channel 收到的。
    因此,您可以通过 https 进行测试。或删除 Secure属性

    Chrome ignores cookies received over insecure channel with attribute Secure

    关于javascript - Flask cookie 没有 SameSite 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60980567/

    相关文章:

    python - 基于子域路由的 Flask 应用程序

    python - 模块 Flask 登录时出错

    javascript - 使用 vanilla JavaScript 在浏览器控制台中记录错误和警告

    python - __test__ = False 魔法属性如何用于测试发现

    javascript - 创建一个叠加层,但允许特定区域显示出来?

    自定义数据类型的 Python3 元组用法

    python - 循环神经网络中的 ReLU 函数。权重变为无穷大或零

    python - Flask 不会在 POST 方法上重定向

    javascript - METEOR Iron 路由器在不应该时重定向

    javascript - 使用 Object.Keys 迭代值