- session은 서버가 클라이언트를 식별하기 위하여 사용한다. 대표적인 사용예로는 로그인 관리가 있다.
- express 3.x 버전에서는 express의 Middleware 즉, express-session, cookie-session, body-parser, cookie-parser 외의 여러 내장했던 모듈들이 포함되어 있었다고 한다.
- 하지만 express 4.x 버전 부터는 이러한 미들웨어들이 분리가 되면서, express-session등을 따로 사용하기 위해선 별도의 설치가 필요하다.
- 진행중인 express 폴더내에 express-session을 따로 설치해준다.
1 | npm install express-session |
- 그리고 express에 연결시켜줍니다.
1 2 3 4 5 6 7 8 9 10 | var express = require('express'); var session = require('express-session'); ... var app = express(); ... app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: true })); |
- 여기서 secret은 쿠키의 값의 변조를 방지하기 위한 값입니다.
그리고 세션의 기본 난수 발생 등을 위하여 사용되는 것입니다.??(확인 안해봤습니다.)값은 원하시는 대로 넣으시면됩니다. - resave는 세션의 값이 변경이 될경우 자동 저장의 여부인데 기본적으로 default값은 true값 이지만 express-session 메뉴얼에서도 추천하지 않습니다.
- saveUninitalized는 반대로 default값이 false지만 역시 express-session에서 추천하지 않습니다. 때문에 true로 설정합시다.
- 연결이 되었으니 사용해 봅시다.
1 2 3 | //req.session.[세션의 변수명] = [넣을 값]; req.session.logined = 'logined'; |
- 이제 express내에서 받아오는 request(req)의 세션 값을 가져오고 수정하기 위하여 위와 같이 접근하면 됩니다.