Json Web Token
토큰 기반 인증 작업
현대 웹서비스에서는 토큰을 사용해서 인증 작업한다.
JWT 는 토큰 기반 인증 작업에서 주로 사용한다.
<aside>
📌 목차
</aside>
사용
- 생성된 토큰은 HTTP 통신을 할 때 Authorization이라는 key의 value로 사용된다. 일반적으로 value에는 Bearer이 앞에 붙여진다.
{
"Authorization": "Bearer {생성된 토큰 값}",
}
개념
- JSON 포맷을 이용하여 사용자에 대한 속성을 저장하는 Claim 기반 Web Token 이다.
- 서버에서 응답헤더에 토큰을 주면
- 클라이언트는 토큰을 저장하여 사용한다.
- 로컬 스토리지와 스태틱 변수에 저장한다.
- 스태틱 변수에 저장하는 이유는 네트워크 요청 때마다 토큰이 필요하기 때문에 Disk I/O 를 줄이기 위해서이다.
- 로그아웃한다면 토큰을 삭제한다.
- (실제 서비스의 경우에는 로그아웃 시, 사용했던 토큰을 blacklist라는 DB 테이블에 넣어 해당 토큰의 접근을 막는 작업을 해주어야 한다.)
구조