JWT는 웹 통신에서 사용되는 토큰 형식 중 하나로, 보안적인 목적을 위해 사용자 정보나 권한 등의 정보를 포함할 수 있다. 이러한 정보는 JWT의 구조 내 Payload 부분에 위치하며 parseClaimsJws(token)을 통해 추출가능하다.
JWT의 Payload:
JWT는 크게 Header, Payload, Signature로 구성되어 있다. 이 중 Payload 부분은 토큰에 포함되어 있는 사용자 정보나 권한 등의 데이터를 담고 있다.
public Claims getUserInfoFromToken(String token) {
return Jwts.parserBuilder().setSigningKey(key).build().parseClaimsJws(token).getBody();
}
Jwts.parserBuilder():
JWT의 파싱을 시작하기 위한 초기화 단계이다. 이를 통해 JWT의 구조를 읽어올 수 있다.
setSigningKey(key):
토큰의 서명을 검증하기 위한 Key를 설정하는 과정이다. 본 코드에서는 key
를 사용하여 서명의 유효성을 확인한다.
parseClaimsJws(token):
위의 설정을 바탕으로 입력된 token
을 파싱하며, 이 때의 결과로 JWT의 구조와 함께 Payload 내의 Claims 정보를 얻어올 수 있다.
getBody():
파싱된 결과에서 Payload 부분을 추출하는 메서드이다.