쿠키를 쉽게 설정하고 사용할 수 있게 도와주는 모듈.
익스프레스 객체에 미들웨이로 등록
# 설치
> npm i cookie-parser
const express = require('express');
const cp = require('cookie-parser');
const app = express();
// 쿠키 미들웨어 등록
app.use(cp());
app.get('/setcookie', (req, res) => {
res.cookie('member', {
id: 'apple',
name: '김사과',
gender: '남성'
},
{maxAge: 1000*60*3})
});
쿠키 생성 옵션
maxAge : 쿠키 유효기간을 밀리초 단위로 설정
expires : 쿠키의 만료시간을 GMT 시간으로 설정
path : cookie의 경로를 설정. 기본설정은 '/'
signed : 암호화시 사용
쿠키 조회
req.cookies.키값 : 일반 쿠키 사용
req.signedCookies.키값 : 암호화된 쿠키 사용
쿠키 삭제
res.clearCookie('키캆', {path: '경로'});
세션을 관리하기 위한 익스프레스 미들웨어 모듈
# 설치
npm i express-session
const express = require('express');
const session = require('express-session');
const app = express();
// 세션 미들웨어 등록
app.use(session({
secret: '!@#$%^&*',
resave: false,
saveUninitialized: true
}));
세션 모듈의 옵션
secret : 쿠키를 임의로 변조하는 것을 방지하기 위한 값
이 값을 통해서 세션을 암호화해서 저장
resave : 세션을 항상 저장할 건지 지정하는 값
이 값은 false로 하는 것을 권장
saveUninitialized : 세션이 저장되기 전에 saveUninitialized 상태로 미리 만들어져서 저장
세션 초기 설정
const 객체명 = req.session;
객체명.키 = 값;
세션 사용
객체명.키
세션 삭제
req.session.destroy(세션 삭제시 호출할 콜백 함수);