
JWT(JSON Web Token)는 JSON 객체를 사용하여 정보를 안전하게 전송하기 위한 개방형 표준(RFC 7519)이다.
주로 사용자 인증에 사용된다.
사용자가 ID/비밀번호로 로그인 요청을 보낸다.
서버가 인증 정보를 확인한 후 JWT 토큰을 생성하여 클라이언트에게 전달한다.
클라이언트는 이 토큰을 저장한다(보통 localStorage나 쿠키에)
이후 모든 API 요청 시 HTTP Header에 JWT 토큰을 포함하여 전송한다.
형식: Authorization: Bearer "token"
서버는 토큰의 서명을 검증하여 위변조 여부를 확인한다
검증에 성공하면 요청한 데이터를 응답한다
JWT는 .으로 구분된 세 부분으로 구성된다:
토큰 타입과 암호화 알고리즘 정보를 담는다
예: {"alg": "HS256", "typ": "JWT"}
실제 전달할 데이터(사용자 ID, 권한, 만료시간 등)를 담는다
예: {"userId": "123", "exp": 1234567890}
Header와 Payload를 인코딩한 값을 비밀키로 해싱하여 생성한다
토큰의 무결성을 보장한다