- JWT(JSON Web Token)는 정보를 안전하게 전송하기 위한 웹 표준으로 클라이언트와 서버 간의 인증과 정보 교류를 위해 사용된다. JWT는 JSON 형식으로 되어 있으며, 암호화된 토큰으로서 클레임(Claim)이라는 속성들을 포함하고 있다.

 

JWT의 세가지 구성 요소

 


1. Header, JWT의 종류와 사용하는 알고리즘에 대한 정보를 담고 있다.

 


 

 

2. Payload, 실제로 전송할 클레임(Claim) 정보를 포함한다.

클레임에는 사용자의 정보나 추가적인 메타데이터를 포함한다.

 


3. Signature, Header와 Payload의 내용을 Base64로 인코딩한 후,

비밀 키를 사용하여 서명된 부분으로 이를 통해 JWT의 무결성을 검증할 수 있다.


JWT의 사용

  • 인증(Authentication) : 사용자가 로그인할 때 JWT를 발급하여 클라이언트에게 전달한다. 
    클라이언트는 로그인 이후 요청에 해당 JWT를 포함시켜 사용자(본인)을 인증한다.
  • 정보 교류(information Exchage) : 클라이언트와 서버 간의 안전하게 정보를 교환하는 데 사용된다.
    JWT를 사용하면 HTTP 요청 헤더[각주:1]나 URL 파라미터에 포함해 사용할 수 있다.
  • Stateless 서비스 : JWT는 서버 측에서 세션 상태를 유지하지 ㅇ낳고도 인증을 처리할 수 있어
    stateless한 서비스 설계에 유리하다.
  1. URL 파라미터 보다 JWT의 노출없이 전송할 수 있는 HTTP 헤더를 통한 요청이 보통 사용된다 (Autorization: Bearer JWT 형식) [본문으로]

+ Recent posts