나름 혼자 이해해보고 정리해봤는데
빡대가리라 틀린부분 있는지만 좀 여쭤보고 싶어서요
=======================================
1. app.use 로 세션과 passport 미들웨어를 쓰도록 설치하고 설정하고 시작
2. post 요청으로 login 이 오면 passport 미들웨어를 실행하고 응답을 보낼거야
3. passport 는 대충 검사한다는 라이브러리임
4. 여튼 이렇게 검사를 진행하면서 필드명도 입력하고 세션도 부여한다고 하고
결과에 따라서 if 문을 돌리는데 이게 성공하면 "결과" 를 보낼거야
( 이때 done 을 쓰는데 이거는 그냥 응답 뱉는거라고 생각하면 돼 )
6. done 으로 뱉은 '결과' 는 serializeUser 의 "user" 값으로 가게 돼
(serializeUser : 사용자 정보 객체를 세션에 아이디로 저장하는 거 = 쿠키에 담기게 됨 )
7.serializeUser 에서는 성공시 done 으로 "user.id" 를 뱉는데 이거는 deserializeUser 의 "아이디"로 감
8. 그럼 이걸 이용해서 맞는걸 select 해서 결과를 done 으로 뱉어 "결과"
(deserializeUser : session에 저장된 값을 이용해서, 사용자 정보를 찾은 후 리턴)
9. 이 "결과" 가 바로 "요청.user" 가 되는거고 이 사용자의 정보를 res 에 담아서 보낼 수 있어