我正在尝试使用另一个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。请让我知道该怎么做。谢谢。