이것저것 개발기록

JWT(JSON Web Token)의 구조와 보안 가이드 본문

IT 이야기

JWT(JSON Web Token)의 구조와 보안 가이드

Garam Kim 2025. 12. 27. 11:24

"세션(Session) 없이 어떻게 사용자를 식별할까요?"
현대 웹 인증의 표준이 된 JWT의 구조와 사용 시 주의할 점을 정리했습니다.

1. JWT의 3요소

JWT는 Header.Payload.Signature 형태의 문자열입니다.

  • Header: 토큰의 유형과 암호화 알고리즘(예: HS256) 정보
  • Payload: 실제 담고 싶은 데이터 (사용자 ID, 만료 시간 등)
  • Signature: 서버의 비밀키로 만들어진 서명 (위변조 검증용)

2. 왜 사용할까?

서버에 사용자 정보를 따로 저장하지 않아도(Stateless) 되기 때문입니다. 덕분에 서버 확장성이 매우 뛰어나죠.

💡 실무 노트

가장 흔히 하는 실수가 Payload에 민감한 정보(비밀번호 등)를 넣는 것입니다. Payload는 암호화된 게 아니라 단순히 Base64로 인코딩된 것이라 누구나 열어볼 수 있거든요.

팁: Access Token은 짧게 유지하고, Refresh Token을 도입해 보안을 강화하세요. 토큰이 탈취되었을 때를 대비한 전략이 실무에서는 필수입니다.