Santos의 개발블로그

cookie-parser 본문

NPM/Valuable

cookie-parser

Santos 2020. 8. 1. 12:30

* 이 글은 https://www.npmjs.com/package/cookie-parser 번역하였습니다. 

 

쿠키 헤더를 파싱하고 cookie이름들로 된 object key로 req.cookies를 채웁니다. 

선택적으로 비밀 문자열을 전달하여 서명 된 쿠키 지원을 활성화 할 수 있습니다. 이 문자열은 다른 미들웨어에서 사용될 수 있도록 req.secret을 지정합니다. 

#1: Installation

$ npm install cookie-parser

#2: API

var express = require('express')
var cookieParser = require('cookie-parser')
 
var app = express()
app.use(cookieParser())

@2-1 cookieParser(secret, options)

- secret은 쿠키를 서명하는데 사용되는 String 또는 Array입니다. 이것은 선택사항이고, 지정되지 않은 경우 서명된 쿠키를 parsing 하지 않습니다. 만약 string를 사용한다면 secret값으로 사용되어져야 합니다. 만약 array를 사용한다면, 각각의 secret값으로 쿠키 서명을 해제하게 될 것입니다.  

- options는 두번째 옵션으로 cookie.parse를 전달하는 객체입니다. 자세한 내용은 cookie를 참조하세요.

 

@2-2 cookieParser.JSONCookie(str)

- 값이 String일 경우, JSON cookie로 cookie의 값들을 구문분석 합니다. 만약 JSON cookie 라면, 구문분석된 JSON 값을 반환하고, 그렇지 않다면 전달된 값을 반환합니다.

 

@2-3 cookieParser.JSONCookie(cookies)

- 값이 객체일 경우, 원래 값을 구문분석된 값으로 바꾸는 것과 동시에, key를 반복하면서 각각의 값들을 JSONCookie로 호출합니다. 그리고 전달된 것과 동일한 객체를 반환합니다.

 

@2-4 cookieParser.signedCookie(str, secret)

- 값이 String일 경우, 쿠키의 값들을 서명된 쿠키로 구문분석합니다. 만약에 서명된 쿠키거나 서명이 유효하다면, 구문분석된 서명되지 않은 값을 반환합니다. 만약 서명되지 않은 값이라면, original 값은 반환됩니다. 만약 signature이 검증되지 않고, 값이 서명되었라면, false값을 반환합니다.

- secret 인자는 array 또는 string값이여야 합니다. 만약 string를 사용한다면 secret값으로 사용되어져야 합니다. 만약 array를 사용한다면, 각각의 secret값으로 쿠키 서명을 해제하게 될 것입니다.

 

@2-5 cookieParser.signedCookie(str, cookies)

- 값이 객체일 경우, 서명된 cookie의 값들이 존재한다면 key들을 반복하면서 검사를 할것입니다. 서명된 cookie면서 signature이 유효하다면, 객체에 있는 key는 삭제되고 새로운 객체가 추가되어 반환될 것입니다.

- secret 인자는 array 또는 string값이여야 합니다. 만약 string를 사용한다면 secret값으로 사용되어져야 합니다. 만약 array를 사용한다면, 각각의 secret값으로 쿠키 서명을 해제하게 될 것입니다.

#3: Example

var express = require('express')
var cookieParser = require('cookie-parser')
 
var app = express()
app.use(cookieParser())
 
app.get('/', function (req, res) {
  // Cookies that have not been signed
  console.log('Cookies: ', req.cookies)
 
  // Cookies that have been signed
  console.log('Signed Cookies: ', req.signedCookies)
})
 
app.listen(8080)
 
// curl command that sends an HTTP request with two cookies
// curl http://127.0.0.1:8080 --cookie "Cho=Kim;Greet=Hello"

< 참고자료 >

 

[사이트] #NPM

https://www.npmjs.com/package/cookie-parser

 

<Library> cookie-parser end

'NPM > Valuable' 카테고리의 다른 글

Axios 뜯어보기  (2) 2023.11.30
Recoil  (0) 2023.11.04
cookie  (0) 2020.12.26
axios  (0) 2020.07.26
dotenv  (0) 2020.07.26
Comments