oris9
Express 라우터, 쿠키, 세션 플래시 본문
Express 라우터 : 라우터를 개별파일이나 객체로 분리하고 그룹화해 복잡한 앱의 구조를 정리
app.get('', (req, res) => {
res.cookie('name', 'value')
res.send('OK SENT YOU A COOKIE!!')
}
$ npm install cookie-parser
(쿠기 파싱이 express 또는 그 패키지의 자체기능을 설정되어있어서 express밖에서 쓸려면 설치해줘야함)
서명된 쿠키 : 무결성(데이터가 변함없는지), 유효성확인 (암호화가아님)
res.cookie('name', 'value', {signed: true}
- 일반 쿠키와 서명된 쿠키를 명확히 구분하기 위해서 일반적인 req.cookies로는 서명된 쿠키를 확인할 수 없음.
req.signedCookies 로 확인해야함
**쿠키파서로 설정한 비밀키를 변경할경우 그 비밀키로 서명되었던 모든 쿠키가 무효화됨
HMAC
진정성(데이터가 같은 소스 또는 신뢰할만한 곳에서 왔는지)
세션을 활용해서 인증을 실행하거나, 로그인상태를 유지가능
: 쿠키와 비슷하게, 본질적으로 무상태 프로토콜인 HTTP에 상태성을 부여할 수 있음. 그렇지만 쿠키는 브라우저에, 세션은 서버측에 저장됨
브라우저 쿠키에는 제한이 있음(크기, 갯수) + 안전하지 않음
세션에서 브라우저에 저장되는 것은 세션을 여는 ID와 키뿐임 이걸 가지고 서버에서 가져옴
Redis와 비슷(데이터를 단기저장할 때 쓰는 데이터베이스) -빠르고 가벼움
'$ npm i express-session'
미들웨어를 인스턴스화 할 때 세션함수에 비밀키를 전달해야함
const sessionOption = { secret: ' ' , resave:false, saveUninitialize = false }
app.use(sessionOption)
플래시 메세지 - 새로고침하면 사라지는 메세지
'npm i connect-flash'
'Node.js' 카테고리의 다른 글
[Node.js] 미들웨어에 대해 알아보기 (0) | 2024.03.02 |
---|---|
[Node.js] Node.js 란? (0) | 2024.03.01 |
Mongoose express (0) | 2024.02.17 |
[Node] npm (0) | 2024.02.04 |
간단한 Express 실습 (0) | 2024.01.21 |