(controllers/auth.js 에서 위와 같이 local strategy 호출)
(위 경로의 코드에서 local() 함수를 등록 해놓았기 때문에,
localstrategy.js 가 호출이된다.)
(위에서 done 이 호출되는 순간
여기로 간다. , authError(서버실패), user(성공유저), info(로직실패) 인 done 에 넣었던 3개의 인자가 이 함수를 호출하는 것이다. 아래는 이 함수 구현하기)
이후 passport 에서 쿠키 객체를 가지고
여기서 유저 아이디를 찾는다. sid로 부터 유저 아이디 찾음
그리고 deserializeUser 를 호출,
찾은 아이디를 가지고 req.user를 만든다.
이러면 위와 같이 로그인 하고 나서 req.user를 쓸 수 있게 되는 것이다.
로그인 안했으면 req.user 는 null 이다.
(res.locals 는 미들웨어 간의 공유 데이터, 반면 res.session은 사용자간의 공유되는 데이터 이다. (로그인 되는 동안 그 데이터를 추적, 저장 가능하다.) res.session 또한 decerialize 될때 같이 만들어 진다고 볼 수 있다.
정확히는 connect.sid 쿠키로 세션에서 찾을 때 req.session 이 생성된다.
)