JWT 사용 흐름

1. Client 가 username, password 로 로그인 성공 시

  • "로그인 정보" → JWT 로 암호화 (Secret Key 사용)
  • JWT 를 Client 응답에 전달. (JWT 전달방법은 개발자가 정함 - 예) 응답 Header 에 아래 형태로 JWT 전달)
  • Client 에서 JWT 저장 (쿠키, Local storage 등)

2. Client 에서 JWT 통해 인증방법

  1. JWT 를 API 요청 시마다 Header 에 포함 - 예) HTTP Headers
  2. Server
    1. Client 가 전달한 JWT 위조 여부 검증 (Secret Key 사용)
    2. JWT 유효기간이 지나지 않았는지 검증
    3. 검증 성공시, JWT → 에서 사용자 정보를 가져와 확인  ex) GET /api/products : JWT 보낸 사용자의 관심상품 목록 조회

 

JWT 구조

  • JWT 는 누구나 평문으로 복호화 가능
  • 하지만 Secret Key 가 없으면 JWT 수정 불가능 → 결국 JWT 는 Read only 데이터

+ Recent posts