【发布时间】:2018-12-04 20:55:07
【问题描述】:
我目前正在为一个小型市场应用程序开发一个 MEAN 全栈 Web 项目。该项目的构建分为 3 个部分: - 服务器 -> node.js 表达猫鼬 - 前网 -> 角度 4 - 前置手机 -> 离子
我必须使用经典的 CRUD 构建这个简单的 API REST,但我必须使用 JWT 来保护我的广告(针对市场)。 使用 JWT 验证,用户将只能删除或修改他自己创建的广告。
目前,我有一个令牌验证的中间件,但它不会阻止用户删除其他用户创建的广告。
我正在调用我在教程中理解的中间件,它可以更改。
经过大量研究,我只找到了有关使用 JWT 进行身份验证的信息,如果有人可以帮助我,谢谢。
//my token verification's middle-ware
function verifyToken(req, res, next) {
var token = req.headers['x-access-token'];
if (!token)
return res.status(403).send({ auth: false, message: 'No token provided.' });
jwt.verify(token, config.secret, function(err, decoded) {
if (err)
return res.status(500).send({ auth: false, message: 'Failed to authenticate token.' });
// if everything good, save to request for use in other routes
req.userId = decoded.id;
next();
});
}
//an example of middle-ware call
router.delete('/:id',VerifyToken, (req, res) => {
advertModel.findById(req.params.id, (err, advert) => {
if(!advert){
res.json({message:"No advert corresponding"})
}
advert.remove((err) => {
if(err){
console.log(err);
}
res.json({message: 'Successfully deleted'});
});
});
});
这个应用程序还在建设中,如果你有任何 cmets 可以让我改进你看到的几段代码,去吧。
【问题讨论】:
标签: node.js express jwt mean-stack