Node.js-如何通过请求包将sessionID发送到Express中的GET方法?

时间:2019-04-24 13:33:27

标签: javascript node.js get express-session node-request

我正在尝试使用另一个Node.js创建的脚本登录到我的Node.js(快速)应用程序,以尝试在我的应用程序上创建虚拟机器人。

首先,我通过“请求”包向我的/ api / user / login发送了一个POST,然后尝试从必须登录的/ 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
  }

});

可能我需要向Express上的GET方法发送一个有效的cookie。请让我知道该怎么做。谢谢。

0 个答案:

没有答案