JWT의 Payload 정보 추출

song yuheon·2023년 8월 29일
0

Spring

목록 보기
19/93
post-thumbnail
post-custom-banner

JWT는 웹 통신에서 사용되는 토큰 형식 중 하나로, 보안적인 목적을 위해 사용자 정보나 권한 등의 정보를 포함할 수 있다. 이러한 정보는 JWT의 구조 내 Payload 부분에 위치하며 parseClaimsJws(token)을 통해 추출가능하다.



JWT의 Payload와 parseClaimsJws(token)

  1. JWT의 Payload:
    JWT는 크게 Header, Payload, Signature로 구성되어 있다. 이 중 Payload 부분은 토큰에 포함되어 있는 사용자 정보나 권한 등의 데이터를 담고 있다.

  2. JWT 유효성 검증 및 parseClaimsJws(token)


사용자 정보 추출 코드 분석

public Claims getUserInfoFromToken(String token) {
    return Jwts.parserBuilder().setSigningKey(key).build().parseClaimsJws(token).getBody();
}
  1. Jwts.parserBuilder():
    JWT의 파싱을 시작하기 위한 초기화 단계이다. 이를 통해 JWT의 구조를 읽어올 수 있다.

  2. setSigningKey(key):
    토큰의 서명을 검증하기 위한 Key를 설정하는 과정이다. 본 코드에서는 key를 사용하여 서명의 유효성을 확인한다.

  3. parseClaimsJws(token):
    위의 설정을 바탕으로 입력된 token을 파싱하며, 이 때의 결과로 JWT의 구조와 함께 Payload 내의 Claims 정보를 얻어올 수 있다.

  4. getBody():
    파싱된 결과에서 Payload 부분을 추출하는 메서드이다.


profile
backend_Devloper
post-custom-banner

0개의 댓글