Node.js의 Express와 Cookie-Parser로 쿠키를 활용하는 방법

Node.js의 Express와 Cookie-Parser로 쿠키를 활용하는 방법

쿠키는 웹 애플리케이션에서 사용자 정보를 저장하고 추적하기 위해 널리 사용되는 방법입니다. Node.js 환경에서 쿠키를 효과적으로 활용하기 위해서는 Express와 cookie-parser 미들웨어를 사용할 수 있습니다. 이 글에서는 cookie-parser 설치부터 적용까지의 과정을 알아보겠습니다.

Cookie-Parser 미들웨어 설치

먼저, 프로젝트에 cookie-parser 미들웨어를 설치합니다. 터미널에서 다음 명령어를 실행합니다.

npm install cookie-parser

Express 애플리케이션에 Cookie-Parser 적용

설치가 완료되면, express 애플리케이션에 다음과 같이 cookie-parser를 적용합니다.

사용 예제

const express = require('express');
const cookieParser = require('cookie-parser');

const app = express();
app.use(cookieParser());

// 홈페이지 방문 시 방문 횟수를 쿠키에 저장 및 업데이트하는 라우트
app.get('/', (req, res) => {
  if (req.cookies.visitCount) {
    // 쿠키에 visitCount가 존재하면, 값을 1 증가
    let visitCount = parseInt(req.cookies.visitCount) + 1;
    res.cookie('visitCount', visitCount);
    res.send(`Welcome back! You visited this page ${visitCount} times.`);
  } else {
    // 첫 방문시, visitCount를 1로 설정
    res.cookie('visitCount', 1);
    res.send("Welcome to our website! It's your first visit.");
  }
});

// 사용자가 로그인했다고 가정하는 로그인 라우트
app.get('/login', (req, res) => {
  const username = 'sampleUser'; // 예제를 위한 하드코드된 사용자명
  res.cookie('username', username, { httpOnly: true }); // HTTPOnly 속성으로 쿠키 보안 강화
  res.send(`You are logged in as ${username}.`);
});

const PORT = 3000;
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

위 예제에서는 / 경로에 대한 GET 요청이 들어오면 visitCount 쿠키 값을 확인하고, 해당 값이 있으면 1을 더하고 없으면 1로 설정합니다. 이렇게 사용자의 방문 횟수를 기반으로 환영 메시지를 보여주는 것이 가능합니다.

또한, /login 경로는 사용자가 로그인했다고 가정하고 username 쿠키를 설정하는 예제를 보여줍니다. 이 때 httpOnly 옵션을 사용하여 쿠키가 JavaScript에 의해 액세스되지 않도록 하여 보안을 강화합니다.

이렇게 간단한 쿠키를 사용하는 방법으로 사용자 경험을 개인화하고 상태를 유지하는 다양한 기능을 구현할 수 있습니다.

실행 결과

/ 경로에 대한 GET 요청이 들어오면 visitCount 쿠키 값을 확인하고, 해당 값이 있으면 1을 더하고 없으면 1로 설정합니다.

Express 애플리케이션에 Cookie-Parser 적용 예제 실행 화면 1
Express 애플리케이션에 Cookie-Parser 적용 예제 실행 화면 2


/login 경로로 사용자가 로그인했다고 가정하고 username 쿠키를 설정합니다.

Express 애플리케이션에 Cookie-Parser 적용 예제 실행 화면

더 알아보기

쿠키 사용에 관한 보다 상세한 정보는 Express 공식 문서에서 확인할 수 있습니다. 실제 애플리케이션에서 쿠키를 안전하게 관리하려면 HTTPS와 함께 Secure 및 HttpOnly 플래그를 쿠키에 설정하는 것이 좋습니다.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤