我是node.js的新手,我正在尝试按照教程,并尝试修改项目的结构。在本教程中,他们拥有server.js文件中的所有端点。我为模型,路线和控制器创建了一个文件夹。我正在使用JWT湿令牌。
在教程中,他们有以下代码:
var authenticate = (req,res,next) => {
var token = req.header('x-auth);
User.findByToken(token).then((user) => {
if(!user){
return Promise.reject();
}
req.user = user;
req.token = token;
}).catch((e) => {
res.status(401).send();
});
};
app.get ('users/me/', authenticate, (req,res) => {
res.send(req.user);
});
我不知道如何在export.get_user(红色)中使用如何在我的控制器中使用我的身份验证功能。
我需要做什么或改变什么?
答案 0 :(得分:0)
我建议你阅读这篇关于Express Middleware的好文章。同时,您可以通过如下传递authenticate
来解决问题。
<强> UserController.js 强>
// other code
exports.get_user = function(req, res) {
res.send(req.user);
}
<强> UserRoute.js 强>
module.exports = function(app) {
// other code
app.route('/user/me').get(authenticate, user.get_user);
}