Я использовал jsonwebtoken для проверки токена в приложении Node. Здесь 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",
})
}
};