- 헤더 + 페이로드 + 서명
- 헤더
- 토큰 유형, 서명알고리즘, Base64 URI로 인코딩됨
- 페이로드
- 데이터, 토큰 발급자, 토큰 유효기간, Base64URI로 인코딩
- 시그니처(서명)
- (인코딩된 header + payload) + 비밀키 기반으로 헤더에 명시된 알고리즘으로 다시 생성한 서명값!
장점
- 사용자 인증에 필요한 모든 정보는 토큰 자체에 포함. 별도 인증 위한 저장소 필요 없다
- 다른 유형의 토큰과 비교해서 경량화
- SAML(Security Assertion Markup Language Tokens)이란 토큰 있지만 이에 비해 훨씬 경량화
- 디코딩시 JSON이 나오기에 JSON 기반으로 쉽게 직렬화, 역질렬화가 가능
단점
- 토큰이 비대해질 경우, 서버에 부하 줄 수 있다
- 토큰 탈취당할 경우 디코딩시 데이터 아무나 볼 수 있음