애해 2021. 1. 22. 16:17
728x90

#JWT란?

JSON객체를 사용해 토큰 자체에 정보들을 저장하고 있는 Web Token이다.

JWT는 무겁지 않아 간편하게 적용해볼 수 있다. 

 

#JWT의 구성

JWT는 크게 Header, Payload, Signature 3부분으로 구성되어있다.  

< https://jwt.io/ 홈페이지의 토큰 예시 그림 >

- Header : Signature를 해싱하기 위한 알고리즘 정보가 담겨있다.

- Payload : 서버와 클랑잉언트가 주고받는 실질적인 데이터가 담겨있다. 

- Signature :  토큰의 유효성 검증할 수 있는 문자열이 담겨있다.

 

#JWT의 장점

(1) 중앙의 인증서버, 데이터 스토어에 대한 의존성 없음, 시스테 수평확장에 유리

(2) Base64 URL Safe Encoding  -> URL, Cookie, Header 모두 사용이 가능

 

#JWT 단점

(1)Payload의 정보가 많아지면 네트워크 사용량 증가함. 데이터 설계 고려 필요

(2)토큰이 클라이언트에 저장, 서버에서 클라이언트의  토큰을 조작할 수 없음

 

#Reference

jwt.io/

https://silvernine.me

반응형