JWT?
JWT란 속성 정보를 JSON 데이터 구조로 표현한 토큰으로 서버와 클라이언트 간 정보를 주고 받을 때 HTTP request Header(요청 헤더)에 JSON 토큰을 넣어서 요청하면, 서버는 별도의 인증 과정없이 헤더에 포함되어 있는 토큰을 통해 인증할 수 있다.
Header
- alg: Signature 를 해싱하기 위한 알고리즘 정보를 갖고 있음
- typ: 토큰의 타입을 나타내는데 없어도 됨. 보통 JWT 를 사용
Payload
서버와 클라이언트가 주고받는 claim 정보(사용자 정보의 한 조각을 클레임이라함)를 포함하고 있음 JWT 가 기본적으로 갖고 있는 키워드가 존재하며 원하는 정보를 추가도 가능
Signature
서버가 가지고있는 비밀키로 Token의 유효성 검증을 위한 암호화된 문자열
Header + Payload + Secret Key 로 값을 생성하므로 데이터 변조 여부를 판단할 수 있다.