일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- node.js
- Component
- GRID
- heroku
- 리액트
- Session
- CLONE
- MongoDB
- DART
- frontend
- backend
- pug
- nodejs
- 자바스크립트
- API
- ES6
- NextJs
- TypeScript
- express
- react
- HTML
- graphQL
- javscript
- Flutter
- JavaScript
- CSS
- Mongoose
- clonecoding
- ECMAScript
- form
- Today
- Total
Enjoy Programming
Express - session on express 본문
바로 들어가자
npm i express-session 익스프레스 세션을 설치 해주고
app.js에 import
passport로 초기화및 세션을 저장해주기 전에 사용해 주자

session은 option을 지정해 주는데 쿠키나 도메인을 원하는데로 바꿔줄 수 있고 유효기간도 설정해 줄 수 있다.
그중 중요한 옵션인 secret을 지정해주자 - random string으로 쿠키에 있는 session ID를 암호화 하기 위한 것이다.
session id를 보낼때 실제로 그 값을 그대로 보내진 말자.. 중요정보다 암호화 해주자
RandomKeygen - The Secure Password & Keygen Generator
RandomKeygen is a free mobile-friendly tool that offers a randomly generated keys and passwords you can use to secure any application, service or device.
randomkeygen.com
랜덤키젠에서 키를 하나 가져와서 .. 음 바로 secret의 값으로 주지 않고 .env에 환경변수로 넣어 주자
쿠키를 해석하게 되면 해킹의 위험이 따른다.
그리고서 process.env.환경변수명으로 옵션값을 할당
이번엔 콘솔창에 resave랑,,,, saveUninitialized를 정의 하라고 한다..
해주자.
음

대충 읽어보니 강제로 세션store에 저장하는 옵션.. 수정이 되지 않았더라도 강제로 save... 이정도로,,,
그리고 savUninitialized 옵션도 주자.. 두값다 권하는 값을 줬다.
www.npmjs.com/package/express-session
express-session
Simple session middleware for Express
www.npmjs.com
자 재시작하면~!~!
쿠키정보가 뜬다.. 근데 header는 바뀌지 않았다... header.pug 에 !user.isAthenticated를 !user로 바꿔주자
req.user이기 때문에~!
수행순서를 다시 복기하자
로그인 하면 이정보를 담은 쿠키가 express로 보내지고 express는 session을 이용해 쿠키를 가질 수 있게 된다.
그리고 passport를 통해 session을 이용하는데, 즉 session이 가진 쿠키를 이용한다.
그 passport로 deserialize를 진행. passport는 deserialize한 사용자 정보를 미들웨어나 routes의 request object에 할당한다.
그렇게 어떤 라우트에서도 계속 사용자를 체크 할 수 있다.
서버를 재시작하면 새션의 정보가 사라진다. why? 현재 session정보와 쿠키정보를 모두 메모리에 저장하고 있기 때문이다.
다음 포스팅은 이를 유지시켜보자
'JavaScript > Node.JS' 카테고리의 다른 글
Express - Github Log In (0) | 2021.05.12 |
---|---|
Express - MongoStore and MiddleWares (0) | 2021.05.12 |
Express - Loggin the User In (0) | 2021.05.12 |
Express - passport JS && Local Authentication (0) | 2021.05.12 |
Express - PassportJS(Node.js) --- 정리 필요 (cookie && session) (0) | 2021.05.11 |