JSON
JWT는 Json Web Token의 약자로 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰이다. 웹 상에서 정보를 Json형태로 주고 받기 위해 표준규약에 따라 생성한 암호화된 토큰으로 복잡하고 읽을 수 없는 string 형태로 저장되어있다.
JWT 발급과 검증
로그인시 → 성공 → JWT 발급
접근시 → JWT 검증
-> JWT에 관해 발급과 검증을 담당할 클래스가 필요
JWT 생성 원리
JWT는 Header.Payload.Signature 구조로 이루어져 있다. 각 요소는 다음 기능을 수행한다.
Header
JWT임을 명시
사용된 암호화 알고리즘
Payload
정보
Signature
암호화알고리즘((BASE64(Header))+(BASE64(Payload)) + 암호화키)
JWT의 특징은 내부 정보를 단순 BASE64 방식으로 인코딩하기 때문에 외부에서 쉽게 디코딩 할 수 있다.
외부에서 열람해도 되는 정보를 담아야하며, 토큰 자체의 발급처를 확인하기 위해서 사용한다.