일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Web2
- template
- 실행
- sanitize
- nodejs
- 자동
- node.js
- app.js
- 생활코딩
- 객체정의
- passport
- dr 학교측
- 데이터
- 설치
- 객체
- 모듈
- 함수
- math
- JavaScript
- 객체란
- local
- express
- /bin/www
- nodemon
- Generator
- lowdb
- Web
- tPerRow hn측
- round
- Passport.js
- Today
- Total
괜찮아 잘하고있어 힘내
6. 로그인 기능 구현 본문
32) 로그인을 했을때 username과 password 값이 채워져서 들어온다.
우리는 로그인할때 email을 입력하기 때문에 의미에 맞게 username을 email로 바꿔주면 좋다.
usernam이 사용된 세 군데를 email로 바꿔준다.
34) 사용자가 입력한 email과 authData.email값을 같은지 비교한다.
우리는 실제로 사용자가 회원가입한 다이나믹한 데이터를 들고와서 비교해야하기 때문에
authData 코드들을 지워준다.
29) 임의로 파일에 사용자 정보를 저장한 authData객체가 아닌
직접 사용자가 회원가입한 정보를 db.json 파일에서 가져와야 하기 때문에 lowdb를 사용해
users테이블에 접근한다.
그리고 email값과 password값이 27)에서 넘어온 email과 passport를 가지고 users테이블에서 검색한다.
그리고 그 검색한 결과를 user 변수에 담는다.
30) 만약 로그인에 성공했다면 사용자가 입력한 email값과 password값을 가지고 db.json 안에있는 users테이블을 조회할것이고 email과 password를 비교해서 해당하는 사용자가 있다면 user 변수에 값이 들어가게 되므로
if문에 있는 user는 참이된다. 즉, 로그인에 성공했다면
31) done( )이 리턴되고, 두번째 인자로 user 변수가 넘어간다.
user변수는 29) 에서 lowdb로 조회한 사용자 정보가 담겨져 있다.
32) 로그인에 실패했다면
33) 로그인 실패 메세지를 넘겨준다.
새롭게 회원가입을 하면
자동으로 로그인 된다.
logout 버튼을 누르고
다시 로그인 해보면 문제없이 로그인 된다.
serializeUser가 먼저 나오고
deserializeUser가 두번째로 나온다.
다른 페이지로 넘어가면
deserializeUser가 계속 나온다.
'웹 개발 > Multi User on Passport' 카테고리의 다른 글
8. 글 목록 lowdb로 전환 (0) | 2021.04.09 |
---|---|
7. 접근제어 글쓰기 (0) | 2021.04.08 |
5. 세션 스토어에 저장 (0) | 2021.04.06 |
4.2. 회원정보 저장 (중복없는 id값, 비밀번호 검사) (0) | 2021.04.05 |
4.1. 회원 정보 저장 (0) | 2021.04.04 |