Express-session이란?
Express에서 세션 관리를 도와주는 미들웨어로 서버 측에서 사용자에 대한 데이터를 저장하고 클라이언트에는 유니크한 식별자만 전달하는 방식으로 작동합니다.
이 식별자는 쿠키를 통해 전달되며 이를 통해 사용자가 다시 방문할 떄마다 해당 사용자의 데이터에 접근 할 수 있게 됩니다.
Express-session 주요 특징
- 세션 저장소 : 기본적으로 express-session은 메모리에 세션을 저장합니다. 실제 프로덕션 환경에서는 영구 저장소에 사용하는 권장 합니다.
- 세션 ID : 각 세션은 고유한 ID를 가지며 이 ID는 클라이언트의 쿠키에 저장됩니다.
- 세션 만료 : 세션 만료 시간이 존재하며 설정에 따라 세션은 일정 시간 후에 만료됩니다.
- 쿠키 설정 : express-session은 쿠키 설정을 포함하여 secure, httpOnly, maxAge 등의 옵션을 제공합니다.
Express-session 기본 예제
- app.js에 session 정보 추가
const express = require('express');
const session = require('express-session');
const env = require("dotenv").config();
const app = express();
app.use(
session({
// 클라이언트에 전송되는 세션 ID 쿠키의 이름. 기본값 -> connect.sid
name : "test"
// 세션 ID를 서명하는데 사용되는 비밀 키로 비밀유지 필수
secret: process.env.SECRET_KEY,
// 요청이 오면 세션에 어떤 변경 사항이 없더라도 세션을 다시 저장할지 여부를 지정 (false 권장)
resave: false,
// 초기화되지 않은 세션을 저장소에 저장할지 여부를 지정
saveUninitialized: false
}
));
app.listen(process.env.PORT, ()=>{
console.log(`Server On UsePORT : ${process.env.PORT}`);
});
728x90
'Nodejs' 카테고리의 다른 글
[NodeJs] WebSocket을 활용한 채팅방 구현 (0) | 2023.08.31 |
---|---|
[NodeJs] Sequelize 알아보기 (0) | 2023.08.30 |
[NodeJs] JWT 알아보기 (0) | 2023.08.29 |
[NodeJs] bcrypt를 활용한 간단한 회원가입 만들기 (0) | 2023.08.29 |
[NodeJs] MVC 모델을 활용한 간단한 로그인 기능 구현 (0) | 2023.05.22 |