JWT (JSON Web Token)은 웹표준(RFC 7519)으로서 두 개체에서 JSON 객체를 사용하여 가볍고 자가수용적인 (self-contained) 방식으로 정보를 안정성있게 전달해준다.
자가 수용적 (self-contained)
JWT 는 필요한 모든 정보를 자체적으로 지니고 있다. JWT 시스템에서 발급된 토큰은, 토큰에 대한 기본정보, 전달 할 정보 (로그인시스템에서는 유저 정보를 나타낸다) 그리고 토큰이 검증됐다는것을 증명해주는 signature 를 포함하고있다.
JWT는 각각의 구성요소가 점(.)으로 구분이 되어있으며 구성 요소는 다음과 같다.
header에는 보통 토큰의 타입이나, 생성에 어떤 알고리즘이 사용되었는지 저장한다.
payload에는 보통 Claim 이라는 사용자와 토큰에 대한 property를 key-value의 형태로 저장한다.
서명(signature)는 서버에 있는 개인키로만 암호화를 풀 수 있기에, 다른 클라이언트는 임의로 Signature 를 복호화 할 수 없다.