[Node.js] 로그인, 인증 기능 with Passport (1)

Hyun·2023년 8월 11일
0

nodejs

목록 보기
8/19

Node.js로 인증/인가를 구현할 때는 지금까지 사용한 방식으로 사용할 수 있지만 Passport라는 모듈을 사용하면 더욱 좋게 구현(페북, 구글, 트위터 인증등)이 가능합니다.
한번 사용해봅시다.

1. 사용할 모듈들

1) dotenv
2) express
3) nodemon
4) body-parser
5) cookie-parser
6) cors
7) mongoose
8) passport
9) passport-local
10) passport-google-oauth20

2. 초기 설정

1) 서버 설정

2) Model 생성

3. Passport를 이용한 로그인 회원가입 구현

1) 회원가입 기능

1. model에서 export한 User를 import함
2. Client가 입력한 req.body를 새 객체 User에 저장

2) 로그인 기능

Passport에선 Strategy 전략을 사용한다.
1) Normal Login -> localStategy
2) Google Login -> googleStategy
3) FaceBook Login -> facebookStategy
=> 나는 로컬 이용할 예정

2-1) Local 인증 방식 설정

  1. email과 password를 받아온다.
  2. err가 있으면 err 반환, 유저가 없으면 msg를 info에 담아 전달
  3. emai이 있으면 models의 schema에서 생성한 비밀번호 비교함수를 통해
    err가 있으면 err 반환, 성공시 isMatch가 존재하므로 User정보를 전달, 유저가 없으면 msg를 info에 담아 전달

2-2) Login 파트(서버)

2-3) 필요한 설정

app.use(passport.initialize())
app.use(passport.session())
require('./config/passport')

4. Passport를 이용해 세션 생성

2-1) 필요한 설정

0개의 댓글