axios 当JWT_COOKIE_CSRF_PROTECT=True时,事件触发器POST请求失败

trnvg8h3  于 2022-11-29  发布在  iOS
关注(0)|答案(2)|浏览(129)

我对flask后端的POST请求仅在JWT_COOKIE_CSRF_PROTECT = False时有效,但GET请求有效
设定:

CSRF_ENABLED = True   
CORS_SUPPORTS_CREDENTIALS = True   
JWT_TOKEN_LOCATION = ['cookies']

我从Vue应用程序通过axios访问 flask

const path1 = `/limit_engine/balance`;
  axios
    .post(path1, { withCredentials: true })
    .then((response) => {
      console.log(response.data["balance"]);
    })
    .catch((error) => {
      console.error(error);
    });

https://flask-jwt-extended.readthedocs.io/en/stable/options/#jwt-cookie-csrf-protect 建议JWT_COOKIE_CSRF_PROTECT在生产中应始终为True,因此我不能将其保留为False

cmssoen2

cmssoen21#

如果您是从浏览器发送请求,您可以使用任何开发工具(例如Chrome)。查看“网络”选项卡,查找您的POST请求,找出发送了哪些Cookie。
如果您在请求中找不到CSRF令牌,则应将其从后端传递到前端,并将其保存在Cookie存储中。

相关问题