IT 지식

JWT (JSON Web Token)의 구조와 사용 예

JasonM 2023. 6. 11. 21:36
반응형

JWT(JSON Web Token)는 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 간결하고 독립적인 방법을 정의하는 개방형 표준(RFC 7519)입니다. 이 정보는 디지털 서명되어 있으므로 확인하고 신뢰할 수 있습니다. JWT는 비밀(HMAC 알고리즘 포함) 또는 RSA 또는 ECDSA를 사용하는 공개/개인 키 쌍을 사용하여 서명할 수 있습니다.

JWT를 암호화하여 당사자 간에 비밀성을 제공할 수도 있지만 여기서는 서명된 토큰에 중점을 둘 것입니다. 서명된 토큰은 그 안에 포함된 클레임의 무결성을 확인할 수 있는 반면 암호화된 토큰은 다른 당사자로부터 해당 클레임을 숨깁니다. 공개/개인 키 쌍을 사용하여 토큰에 서명할 때 서명은 개인 키를 보유한 당사자만이 서명한 당사자임을 인증합니다.

 

JWT의 구조 및 특징

 

JWT의 구조
JSON Web Token structure

Header, Payload, Signature 이렇게 3개 부분으로 나누어져 있으며, 이 3개의 파츠는 "."(Dots)로 구분되어 있습니다.

그리고 실제 JWT가 사용 될 때는 Base64URL Encoding이 되어져서 사용됩니다.  

 

JWT가 사용되는 예

권한 부여:  JWT를 사용하는 가장 일반적인 시나리오입니다. 사용자가 로그인하면 이후의 각 요청에는 JWT가 포함되어 사용자가 해당 토큰으로 허용된 경로, 서비스 및 리소스에 액세스 할 수 있습니다. Single Sign On은 오버헤드가 적고 다양한 도메인에서 쉽게 사용할 수 있기 때문에 현재 JWT를 널리 사용하는 기능입니다.


정보 교환: JSON 웹 토큰은 당사자 간에 정보를 안전하게 전송하는 좋은 방법입니다. 예를 들어 공개/개인 키 쌍을 사용하여 JWT에 서명할 수 있으므로 보낸 사람이 누구인지 확인할 수 있습니다. 또한 헤더와 페이로드를 사용하여 서명을 계산하므로 콘텐츠가 변조되지 않았음을 확인할 수도 있습니다.

 

 

 

RFC 7523 - JWT 인증 방식의 특징, OAuth 2.0과의 관계

JWT Authorization Grant (RFC 7523)는 OAuth 2.0 인증 프레임워크 기반에서 작동하는 JWT인증 방식이며, 기본적으로 OAuth의 인증 절차를 그대로 사용하지만, 인증을 위해 JWT를 사용합니다. RFC 7523의 특징 또한

jsonm.tistory.com

 

 

Javascript/jQuery - Access Token 자동 갱신 소스코드

JWT Access Token을 사용한 웹 어플리케이션에서 서버로 API를 요청할 때마다 Access Token을 담아서 보내야 하는데, 이때 Access Token이 만료된 경우 Refresh Token을 이용한 Access Token의 갱신이 필요하다. 처음

jsonm.tistory.com

 

 

 

 

반응형