Dud*_*y67 5 node.js express jwt
我想知道从代码中的任何位置(控制器、模型...)获取当前登录用户的最佳方法是什么。到目前为止,我发现最好的方法是在用于身份验证的中间件中设置用户数据:
const requireAuth = (req, res, next) => {
const token = req.cookies.jwt;
// Check if a jwt token does exist and is verified.
if (token) {
jwt.verify(token, config.token_secret, async (err, decodedToken) => {
if (err) {
res.locals.user = null;
res.redirect('/login');
}
else {
let user = await User.findById(decodedToken.id);
// Inject the current user data into the view.
res.locals.currentUser = user;
// To get the current user from anywhere .
req.currentUser = user;
next();
}
});
}
else {
res.locals.user = null;
res.redirect('/login');
}
};
Run Code Online (Sandbox Code Playgroud)
这是一个好的做法还是有其他方法可以做到这一点?
| 归档时间: |
|
| 查看次数: |
1114 次 |
| 最近记录: |