본문 바로가기
프로그래밍/nodejs

[220209] 세션 사용하기 : express-session, memorystore

by 한코코 2022. 2. 9.

설치

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란 내용을 넣은것이다.

댓글