로그인 할 때 쿠키를 설정하려고하지만 쿠키가 다음 요청을 따르지 않는 것 같습니다. 내가 도대체 뭘 잘못하고있는 겁니까? (nooby 질문이라면 죄송합니다.다음 요청에서 세션 쿠키가 설정되지 않았습니다. - Express.js
app.js
let express = require("express");
let session = require("express-session");
let bodyParser = require("body-parser");
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(session({
secret: "secret",
resave: false,
saveUninitialized: false,
cookie: { secure: true }
}));
내가 "/ 홈"에 대한 다음 요청을 수행 할 때 다음, 세션 쿠키는 사용자 (REQ에 대한 값을 보유하지
router.route("/login")
.get(function(request, response) {
response.render("../views/partials/login");
})
.post(function(request, response) {
let username = request.body.username;
let password = request.body.password;
User.findOne({user: username}, function(err, user) {
if (err) {
// Some error handling
}
// test password if matching
if (user !== null) {
user.comparePassword(password, function(err, match) {
if (err || !match) {
console.log("The user could not be found")
}
request.session.Auth = { username: username, password: password };
response.redirect("/home");
response.end();
});
} else {
// some error handling
}
});
});
라우터. session.Auth는
router.route("/home")
.get(restrict, function(req,res) {
console.log(req.session.Auth) // -> undefined
res.render("../views/home")
});
)
어쩌면 나는이 일을 해요 undefined를 반환 잘못되었지만 request.session에 Auth 값이없는 이유를 이해할 수 없습니다. 누군가 제발 도와 줄 수 있니?P. 여권 같은 승인을 처리하는 모듈을 사용하고 싶지 않습니다.
나는 학습 목적으로 passport.js를 사용하고 싶지 않다는 것을 잊어 버렸다. :). 그런데 왜 작동하지 않습니까? – Jesper
요청 오브젝트에는 클라이언트에서 작성된 요청과 관련된 데이터가 있습니다. 클라이언트가 응답을 얻는 유일한 방법은 요청이 클라이언트로 되돌아 가지 않는 것입니다. – paqash
그러면 응답으로 세션 쿠키를 보낼 수 있습니까? – Jesper