因此,我对csrf攻击进行了大量研究,但我想在我的应用程序中问一些问题,我制作了一个中间件,该中间件检查jwt令牌是否与Web应用程序中进行的任何操作用户的请求一起发出,并找到该令牌中的用户并在用户数据中找到令牌,因为我将令牌存储在用户数据中,所以在完成所有这些操作之后,我需要csrf保护
这是我使用的我的助产士
module.exports = async function (req, res, next) {
const token = req.cookies.token || '';
// Verify token
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
const user = await User.findOne({
_id: decoded.user.id,
'tokens.token': token,
});
if (!user) {
throw new Error();
}
req.token = token;
req.user = user;
next();
} catch (err) {
res.status(401).json({ msg: 'Token is not valid' });
}
};