웹개발
[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들이 만들어진다.