Enjoy Programming

Express - Loggin the User In 본문

JavaScript/Node.JS

Express - Loggin the User In

LEETAEEON 2021. 5. 12. 03:44

자 이제 기존에 설정한 로컬 미들웨어를 수정해보자

기존에는 가짜 인증을 만들어서 로그인을 시켰었고 이제는 실제 정보가 있다

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을 설치 하지 않았다 . .. 세션에 정보를 담아 쿠키에 담아야 하는데 그걸 안한거..