아카이브

[Node][Express] Middleware | 01. cookie-parser 본문

Backend/Node.js

[Node][Express] Middleware | 01. cookie-parser

Rayi 2024. 8. 19. 10:09

패키지 설치가 필요한 미들웨어 입니다.

 

cookie-parser는 요청으로 전달받은 쿠키를 파싱해주는 미들웨어입니다.

쿠키는 요청의 헤더값으로 전달되며, 원래는 문자열의 형태로 읽어올 수 있습니다.

import express from 'express'

const app = express()

app.get('/login', (req, res) => {
  console.log(req.headers.cookie)  // cookie 헤더의 값을 출력합니다.
  return res.json({ message: 'get method called' })
})

app.listen(3000, () => {
  console.log('Server is listening on port 3000')
})

다음과 같이 쿠키로 id=2345값을 요청에 포함시키면, 미들웨어는 이렇게 쿠키 값을 출력합니다.

GET http://localhost:3000/login
Cookie: id=12345

// 출력값
connect.sid=s%3AgMzrEUPCK2F6vPUSLfXF-laXcxtX5K_g.whufLDegwHxnDM5VVQfqjmz2F6DctlG5Oe%2Fro4mxWQA; id=12345

 

cookie-parser를 사용하면, 이 문자열을 좀 더 보기 쉽도록 객체 형태로 표시할 수 있습니다.

import express from 'express'
import cookieParser from 'cookie-parser'  // 추가됨

const app = express()

app.use(cookieParser())  // 추가됨

app.get('/login', (req, res) => {
  console.log(req.headers.cookie)  // cookie 헤더의 값을 출력합니다.
  return res.json({ message: 'get method called' })
})

app.listen(3000, () => {
  console.log('Server is listening on port 3000')
})
GET http://localhost:3000/login
Cookie: id=12345

// 출력값
{
  'connect.sid': 's:gMzrEUPCK2F6vPUSLfXF-laXcxtX5K_g.whufLDegwHxnDM5VVQfqjmz2F6DctlG5Oe/ro4mxWQA',
  id: 12345
}
728x90
Comments