Web

JWT (Json Web Token)

noeul_noeul__ 2024. 5. 23. 23:47

JWT란 ?

JWT(json web token)는 Json 포맷을 이용하여 서버와 클라이언트 사이에서 사용자 인증 정보를 안전하게 전달하기 위한 웹 토큰 표준이다.

 

특징 

  • 토큰 자체에 인증에 필요한 정보가 포함되어 있어 데이터베이스 조회가 필요하지 않다.
  • 토큰은 헤더, 페이로드, 시그니처로 구성된다.
  • 누구든지 JWT 내부에 들어있는지 정보를 확인할 수 있다.
  • JWT가 인증 서버에서 발급되었는지 위변조 여부를 확인 가능하다.

 

구성요소 

  • Header : 토큰의 타입, 해시 암호화 알고리즘이 포함되어 있다.
    타입은 토큰의 유형을 나타내며 해시 암호화 알고리즘에는 SHA256, RSA, HMAC과 같은 해시 암호화 알고리즘을 나타낸다.

  • Payload : 토큰에 담을 클레임 (claim) 정보를 포함한다. 페이로드에 담는 정보의 한 '조각'을 클레임이라고 칭하며,
    이는 name / value 의 한 쌍으로 이뤄져있다. 토큰에는 여러 개의 클레임을 포함시킬 수 있다.
    또 클레임의 정보로는 등록된(registered) 클레임과 공개(public) 클레임, 비공개(private) 클레임으로 세 종류가 존재한다.
  • Signature : Secret key를 포함하며 암호화되어 있다.

 

 

동작 원리 

 

'Web' 카테고리의 다른 글

HTTP Status Code (추가예정)  (0) 2024.05.27
Bcrypt  (0) 2024.05.24
트랜잭션  (0) 2024.05.22
쿠키  (0) 2024.05.21
관계형 데이터베이스  (0) 2024.05.20