【发布时间】:2016-05-10 14:40:55
【问题描述】:
我试图了解基于令牌的身份验证策略如何使用令牌(例如:JWT)来访问特定于用户的数据。我在搜索结果中看到的所有解释都是用户提供用户名和密码,然后在每次后续调用中创建和验证令牌的部分。
假设我有一个带有两个 MongoDB 集合的 Node.JS 服务:Users 和 UserMessages。 UserMessages 中的每个条目都包含一个 UserID 和一个 Message。
如果经过身份验证的用户想要查看与该用户相关的所有消息,我如何(以编程方式)知道如何过滤正确的消息? 如何在令牌和用户身份之间建立关联(例如:UserID 或任何其他有助于识别用户的内容),以便在下一步?
我只是想了解这个概念。我在任何地方都找不到在代码中获取用户身份的明确示例。 Example:
apiRoutes.use(function(req, res, next) {
var token = req.body.token || req.param('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;
next();
}
});
}
});
【问题讨论】:
标签: node.js authentication token jwt