Notice
Recent Posts
Recent Comments
Link
투케이2K
222. (NodeJs) [Mac Os] [express-session] [간단 소스] 세션 설정 시 rolling 값 지정 및 페이지 이동 시 maxAge 세션 값 갱신 수행 본문
NodeJs
222. (NodeJs) [Mac Os] [express-session] [간단 소스] 세션 설정 시 rolling 값 지정 및 페이지 이동 시 maxAge 세션 값 갱신 수행
투케이2K 2024. 10. 1. 11:02[개발 환경 설정]
개발 툴 : VS CODE
개발 언어 :NodeJs
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : NodeJs
- 개발 툴 : VsCode
- 개발 기술 : 세션
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[사전) express-session 간단 설명 및 옵션 설명]
// --------------------------------------------------------------------------------------
1. express-session 는 NodeJs 에서 쿠키 및 세션 관리를 편하게 할 수 있게 제공해주는 패키지 입니다.
>> 비슷한 기능 예로 cookie-session 이 있음
2. express-session 옵션 설정 기본 설명 :
>> secret : (필수) 세션 발급에 필요한 비공개 키
>> resave : 세션을 저장하고 불러올 때 다시 저장 할 지 여부
>> saveUninitialized : 세션 저장 시 초기화 여부
>> cookie (쿠키) :
- maxAge : (쿠키 보관 기간, millisecond)
- httpOnly : 클라이언트에서 쿠키 확인 가능 여부 (true: 확인 불가능 / http 전용 쿠키로 JavaScript 와 같은 클라이언트측 API 로 액세스할 수 없습니다)
- secure : HTTPS 프로토콜 상에서 암호화된 (encrypted ) 요청일 경우에만 쿠키를 전송 합니다
>> store: 세션이 저장될 DB Store 또는 Redis
>> rolling: 로그인 상태에서 다른 페이지로 이동 할 때마다 세션값에 변화(maxAge 시간 변경 등)를 줄 것인지 여부
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
// ---------------------------------------
// [모듈 추가]
// ---------------------------------------
const session = require('express-session'); // [세션 추가]
app.use(session({
secret: 'twok2k0123456789', // [세션 암복호화 키]
resave: true, // [세션 데이터가 바뀌기 전까지는 세션 저장소에 값을 저장하지 않음]
saveUninitialized: false, // [세션이 필요하기 전까지는 세션을 구동시키지 않음]
cookie: { maxAge: 3600000, httpOnly: true }, // [브라우저 쿠키 설정]
rolling: true // [세션값 변화 시 maxAge 변경 여부]
}))
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
[express-session 모듈 추가 방법]
https://blog.naver.com/kkh0977/223336146203
[express-session 세션 값 저장 방법]
https://blog.naver.com/kkh0977/223336162211?trackingCode=blog_bloghome_searchlist
[express-session 세션 값 삭제 방법]
https://blog.naver.com/kkh0977/223336173892?trackingCode=blog_bloghome_searchlist
[http cookie 쿠키 기본 옵션 설명 및 samesite 옵션 설명]
https://blog.naver.com/kkh0977/223595018272?trackingCode=blog_bloghome_searchlist
[express-session 깃 (Git) 사이트]
https://github.com/expressjs/session
// --------------------------------------------------------------------------------------
반응형
'NodeJs' 카테고리의 다른 글
Comments