【发布时间】:2016-12-02 03:23:21
【问题描述】:
strong text我正在构建node.js + mongodb rest api。我使用 jwt 用户身份验证,但我遇到了问题。我需要获取经过身份验证的用户(user_id,name)的详细信息,认为它们可以从令牌中获取,但我不知道该怎么做。怎么可能呢?
更新
我正在发帖请求
router.route('/articles')
.post(function (req, res) {
var article= new Article();
article.user_id = ???; // here needs user_id
article.imdb_id = req.body.imdb_id;
article.title = req.body.title;
article.thumb = req.body.thumb;
article.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'Added' });
});
});
我需要在文章集合中插入作者 ID (user_id),但我不知道如何获取经过身份验证的 user_id。
尝试这样做:
var token = req.body.token || req.query.token || req.headers['x-access-token'];
if (token) {
jwt.verify(token, app.get('superSecret'), function(err, decoded) {
if (err) {
return res.json({ success: false, message: 'Failed to authenticate token.' });
} else {
req.decoded = decoded;
console.log(decoded);
next();
}
});
decoded 返回有关用户的所有信息(名称、密码、_id)。是否可以从这里仅获取 user_id 和 name?
【问题讨论】:
-
嗨,你终于找到提取用户ID的方法了吗?我也有同样的问题。
-
你发现了吗?