기억 휘발 방지소

[Node.js] express-session 본문

Web/Node.js

[Node.js] express-session

choice91 2021. 9. 23. 16:22
728x90
반응형

아래 명령어로 express-session을 설치할 수 있다.

npm i express-session
import express from "express";
import session from "express-session";

const app = express();

app.use(
  session({
    httpOnly: true,
    secure: true,
    secret: "I am secret key",
    resave: false,
    saveUninitialized: false,
    cookie: {
      httpOnly: true,
      secure: true,
      maxAge: 20000,
    }
  })
);
  • httpOnly: 자바스크립트를 통해 세션 쿠키를 사용할 수 없도록 함
  • secure: https 환경에서만 session 정보를 주고받도록 처리
  • secret: 암호화하는데 쓰일 키
  • resave: 요청이 왔을 때 세션에 수정사항이 생기지 않도록 다시 저장할지 여부
  • saveUninitialized: 세션에 저장할 내역이 없더라도 세션을 저장할지 여부
  • cookie: 클라이언트에 보내는 쿠키 설정 (maxAge는 세션의 유효기간이다. 단위는 밀리초)

📌 express에서 session에 접근하기

req.session으로 접근이 가능하다.

 

export const postLogin = async (req, res) => {
  // ...
  req.session.loggedIn = true;
  // ...
};

로그인을 하면 session.loggedIn값이 true가 되도록 한다.

또한 req.session.destroy()를 하면 세션을 제거한다.

728x90
반응형