[英]Bearer Token Invalid Token
want to use bearer token in postman but i got invalid token when using bearer but wihout typing it it works fine.想在邮递员中使用不记名令牌,但在使用不记名时我得到了无效的令牌,但无需输入它就可以正常工作。
const auth = async (req , res, next) => {
try {
const token = req.header('Authorization').replace('Bearer', '');
const decoded = jwt.verify(token, 'thisismynewcourse');
console.log('decoded', decoded);
const user = await User.findOne({_id: decoded._id , 'tokens.token': token})
console.log('token ',token);
if (!user) {
throw new Error()
}
req.token = token;
req.user = user
next();
} catch (e) {
console.log(e);
res.status(400).send({error: 'please authenticate'})
}
}
router.get('/users/me', auth ,async (req, res) => {
res.send(req.user)
})
Bearer token is formatted like:不记名令牌的格式如下:
Bearer XXX
// "Bearer" + whitespace + token Bearer XXX
// "Bearer" + 空格 + 令牌
You forget a whitespace on your replace()您忘记了 replace() 上的空格
Replace .replace('Bearer', '');
替换
.replace('Bearer', '');
by this .replace('Bearer ', '');
通过这个
.replace('Bearer ', '');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.