[NodeJS] cookie-parser & express-session 모듈

Tim·2022년 2월 26일
0

NodeJS

목록 보기
4/4
post-thumbnail

쿠키를 쉽게 설정하고 사용할 수 있게 도와주는 모듈.
익스프레스 객체에 미들웨이로 등록

# 설치
> npm i cookie-parser
  • 사용 방법
    cp() : 일반 쿠키를 사용
    cp('암호화하기 위한 문자열') : 암호화된 쿠키를 사용
    ex) cp('!@#$%^&')
  const express = require('express');
  const cp = require('cookie-parser');

  const app = express();
  // 쿠키 미들웨어 등록
  app.use(cp());
  • 쿠키 생성
    res.cookie('키', '값', {쿠키생성 옵션});
  app.get('/setcookie', (req, res) => {
      res.cookie('member', {
          id: 'apple',
          name: '김사과',
          gender: '남성'
      }, 
      {maxAge: 1000*60*3})
  });
  • 쿠키 생성 옵션
    maxAge : 쿠키 유효기간을 밀리초 단위로 설정
    expires : 쿠키의 만료시간을 GMT 시간으로 설정
    path : cookie의 경로를 설정. 기본설정은 '/'
    signed : 암호화시 사용

  • 쿠키 조회
    req.cookies.키값 : 일반 쿠키 사용
    req.signedCookies.키값 : 암호화된 쿠키 사용

  • 쿠키 삭제
    res.clearCookie('키캆', {path: '경로'});

2. express-session 모듈

세션을 관리하기 위한 익스프레스 미들웨어 모듈

# 설치
npm i express-session
  • 사용 방법
    session({세션 모듈 옵션})
  const express = require('express');
  const session = require('express-session');

  const app = express();
  // 세션 미들웨어 등록
  app.use(session({
      secret: '!@#$%^&*',
      resave: false,
      saveUninitialized: true
  }));
  • 세션 모듈의 옵션
    secret : 쿠키를 임의로 변조하는 것을 방지하기 위한 값
                  이 값을 통해서 세션을 암호화해서 저장
    resave : 세션을 항상 저장할 건지 지정하는 값
                   이 값은 false로 하는 것을 권장
    saveUninitialized : 세션이 저장되기 전에 saveUninitialized 상태로 미리 만들어져서 저장

  • 세션 초기 설정
    const 객체명 = req.session;
    객체명.키 = 값;

  • 세션 사용
    객체명.키

  • 세션 삭제
    req.session.destroy(세션 삭제시 호출할 콜백 함수);

profile
HTML5, CSS3, JavaScript, Typescript, React 프론트엔드 개발자입니다.

0개의 댓글