웹개발

[Web] JWT란? (Json Web Token)

이어니언 2021. 6. 17. 13:40

JWT

인증에 필요한 정보들을 암호화 시킨 토큰이다.

최초 서버에서 부여하며, 브라우저가 쿠키 형태로 보관하고 있다가 서버에 요청을 보낼 때 HTTP 헤더에 JWT를 실어 보낸다.

 

Token 구성

Header.Payload.Verified Signature 형태로 Base64url 인코딩을 사용하여 전송

 

Header

 - 암호화 방식 및 타입 정보를 작성

Payload

 - 서버로 보낼 data, 유저의 ID값이나 유효기간 등, key: value 값으로 저장

 - 해독이 가능하므로 중요한 data를 담아서는 안된다.

Signature

 - Base64 방식으로 인코딩한 header와 payload

 

Refresh token

사용자의 정보가 만기 되었을 때 서버에 재요청을 하면 Refresh token을 만들어 새로운 API Call을 진행하며 이 때 새로운 token들이 만들어진다.