일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- node.js
- Web2
- 자동
- round
- 데이터
- Generator
- passport
- sanitize
- nodemon
- lowdb
- Passport.js
- 객체란
- 객체
- local
- 객체정의
- nodejs
- JavaScript
- template
- Web
- 함수
- math
- tPerRow hn측
- 모듈
- 생활코딩
- 실행
- 설치
- /bin/www
- express
- dr 학교측
- app.js
- Today
- Total
괜찮아 잘하고있어 힘내
5.3. passport 세션이용 3 본문
28~29) passport 설치
31) express에 설치
32) 세션을 내부적으로 쓸것이라고 한다.
사용자가 전송한 데이터를 passport가 받도록했다.
74) 성공하면 루트(/)로, 실패하면 다시 로그인페이지로 돌아가게 한다.
72) local 전략을 쓰겠다.
48) local전략을 passport.use를 통해서 new LocalStrategy를 설치
53~68) 설치를 하게되면 사용자가 데이터를 전송할때마다 53번줄 callback함수가 호출되게 된다.
그때의 username으로 들어오는 값과 password로 들어오는 값을 우리가 보관하고 있는 실제 올바른 아이디와 패스워드를 비교해서
59) 맞다면 3번째 인자의 done의 두번째 인자로 사용자의 실제 데이터를 주입해주면 된다.
done이 호출되면
34) serializeUser의 callback함수를 호출하도록 약속돼어있고, 그 callback함수는 첫번째 인자로
아까 우리가 주입한 authData를 주도록 약속돼 있다.
36) 그러면 우리는 그 데이터에서 사용자의 식별자값을 추출해서 done이라고 하는 함수를 호출하면 식별자 값은
세션 데이터의 passport 안에있는 user의 값으로 간다.
즉, serializeUser는 로그인에 성공했을때 로그인에 성공했다라는 사실을 세션스토어에 저장하는 기능을 하는것이 serializeUser이다.
로그인에 성공하면 serializeUser가 딱 한번 호출된다.
사용자가 로그인에 성공한 후 각각의 페이지 아무곳에 방문할때 마다 그사람이 로그인한 사용자인지 아닌지를 체크해야한다. 그것을 체크할때 passport는 deserializeUser를 호출한다.
그래서 우리가 리로드할때마다 deserializeUser가 호출된다.
serializeUser는 로그인에 성공했을때 딱한번 호출되면서 사용자의 식별자를 세션스토어에 저장한다.
deserializeUser는 그 저장된 데이터를 기준으로 해서 우리가 필요한 정보를 조회할때 사용하는것이 deserializeUser이다.
'웹 개발 > Passport' 카테고리의 다른 글
7. 로그아웃 (0) | 2021.03.26 |
---|---|
6. passport 로그인 확인 (0) | 2021.03.26 |
5.2. passport 세션이용 2 (0) | 2021.03.24 |
5.1. passport 세션이용 1 (0) | 2021.03.24 |
4.2. passport 자격확인2 (0) | 2021.03.22 |