일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- backend
- Mongoose
- nodejs
- graphQL
- Flutter
- Component
- react
- CLONE
- frontend
- API
- node.js
- heroku
- MongoDB
- pug
- 리액트
- javscript
- GRID
- TypeScript
- ES6
- HTML
- NextJs
- clonecoding
- CSS
- JavaScript
- ECMAScript
- Session
- form
- express
- DART
- 자바스크립트
- Today
- Total
Enjoy Programming
Express - Loggin the User In 본문
자 이제 기존에 설정한 로컬 미들웨어를 수정해보자
기존에는 가짜 인증을 만들어서 로그인을 시켰었고 이제는 실제 정보가 있다
res.locals.user = req.user - passport가 user정보를 object로 만들어서 이 정보를 request에 올려준다.
이로써 template들이 local로 유저정보에 접근할 수 있게 해준다.
아 그리고 한가지 or null을 쓴 이유는 유저 정보가 없으면 템플릿에 뿌려줄 정보가 없다.. 이때는 null을 넘겨주도록 하자.
그리고 app.js로 가자
cookieparser 밑에 passpor모듈을 임포트 해줬다.
그리고 passport.js도 import 해주자.
그리고서 localsmiddleware위에
이 두녀석을 사용해 주자.
이렇게 작성하면 cookieParser로 부터 쿠키가 얻어지고 쭈욱 내려와서 초기화 시켜주고 passport가 스스로 쿠키를 들여다봐서
세션 정보에 해당하는 사용자를 찾아준다.
그리고 passport는 찾은 사용자를 requeset의 object 즉 미들웨어의 req.user로 만들어 준다.
그렇게 하면 user object를 template에 추가 시켜줄 수 있다. 예를 들어 header템플릿에
유저의 인증 여부에 따라 보여질 태그가 달랐는데 이것을 수행할 수 있는 것이다.
다 저장하고 다시 서버를 시작해보자
가입하고 나면 홈으로 redirect되는데.. 쿠키 정보가 없다...
express session을 설치 하지 않았다 . .. 세션에 정보를 담아 쿠키에 담아야 하는데 그걸 안한거..
'JavaScript > Node.JS' 카테고리의 다른 글
Express - MongoStore and MiddleWares (0) | 2021.05.12 |
---|---|
Express - session on express (0) | 2021.05.12 |
Express - passport JS && Local Authentication (0) | 2021.05.12 |
Express - PassportJS(Node.js) --- 정리 필요 (cookie && session) (0) | 2021.05.11 |
WEBPACK (0) | 2021.05.10 |