Nodejs_33_passport로 이메일 로그인 만들기

‍박태우·2023년 11월 19일
0

(controllers/auth.js 에서 위와 같이 local strategy 호출)

(위 경로의 코드에서 local() 함수를 등록 해놓았기 때문에,
localstrategy.js 가 호출이된다.)

  • localstrategy.js 에서 로그인 구현하기

(위에서 done 이 호출되는 순간

여기로 간다. , authError(서버실패), user(성공유저), info(로직실패) 인 done 에 넣었던 3개의 인자가 이 함수를 호출하는 것이다. 아래는 이 함수 구현하기)

  • localstrategy.js 에서 로그아웃 구현하기




  • user.id 만 저장하는 이유 (passport.serializeUser)

  • 7 번과정 (app.js)

이후 passport 에서 쿠키 객체를 가지고

여기서 유저 아이디를 찾는다. sid로 부터 유저 아이디 찾음

그리고 deserializeUser 를 호출,

찾은 아이디를 가지고 req.user를 만든다.

이러면 위와 같이 로그인 하고 나서 req.user를 쓸 수 있게 되는 것이다.
로그인 안했으면 req.user 는 null 이다.

  • 로그인 이후의 과정


(res.locals 는 미들웨어 간의 공유 데이터, 반면 res.session은 사용자간의 공유되는 데이터 이다. (로그인 되는 동안 그 데이터를 추적, 저장 가능하다.) res.session 또한 decerialize 될때 같이 만들어 진다고 볼 수 있다.

정확히는 connect.sid 쿠키로 세션에서 찾을 때 req.session 이 생성된다.

)


  • auth.js 로그인

  • 로그아웃 설명 (auth.js)

  • 실행 해보기

profile
잘 부탁드립니다.

0개의 댓글