Node.js - Как отправить идентификатор сеанса в метод GET в Express через пакет запросов?

Я пытаюсь войти в свое приложение Node.js (Express) с помощью другого сценария, созданного Node.js, чтобы попытаться создать виртуального бота в моем приложении.

Сначала я отправил POST через пакет «запрос» на мой /api/user/login, а затем попытался получить данные из /api/user/session, где я должен быть зарегистрирован.

Скрипт запроса:

request.post({
  url: "http://localhost:1717/api/user/login",
  form: {
    email: "xxx@xxx",
    password: "xxx"
  }
}, (err1, res1, body1) => {
  console.log(res1.statusCode); // console returned 200 cause login was successfull

  request.get({
    url: "http://localhost:1717/api/user/session",
  }, (err2, res2, body2) => {
    console.log(res2.statusCode); // console returned 401 cause im not logged
  });

});

Экспресс скрипт:

app.post("/api/user/login", (req, res) => {
  const email = req.body.email;
  const password = sha256(req.body.password);

  if(isValid(email) && isValid(password)) // for example
    req.session.userID = 1; // for example

    res.sendStatus(200);
  }

  else{
    res.sendStatus(404);
  }

});

app.get("/api/user/session", (req, res) => {
  const userID = req.session.userID;

  if(userID){
    res.status(200).send(req.session.id);
  }

  else{
    res.sendStatus(401) // Unauthorized
  }

});

Возможно, мне нужно отправить действительный файл cookie для метода GET в Express. Пожалуйста, дайте мне знать, как это сделать. Спасибо.


person Hellbyte    schedule 24.04.2019    source источник
comment
Вам нужно включить банку cookie, см. 3-й пример: npmjs.com/package/request#examples< /а>   -  person Chris G    schedule 24.04.2019