cookie-session / express-session 차이점
cookie-session: 클라이언트에서 세션을 보관한다.
const cookieSession = require("cookie-session");
app.use(
cookieSession({
name: "cookie-session",
keys: [process.env.cookieEncryptionKey],
})
);
// register regenerate & save after the cookieSession middleware initialization
app.use(function (request, response, next) {
if (request.session && !request.session.regenerate) {
request.session.regenerate = (cb) => {
cb();
};
}
if (request.session && !request.session.save) {
request.session.save = (cb) => {
cb();
};
}
next();
});
express-session: 데이터베이스에서 보관하며 클라이언트에서는 식별자만 보관한다.
app.use(expressSession({
secret: [process.env.expressSessionKey], // key
cookie: {
httpOnly: true, // 자바스크립트로 조작 불가
secure: false, // https를 사용할 때는 true http는 false
},
name: 'shop-app-cookie',
resave: false, // 요청이 왔을 때 세션에 수정 사항이 생기지 않더라도 세션을 다시 저장할지 설정하는 옵션
saveUninitialized: false, // 세션에 저장할 내용이 없더라고 처음부터 세션을 설정할지 결정하는 옵션
}))
