错误:错误地配置了CSRF - Express.js
问题描述:
我越来越Error: misconfigured csrf
当我试图访问我的登录页面。我执行csurf到路由器,但我只是得到响应的StatusCode 500错误:错误地配置了CSRF - Express.js
实现:
let router = require("express").Router();
let PostLoginResource = require("./../resources/PostLoginResource");
let RateLimit = require("express-rate-limit");
let csrf = require("csurf");
let csrfProtection = csrf({ cookie: true });
router.route("/login")
.get(csrfProtection, function(req, res) {
// Do some stuff
})
.post(loginLimiter, function(req, res) {
PostLoginResource(req, function(success, err) {
// Do some stuff
})
});
我开始我使用这个模块之前会话cookie的app.js:
// Parse the request body as JSON
app.use(bodyParser.json());
// Parse the URL encoded data
app.use(bodyParser.urlencoded({extended: true}));
// Set up session-cookie
app.use(session({
secret: "secret",
resave: false,
saveUninitialized: true,
cookie: {secure: true,
httpOnly: true,
maxAge: 1000 * 60 * 60 * 24
}
}));
不过,这是行不通的。任何人都知道是什么问题?
答
var cookieParser = require('cookie-parser')
解析饼干 我们需要这个,因为 “曲奇” 在csrfProtection
app.use(cookieParser())
是真实的是,路径正确:./../resources/PostLoginResource? – Remario
是的,否则那将是错误的消息,而不是错误:错误地配置了CSRF – Jesper
但你也有一个500,这意味着内部错误。不正确的语句导致it.Where是否要求会话对象> – Remario