ExpressJs JWT секретный или открытый ключ должен быть предоставлен - PullRequest
0 голосов
/ 18 сентября 2018

Я хотел бы сделать проверку подлинности, но вернитесь ко мне; JsonWebTokenError: должен быть предоставлен секретный или открытый ключ

Я могу успешно взять токен

как я могу это исправить?

Я следую этому уроку;

https://www.youtube.com/watch?v=8Ip0pcwbWYM&t=633s

const jwt = require('jsonwebtoken');
module.exports = (req,res,next) =>{
    try{
    const token = req.headers.authorization.split(" ")[1];
    console.log(token);
    const decoded = jwt.verify(token,process.env.JWT_KEY);
    req.userData = decoded;
    next();
    }catch(error){
        console.log(error);
        return res.status(401).json({
            message :'Auth failed'
        })
    }

}

1 Ответ

0 голосов
/ 18 сентября 2018

process.env глобальная переменная вводится узлом во время выполнения для использования вашим приложением. Вам нужно создать новый env файл для хранения этих переменных среды.

Тем не менее, вы должны объявить вашу переменную JWT_KEY в отдельном архиве js. Если вы используете Nodemon, просто создайте архив nodemon.json (в данном случае работает как env) и объявите свои переменные следующим образом:

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