Javascript 表示无效的CSRF令牌错误,I';我试过其他问题的建议,但没有用
我在尝试发布到express后端时遇到无效CSRF令牌错误问题。我试着在这里和谷歌上寻找答案,但它们似乎都不起作用。这是我的代码,为了简单起见缩小了:Javascript 表示无效的CSRF令牌错误,I';我试过其他问题的建议,但没有用,javascript,node.js,express,axios,Javascript,Node.js,Express,Axios,我在尝试发布到express后端时遇到无效CSRF令牌错误问题。我试着在这里和谷歌上寻找答案,但它们似乎都不起作用。这是我的代码,为了简单起见缩小了: constCookieParser=require(“cookie解析器”); 常数csurf=要求(“csurf”); 使用(cookieParser()); 使用(csurf({cookie:true})); app.get(“/”,异步(req,res)=>{ const user=wait getUserInfo(令牌); res.jso
constCookieParser=require(“cookie解析器”);
常数csurf=要求(“csurf”);
使用(cookieParser());
使用(csurf({cookie:true}));
app.get(“/”,异步(req,res)=>{
const user=wait getUserInfo(令牌);
res.json(用户);
});
app.post(
“/events/:id”,
express.json(),
异步(请求、恢复)=>{
常量数据=等待添加事件(req.params.id,req.body);
res.json(数据);
}
);
我使用axios对POST方法执行AJAX请求,下面是我的axios对象:
consthttp=axios.create({
事实上,
baseURL:BASE_URL,
xsrfCookieName:“_csrf”,
});
我可以在Chrome DevTools上的“网络”选项卡中看到,浏览器上保存了一个\u csrf
cookie,并且发送了一个X-XSRF-TOKEN
标头,其中请求的值与cookie的值相同。但是,它仍然给我一个403错误
以下是我用csurf
app.use(csurf({cookie:true}));
使用(csurf({cookie:true,value:(req)=>req.headers[“x-xsrf-token”]});
应用程序使用(csurf({cookie:true,value:(req)=>req.cookies[“x-xsrf-token”]});
我还尝试将
res.cookies(“\u csrf”,req.csrfToken())
添加到app.get(“/”
)中,并添加了一个包含res.locals.\u csrf=req.csrfToken()
的中间件,但都不起作用。有人知道为什么会发生这种情况吗?你试过吗?我正在从axios代理到后端,所以我没有实现cors,我认为这不适用于我。