我正在尝试解码发送到我的其余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))

您应该在控制台中很好地格式化对象。

08-28 08:03