JWT
간단히 설명하자면,
토큰 발급과 사용
- 사용자가 로그인할 때, 서버는 사용자의 자격 증명을 검증한 후 JWT를 발급
- 클라이언트(사용자)는 이 토큰을 받아서, 이후 서버에 요청할 때마다 HTTP 요청의 Authorization 헤더에 토큰을 포함하여 보낸다.
- 서버는 토큰을 받을 때마다 해당 토큰의 유효성을 검증
구조
- 헤더(Header): 사용된 암호화 알고리즘과 토큰의 유형(JWT)을 포함
- 페이로드(Payload): 사용자에 대한 정보나 토큰에 대한 정보를 포함하는 클레임을 담고 있음
- 서명(Signature): 헤더와 페이로드를 기반으로 생성된 서명으로, 토큰의 무결성과 인증을 보장합니다.
암호화 시 상단 그림에서의 password, 즉 secret key로 대칭키 암호화