我已在节点应用程序中使用jsonwebtoken进行令牌验证。 jwt.sign
在这里工作正常。但是,当我致电jwt.verify
时,它将返回以下错误:
JsonWebTokenError:Object.module.exports处的令牌无效[验证](C:\ Users \ dell \ Desktop \ MinorProject \ API \ node_modules \ jsonwebtoken \ verify.js:75:17)
module.exports = function (req, res, next) {
var token;
if (req.headers.token) {
token = req.headers.token;
}
if (req.headers['x-access-token']) {
token = req.headers['x-access-token'];
}
if (req.headers['authorization']) {
token = req.headers['authorization'];
}
if (req.query.token) {
token = req.query.token
}
if (token) {
jwt.verify(token, config.jwtSecretKey, function (err, verified) {
if (err) {
return next(err);
}
MongoClient.connect(config.dbUrl, function (err, client) {
if (err) {
return next(err);
}
var db = client.db(config.dbName);
db.collection('users')
.find({ _id: new mongodb.ObjectID(verified._id) })
.toArray(function (err, users) {
if (err) {
return next(err);
}
if (Array.isArray(users) && users.length) {
req.loggedInUser = users[0];
return next();
} else {
res.status(404).json({
message: 'user removed from system',
})
}
})
})
});
} else {
res.status(400).json({
message: "Token Not Provided",
})
}
};