Как решить JWT проверки дает неверный токен ошибки? - PullRequest
0 голосов
/ 20 октября 2019

Я использовал 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",
        })
    }

};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...