Claim Set
JWT Claim Set은 실제 토큰의 바디로 토큰에 포함할 내용을 넣는다
JWT에서 토큰의 정보를 클레임이라고 부르기 때문에 이 정보를 모두 가지고 있는 바디 부분을 Claim Set이라고 부르고 Claim Set은 키 부분인 Claim Name과 값 부분인 Claim Value의 여러 쌍으로 이루어져 있다
데이터베이스 조회할 필요없이 사용자 아이디 등을 여기에 담아서 바로 사용할 수 있다
등록된 클레임 이름은 IANA JSON Web Token Claims에 등록된 이름이고 필수값은 아니지만 공통으로 사용하기 위한 기본값이 정해져 있다. 아래 목록이 등록된 클레임 이름인데 모두 선택사항이다.
iss
: 토큰을 발급한 발급자(Issuer)
sub
: Claim의 주제(Subject)로 토큰이 갖는 문맥을 의미한다.
aud
: 이 토큰을 사용할 수신자(Audience)
exp
: 만료시간(Expiration Time)은 만료시간이 지난 토큰은 거절해야 한다.
nbf
: Not Before의 의미로 이 시간 이전에는 토큰을 처리하지 않아야 함을 의미한다.
iat
: 토큰이 발급된 시간(Issued At)
jti
: JWT ID로 토큰에 대한 식별자이다.
공개된 클레임이름은 토큰에서 사용하기 위해서 정의했지만, 충돌을 방지하기 위해서 공개된 이름이고 비밀 클레임이름은 서버와 클라이언트가 협의로 사용하는 이름을 의미한다.