(2023.2.28) Today_I_Learned_day-133

JWT(Json Web Token)
- 서로 다른 기기에 데이터를 전달할 때 사용하는 방법 중 하나
- Base64포맷이 기본적인 구성
- Header
- JWT의 Header는 JWT의 metadata들을 나타낸다.
여기에는 Sign에 사용된 Algorithms, format, 그리고 ContentType 등의 정보가 들어갈 수 있다.
- Body(Claims, Payload)
- Payload는 JWT의 Body에 해당되는 부분이다.
Payload의 단위는 Claims로써 사실상 실제 데이터는 Claims라는 단위로 저장됩니다
이러한 Claims에는 JWT 생성자가 원하는 정보들을 자유롭게 담을 수 있습니다.
- Signature
- Base64로 인코딩한 Header와 Claims를 먼저 만든 후 이를 Key를 통해서 Sign하는 방식
- Client에서 Header 또는 Claims의 값을 변경한다면
이는 signature의 불일치로 인해서 서버에서 받아들여지지 않는다.
JWT의 Resgistered Fields
- iss (Issuer) : JWT를 발급한 주체
- sub (Subject) : JWT의 발급의 목적(주제)
- aud (Audience) : JWT 발급받은 수신자
- exp (Expiration Time) : JWT 만료시간
- nbf (Not Before) : JWT 활성화 시간
- iat (Issued At) : JWT 발급 시간
- jti (JWT ID) : JWT 발급의 Unique ID