1 JWT
- JSON 웹 토큰(JWT)은 당사자 간의 정보를 안전하게 전송하기 위한 방법이다.
- 토큰 자체에 사용자의 권한이나 서비스를 사용하기 위한 정보가 포함되어 있다
- JWT에 담긴 정보는 서명되어 있기 때문에 검증되고 신뢰할 수 있다.
- RFC 7519 웹 표준으로 지정되어 있다.
1.1 Stateless JWT
- JWT는 토큰 자체에 사용자의 권한이나 서비스를 사용하기 위한 모든 정보가 포함되어 있다
- 따라서 서버는 사용자의 정보를 따로 저장하지 않고 토큰의 정보만을 이용해 인증 및 인가를 할 수 있다
- 즉 토큰 자체에 필요한 모든 정보를 가지고 있는 JWT를 Stateless JWT라고 한다
1.2 Stateful JWT
- Stateful JWT은 Stateless JWT과 다르게 모든 정보를 토큰 자체에 가지고 있지 않다
- 모든 정보는 서버 사이드에 저장되고 토큰에는 그 정보에 대한 reference만 가지고 있는 JWT를 Stateful JWT라고 한다
2 JWT의 용도
2.1 인가(Authorization)
- 인가는 JWT를 사용하는 가장 일반적인 시나리오다.