스프링 부트

Claims란?

코드 죄수 2024. 7. 21. 18:55

Claims란 JWT 를 사용할때 사용되는 객체로 토큰 안에 Payload 부분에 정보를 담게 된다.

 

여기에 담는 정보를 Claim(클레임) 이라 부른다.

 

쉽게 말해 토큰에 정보들을 담는 객체라고 생각하면 될 것 같다.

 

코드를 직접적으로 보면 더 받아 들이기 쉬울 것이다.

 

아래 코드를 보면 정보를 담는 객체와 Getter 정도만 있다는 것을 알 수 있다.

public interface Claims extends Map<String, Object>, Identifiable {
    String ISSUER = "iss"; // 토큰 발급자
    String SUBJECT = "sub"; // 토큰 제목
    String AUDIENCE = "aud"; // 토큰 대상자
    String EXPIRATION = "exp"; // 토큰 만료 시간
    String NOT_BEFORE = "nbf"; // 토큰 처리를 위해 수락되서는 안되는 시간
    String ISSUED_AT = "iat"; // 토큰 발행 시간
    String ID = "jti"; // 고유 식별자 

    String getIssuer();

    String getSubject();

    Set<String> getAudience();

    Date getExpiration();

    Date getNotBefore();

    Date getIssuedAt();

    String getId();

    <T> T get(String var1, Class<T> var2);
}