✏️ Setting
- Express 어플리케이션으로 세션을 사용할 수 있게 도와주는 모듈이다.
📍 모듈 설치
npm install express-session
- session id 는 쿠키를 사용해 전달되므로 쿠키를 사용하는 모듈도 필요하다.
npm install cookie-parser
📍 모듈 조립
- 쿠키 미들웨어를 세션 미들웨어보다 먼저 연결 해줘야 한다.
- credentails 는 자격 증명을 저장하는 json 파일로 민감 정보가 포함되어 있기 때문에 ignore 처리 후 관리해주는 것이 좋다.
resave
- 요청이 수정되지 않았더라도 세션을 강제로 저장함 (비활성화 시키는 것이 좋음)
saveUninitialized
- 새로운 세션을 수정되지 않았더라도 강제로 저장함 (비활성화 시키는 것이 좋음)
secret
- 세션 id 쿠키에 서명할 때 사용하는 키
- cookie-parser 에서도 공용으로 사용할 수 있다.
const credentials = require('../.credentails/development.json')
const cookieParser = require('cookie-parser')
const expressSession = require('express-session')
app.use(cookieParser(credentials.cookieSecret))
app.use(expressSession({
resave: false,
saveUninitialized: false,
secret: credentials.cookieSecret,
}))
✏️ 사용하기
📍 세션 조회
- request 객체에서 session 의 key 값으로 조회할 수 있다.
req.session.{key값}
📍 세선 저장
- response 객체에 session 을 담아서 전달하면 된다.
res.session.{key값} = {value값}