cuốn sách gpt4 ai đã làm

node.js - JWT 给出 JsonWebTokenError "invalid token"

In lại Tác giả: Vũ trụ không gian 更新时间:2023-11-04 00:13:03 28 4
mua khóa gpt4 Nike

我在我的 Node 应用程序中使用了 jsonwebtoken 进行 token 验证。这里 jwt.sign 工作得很好。但是当jwt.verify给出以下错误

"auth": false, "message": { "name": "JsonWebTokenError", "message": "invalid token" } }

这是我的帖子并获取路由器

router.post('/signup',(req,res)=>{
const body = _.pick(req.body,['username','email_id','name','college','password','dob','gender','city','joinedOn','bio']);
User.findOne({'username':body.username},function(err,user){
if(err){
res.status(404).send(err)
}else if(user){
res.status(404).send('User with Username Exists')
}khác{
var user = new User(body);
user.save().then((user) => {
var token = jwt.sign({ username: user.username},'secret', {
"algorithm": "HS256",
expiresIn: 86400 // expires in 24 hours
});
res.status(200).send({ auth: true, token: token });
}, (e) => {
res.status(400).send(e)
})
}
})

});

router.get('/me', VerifyToken, function(req, res) {

User.findOne({username:req.username}, function (err, user) {
if (err) return res.status(500).send(err);
if (!user) return res.status(404).send("No user found.");
res.status(200).send(user);
});

});

下面是verifyToken函数

function verifyToken(req, res, next) {
var token = req.headers['x-access-token'];
if (!token)
return res.status(403).send({ auth: false, message: 'No token provided.' });
console.log(token)
jwt.verify(token,'secret', function(err, decoded) {
if (err)
return res.status(500).send({ auth: false, message: err });
//req.username = decoded.username;
console.log(decoded)
Kế tiếp();
});
}

我无法弄清楚我的程序出了什么问题。任何建议将不胜感激。谢谢

câu trả lời hay nhất

如果您像 Bearer *************.... 这样将 token 传递给 jwt.verify 函数,请确保在将 token 传递给 jwt 之前首先拆分 token

const token = req.headers.authorization.split(' ')[1];
jwt.verify( token )

Hy vọng điều này sẽ giúp được ai đó.

关于node.js - JWT 给出 JsonWebTokenError "invalid token",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48606341/

28 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress