Node.js NodeJS:配置错误的csrf

Node.js NodeJS:配置错误的csrf,node.js,express,csrf,Node.js,Express,Csrf,我正在尝试运行一个nodejs应用程序。但是,我遇到的问题是,每次我尝试运行应用程序时,它都会抛出一个错误,如标题中所述:配置错误的csrf 这是我的密码: const path=require('path'); const express=require('express'); const bodyParser=require('body-parser'); const mongoose=require('mongoose'); const session=require('express-s

我正在尝试运行一个
nodejs
应用程序。但是,我遇到的问题是,每次我尝试运行应用程序时,它都会抛出一个错误,如标题中所述:
配置错误的csrf

这是我的密码:

const path=require('path');
const express=require('express');
const bodyParser=require('body-parser');
const mongoose=require('mongoose');
const session=require('express-session');
const MongoDBStore=require('connect-mongodb-session')(会话);
const csrf=require('csurf');
常量闪存=需要(“连接闪存”);
const errorController=require('./控制器/错误');
const User=require(“./models/User”);
const MONGODB_PASS='PASSWORD_HERE';
const MONGODB_URI=`MONGODB+srv://USER_HERE:${MONGODB_PASS}@DB_HOST_HERE/shop?retryWrites=true&w=maist`;
常量app=express();
const store=新MongoDBStore({
uri:MONGODB_uri,
集合:“会话”
});
const csrfProtection=csrf({cookie:true});
应用程序集(“查看引擎”、“ejs”);
应用程序集(“视图”、“视图”);
const adminRoutes=require('./routes/admin');
const shopRoutes=要求('./路线/车间');
const authrouts=require('./路由/auth');
use(bodyParser.urlencoded({extended:false}));
app.use(express.static(path.join(uu dirname,'public'));
应用程序使用(会话)({
秘密:“我的秘密”,
resave:false,
saveUninitialized:false,
商店
}));
应用程序使用(CSR保护);
应用程序使用(flash());
应用程序使用((请求、恢复、下一步)=>{
如果(!req.session.user)返回next();
User.findById(req.session.User.\u id)。然后(User=>{
req.user=用户;
next();
}).catch(err=>{throw err});
});
应用程序使用((请求、恢复、下一步)=>{
res.locals.isAuthenticated=req.session.isLoggedIn;
req.locals.csrfToken=req.csrfToken();
next();
});
app.use('/admin',adminRoutes);
应用程序使用(商店路线);
应用程序使用(authRoutes);
应用程序使用(errorController.get404);
mongoose.connect(MONGODB_URI)
.then(result=>app.listen(3000)).catch(err=>{throw err});
我希望该应用程序能够成功运行,但它会抛出一个错误,提示:
配置错误的csrf
。我做错了什么


注意:我真的不知道该写什么了,所以一直抱怨我需要添加更多的细节。我相信我已经提供了足够的说明,包括描述、标题和代码。

您正在使用cookie选项:

const csrfProtection = csrf({cookie: true});
它需要文件包:如果您将“cookie”选项设置为非false值,则必须在该模块之前使用cookie解析器