Nodejs_32_passport 세팅, 회원가입 구현

‍박태우·2023년 11월 18일
0
  • 관련 패키지 설치

(passport와 이메일전용 local, 카카오톡 전용 -kakao, 그리고 암호화를 위한 bcrypt 설치를 한다.)

  • app.js 에서 passport 세팅하기

(모듈 불러오고 세팅하기, 이때 passport 관련 미들웨어는 반드시 session 미들웨어 아래에 존재해야 한다.)

  • 로그인의 흐름

  • passport 폴더에 passport 구현하기

과정 보기

1) auth.js에서 'local' 키워드가 있으면 2)로 이동

2) passport의 index.js에서 local() 함수가 호출됨 (구현은 안함)
그리고 localStrategy 가 실행된다.

3) 주석 참조 같은 폴더 내부의 localStrategy 로 이동

4) req.login을 호출해준다. 그리고 다시 passport/index로 이동

5) passport/index 에서 아래 함수가 실행되고, 거기서 user.id 만 꺼내서 저장한다.

6) app.js에서 아래와 같이 seesion 으로 저장이 된다.


  • 자세히 따라가보기

1) 프로젝트 하위에 middelwares 폴더 생성 후 index.js 작성

2) routes의 page.js

(로그인 된사람은 프로필, 안된사람은 회원가입 될 수 있도록 라우터 수정)

(강조된 부분을 추가, 수정함, middlewarers의 모듈들을 불러오고, null 을 req.user 로 변경, req.user 가 왜 유저 정보를 담는지는 passport 끝부분에 알게된다.)

+req.login(), req.isAuthenticated 등은 아래에서 생긴다. (app.js 부분)

(passport 연결 시에 위 값들이 생기는 것이다.)


  • 수정해보기

1) routes/auth.js 수정

2) app.js와 연결하기

3) auth 컨트롤러 구현하기 (controllers/auth.js)

  • 회원가입 구현 (passpor 관련 x)


회원가입 되나 실행해보기

(이렇게 db에 내 정보가 추가된 것을 확인가능)

profile
잘 부탁드립니다.

0개의 댓글