Passport 란?
Passport 모듈은 Node js의 미들웨어로 사용자 인증을 구현해준다
클라이언트가 서버에 요청할 자격이 있는지 인증할 때 사용
Ex) 소셜 로그인(Naver, Kakao 로그인 등)할 때 passport 모듈 사용
Passport.js
Simple, unobtrusive authentication for Node.js
www.passportjs.org
passport에는 Strategy를 제공하고 있어 이를 그대로 가져다 사용하여 기본적인 로그인 부터 여러 사이트의 소셜 로그인 서비스를 비슷하게 구현할 수 있음
Strategy의 종류
- Local Strategy(passport-local) : 로컬 DB에서 로그인 인증 방식
- Social Authentication(passport-kakao 등등) : 소셜 네트워크 로그인 인증 방식
인증과정
기본적인 id, pw 를 이용한 로그인(local Strategy)의 인증 과정
- 통신하게 되면 클라이언트에는 쿠키, 서버는 클라이언트에 대응하는 세션 저장소를 생성
- 클라이언트가 인증을 담당하는 API로 로그인 요청
- 서버는 DB 조회해서 ip, pw 일치 여부 확인 (Strategy 클래스)
- ip, pw 유효하면 세션 저장소에 해당 유저의 id 저장 (serializeUser() 함수)
- 세션 저장소에 사용자 id가 있다면 DB를 조회하여 req.user에 정보를 삽입 (deserializeUser() 함수)
로그인 요청을 처리할 때 passport.authenticate() 함수를 사용하여 2~5 번 실행됨
반응형
'TIL > 구글링 내용 저장소' 카테고리의 다른 글
[JavaScript] var, let, const (0) | 2022.07.14 |
---|---|
[표기법] Snake Case, Pascal Case, Camel Case, Kebab Case (0) | 2022.07.11 |
OAuth란? (0) | 2022.07.07 |
[Mac] AWS EC2 인스턴스 접속 (0) | 2022.07.06 |
[PostgrsSQL] 명령어 (0) | 2022.07.05 |
댓글