설치
npm install express-session memorystore
매번 실행할때마다 쿠키를 가져오는 expres-session과 메모리를 저장할 장소에 관한 memorystore
라이브러리기 때문에 npm을 통해서 설치해준다.
세팅
const session = require('express-session')
const memorystore = require('memorystore')(session)
세션을 사용할때 3가지를 기억하고 가자
1) 암호화 : 생성하는 결과물들이 겹치지 않게하는 처리
2) 세션을 저장할 공간 : 메모리에 하니? 하드에 하니? 서버에 하니? -> 우리는 메모리에 저장함.
3) 쿠키의 설정 : 세션이라면 기본적으로 필요한 쿠키. 보통은 쿠키의 만료시간이나 쿠키의 범위를 지정함.
const maxAge = 1000*60*5
let sessionObj = {
secret:"1234",
resave:false,
saveUninitialzed:true,
store:new Memorystore({checkPeriod : maxAge}),
cookie:{
maxAge:maxAge,
}
}
app.use(session(sessionObj))
- secret : 암호화를 할때 필요한 요소값. 아무 string이나 넣어도 무관함.
- store : 어디에 저장하니? 메모리에 memorystore패키지를 통해서 저장할거임. 초록색!=클래스! new로 설정
- checkPeriod(유효기간) : 시간이 지나면 쿠키 사용이 만료됨.
- 세션이 사용하는 시간단위는 1000이 1초. 5분=1000*60*5
실행했을때 다음과 같은 화면이 뜬다면 세팅이 모두 끝났다.
사용) 세션 생성
req.session.asdf="asdf"
session에 접근하기 위해서 req라는 객체 안에 session 속성을 만든것.
즉, req.session이란 속성을 저장하는 공간 안에 그 뒤에 나오는 asdf 속성을 추가하고 그 안에 asdf란 내용을 넣은것이다.
'프로그래밍 > nodejs' 카테고리의 다른 글
[220127] 상수와 리터럴의 차이, 객체리터럴, 템플릿리터럴 (0) | 2022.02.10 |
---|---|
[220210] 템플릿 엔진, nunjuck란? (0) | 2022.02.10 |
[220209] 라우터 2개 사용하기, 라우터를 폴더화 시키는 2가지 방법 (0) | 2022.02.09 |
[220208] 라우터와 미들웨어, 매개변수 next, 라우터 매개변수 (0) | 2022.02.09 |
[220208] 세션의 정의, 세션 구조 구현하기, 세션과 쿠키🍪의 관계 (0) | 2022.02.09 |
댓글