【发布时间】:2020-07-31 21:14:52
【问题描述】:
我正在尝试进行身份验证中间件以检查收到的令牌是否有效并使用 res.locals 传递用户数据,但是当我尝试访问 res.local 时出现给定的错误。
authmiddleware : 检查令牌是否有效,如果用户存在则传递。
exports.authMiddleware = function (req, res, next) {
const token = req.headers.authorization;
if (token) {
const user = parseToken(token);
User.findById(user.userId, function (err, u) {
if (err) {
return res.status(422).send({
errors: normalizeErrors(err.errors)
});
}
if (u !== null) {
res.locals.user = u;
console.log(res.locals)
console.log(u)
next();
} else {
return notAuthorized(res);
}
})
} else {
return notAuthorized(res);
}
}
控制器从 re.locals 中提取用户,但错误是无法读取未定义的用户。
exports.changeAddress = function(req,res) {
const {user} = req.locals;
}
【问题讨论】: