не в заголовках - PullRequest
       5

не в заголовках

0 голосов
/ 06 января 2020

У меня проблема с jsonwebtoken в приложении express, я не могу проверить jwt на промежуточном программном обеспечении, потому что jwt отсутствует в req.headers, вот мой код:

const payload = { email, role: "User" };

jwt.sign(
        payload,
        process.env.SECRET_USER,
        {
           expiresIn: 60
        },
        (err, token) => {
        if (err) return err;
           res.send(token);
        }
    );

Когда я используйте почтальона, у меня нет ошибки и токен успешно отправлен. Но в моем промежуточном программном обеспечении (для проверки входа пользователя в систему) я пытаюсь использовать console.log (req.headers), и в нем нет ключей «Авторизация: Bearer [TOKEN]»

Промежуточное программное обеспечение:

const jwt = require("jsonwebtoken");
require("dotenv").config();

exports.isUserAuth = (req, res, next) => {
  console.log(req.headers);
  const token = req.headers.authorization.split(" ")[1];
};

1 Ответ

1 голос
/ 07 января 2020

Установили ли вы токен перед отправкой запроса на сервер от клиента? Например, если вы используете ax ios для выполнения http-запроса после входа пользователя в систему:

axios.get('/check', {
     headers: {
        'Authorization': 'Bearer ' + 'bear-token-received-after-user-logged-in'
    }})

Токен необходимо указывать каждый раз, когда вы отправляете запрос сервер.

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