인프런 커뮤니티 질문&답변

김태준님의 프로필 이미지

작성한 질문수

Node.js 교과서 - 기본부터 프로젝트 실습까지

passport serializeUser/deserializeUser

passport-jwt관련 질문입니다.

작성

·

240

0

안녕하세요 제로초님. 강의에서 나오는 local관련 질문은아니지만... jwt관련 인증이 너무궁금해서 질문드립니다.

jwt관련인증은 세션을 대신하는걸로 알고 있습니다.

구글링을하면서 passport-jwt에 관련된 코드를 보고 작성을 하였는데 passport.authenticate("jwt") 이것이 어디에서 사용되야 하는 지 모르겠습니다. 

로그인을 할시  localStrategy에 jwt토큰을 발급하는 코드가 들어가있는데, 그렇다면 passport-jwt는 어디에 쓰여야 하는건가요?? serailizeUser와 desreailizeUser는 세션방식에만 이용가능한걸로 알고있습니다. 그렇다면 db가 필요한 모든 라우터 요청의 사이에 검증미들웨어를 만들어서 넣어주어야하는건가요?? 

답변 3

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

jwt는 DB에 저장하지 않습니다. DB 접근을 최소화하려고 jwt를 쓰는건데 DB를 사용하면 의미가 없어집니다.

0

김태준님의 프로필 이미지
김태준
질문자

passport-jwt에 const exUser = await User.findOne({

            where: { id: jwtPayload.id },
          });
          if (exUser) done(null, exUser);
이러한 부분이있던데 이것이 검증부분아닌가요??

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네네 검증 미들웨어는 직접 구현하셔야 하고요. passport jwt는 발급 부분만 담당합니다.