1
我正在使用csrf
中间件与Express框架。我登录页是这样的:Csrf令牌未在Express上设置时重定向
app.get('/', getUserOrLogin, function (req, res) {
// do something...
});
凡getUserOrLogin
是:
// Return the user otherwise redirect to login page
var getUserOrLogin = function (req, res, next) {
var user = req.session.user;
if (user == null) {
req.session.backTo = req.originalUrl;
res.redirect('/login');
} else {
req.user = user;
next();
}
};
当我尝试访问/
它正确重定向我/login
但在饼干csrf
令牌未设置。
我是否在getUserOrLogin
函数中做错了什么,或者是一个Express错误?
如果将backTo值分配给* response *对象而不是* request *对象,会发生什么? –
在路由器之前定义了csrf中间件吗?另外,当你说cookie时你是指会话吗?除非你正在做别的事情,否则csrf不会设置cookie,只是'_csrf'会话令牌。第三,你用什么来验证,登录路线是什么样的? – numbers1311407