Я использую пакет jsonwebtoken (https://github.com/auth0/node-jsonwebtoken ) для обработки JWT в моем проекте. Независимо от того, что я пытаюсь, это дает мне эту ошибку: name: 'JsonWebTokenError', message: 'invalid signature'
Вот где я подписываю JWT:
const addBearerToken = (myUser, cb) => {
jwt.sign({user: myUser, userId: myUser.id}, 'helloworld', (err, token) => {
if (err) return (err, null)
userRepo.update(myUser._id, {authToken: token}, (err, myUser) => {
if (err) {
return cb(err, null)
} else {
return cb(null, token)
}
})
})
}
И вот где я пытаюсь это проверить:
const checkForJWT = (req, res, next) => {
let bearerHeader = req.header('Authorization').split(' ')
let token = bearerHeader[1]
console.log(token + ' || token')
jwt.verify(token, 'helloworld', (err, decoded) => {
if (err) {
console.log(err)
return (err, null) // this is where the error is thrown
} else {
...
}
})
}
Я использую helloworld вместо своего секретного ключа. Я подозреваю, что проблема связана с секретным ключом, но, как я уже сказал, я не уверен, что происходит за кулисами, вызывающими эту ошибку.
Если я использую jwt.decode (токен, 'helloworld'), я получаю обратно всю нужную информацию. Но я получаю сообщение об ошибке, когда использую jwt.verify ().
Любая помощь горячо приветствуется. Дайте мне знать, если вам понадобится дополнительная информация из моего кода.