Декодирование JWT возвращает «[объект объекта]» - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь декодировать JSON веб-токен, который отправляется на мой оставшийся сервер API. Однако, когда я пытаюсь использовать свойство _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 Буду признателен за любую помощь!

1 Ответ

2 голосов
/ 18 марта 2020

Вместо того, чтобы регистрировать информацию, подобную этой: console.log(decoded)

Вы должны сделать это так: console.log(JSON.stringify(decoded))

Вы должны правильно отформатировать ваш объект в консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...