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

ZZAMBA님의 프로필 이미지

작성한 질문수

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

회원 조회 API - 인가

JWT 토큰이 어디 저장되어 있는 건가요?

해결된 질문

작성

·

549

0

 인증을 하면 JWT 액세스 토큰을 전달 받고, fetchUser의 header에 전달 받은 토큰을 넘겨 인가를 받는다는 것을 알았습니다.

이 때, JWT 토큰에 대해 서버가 알고 있어야 하는데 이것이 어디에 저장되어 있는 건가요?

답변 1

1

안녕하세요 ZZAMBA님!

서버는 JWT 토큰 자체에 대해서는 기억하지 않습니다. 대신 JWT 토큰을 생성하는 과정에서 사용된 secret을 사용해 복호화를 시도하죠.

우리가 로그인을 통해 토큰을 생성하는 getAccessToken 메서드의 코드를 살펴보면 사용자 정보와 함께 secret, expiresIn과 같은 옵션을 추가적으로 전달하는 것을 확인할 수 있습니다.

이후 인가가 필요한 API 요청이 들어오는 경우, Guard를 거쳐 strategy에 도달하게 되는데 이때, 토큰 생성시 사용했던 secret을 넘겨 이를 활용해 복호화를 진행하게 됩니다.

토큰 생성시 전달했던 secret같은 값을 넘겨 줌으로써 안에 담겨져 있는 회원의 정보를 열어볼 수 있는 것이죠.

학습자료로 제공된 노션을 확인해 보시면 조금 더 이해에 도움이 되리라 생각됩니다.

감사합니다 :)

ZZAMBA님의 프로필 이미지

작성한 질문수

질문하기