본문 바로가기
개발일지/일간회고 (TIL)

JWT란? (Java Spring)

by 윤승임 2022. 12. 14.

JWT란?

JWT(JSON Web Token)는 당사자 간 정보를 안전하게 전송하는 토큰이다.

이러한 토큰은 일반적으로 JWT 토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방법으로 웹 애플리케이션 및 API에서 사용자를 인증하는 데 사용된다.

 

구조

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c


JWT는 헤더, 페이로드, 서명의 세 부분으로 구성되는데,

헤더는 일반적으로 토큰의 유형인 JWT와 HMAC SHA256 또는 RSA와 같은 서명 알고리즘의 두 부분으로 구성된다.

페이로드에 실제 데이터가 포함되어 있다.

서명은 클라이언트를 식별하고, 메시지가 운송 중에 변경되지 않았는지 확인하는 데 사용된다.

JWT는 SSO(Single Sign-On) 시스템과 같이 클라이언트가 서버로 인증해야 하는 응용 프로그램에서 일반적으로 사용되며 또한 서버 간 통신과 같이 당사자 간에 정보를 안전하게 교환하는 데도 사용할 수 있다.