NODE.JS(Express)

[Express] express-session

찰리-누나 2023. 1. 19.

 

 

 

 



express-session


 

 

 

터미널에서 npm install express-session 을 이용해 설치한다.

 

npm install express-session

 

 

 

express-session은 세션 관리용 미들웨어이다. 세션은 사용자별로 req.session 객체 안에 저장된다.

이 라이브러리는 세션을 관리할 때 클라이언트에 세션 쿠키를 전송한다. 안전하게 쿠키를 전송하기 위해서는 쿠키에 서명을 추가하는 것이 좋은데, 이때 secret의 값이 필요하다.

 

const session = require("express-session");
app.use(
  session({
    resave: false,
    saveUninitialized: false,
    secret: process.env.COOKIE_SECRET,
    cookie: {
      httpOnly: true,
      secure: false,
    },
  })
);

● resave : 요청이 올 때, 세션에 수정 사항이 생기지 않더라도 세션을 다시 저장할지 설정한다.

saveUninitialized : 세션에 저장할 내역이 없더라도, 처음부터 세션을 생성할지 설정하는 것.

secret : 세션 쿠키를 서명할 때 필요한 값. cookie-parser를 사용하고 있다면, 같게 설정하는 것이 좋다. 이름은 name 옵션으로 설정한다. 기본 이름은 connect.sid 이다.

cooket : 세션 쿠키에 대한 설정이다. 일반적인 쿠키 옵션이 제공된다. httpOnly를 true로 설정하면 클라이언트에서 쿠키를 확인할 수 없도록 만들 수 있다. secure는 https가 아닌 환경에서 사용할 수 있을지 없을지에 대한 여부인데, false를 하면 http에서도 사용할 수 있으나 보안의 문제 때문에 배포 시에는 true로 설정하는 것이 좋다.

 

 

댓글