我正在尝试解码发送到我的其余API服务器的JSON Web令牌。但是,当我尝试使用在Web令牌内部发送的_id属性时,我无法使其正常工作。这是我正在使用的代码:
jwt.verify(token, process.env.TOKEN_SECRET, { complete: true }, async (err, decoded) => {
console.log(decoded)
if (err) {
res.status(400).json({
error: 'Token is not valid'
});
return
} else {
// Verify user exists
const userExists = await User.findById(decoded._id);
if (userExists == [] || !userExists){
res.status(400).json({
error: 'Token is not valid'
});
return
} else {
req.decoded = decoded;
next();
}
}
});
这是我得到的控制台日志:
[object Object]
这是记录的错误:
(node:4) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '_id' of null
我将不胜感激任何帮助!
最佳答案
而不是像这样记录信息:console.log(decoded)
您应该这样:console.log(JSON.stringify(decoded))
您应该在控制台中很好地格式化对象。