이 도구에 대해
jwtviewer.com은 토큰을 디코딩하고, jwtparser는 토큰을 만듭니다. claim을 설정하고 HMAC 알고리즘을 선택한 뒤 시크릿을 입력하면 Web Crypto API로 실시간 서명합니다. bearer 토큰이 필요한 API 테스트, 테스트에서 인증 준비, 특정 exp나 role로 버그 재현에 유용합니다.
HMAC(공유 시크릿) 알고리즘만 지원합니다 — 실제 프로덕션 토큰을 여기서 서명하지 마시고, 생성된 토큰은 테스트 전용으로 취급하세요. 모든 것이 로컬에서 처리되며 시크릿과 payload는 브라우저를 떠나지 않습니다. 토큰을 디코딩하거나 검증하려면 jwtviewer.com을 사용하세요.
서명은 RFC 7519를 따릅니다: 도구가 header {"alg":…,"typ":"JWT"}를 만들고 header와 payload를 Base64url로 인코딩한 뒤, Web Crypto API로 시크릿을 사용해 header.payload에 대한 HMAC-SHA 서명을 계산합니다. HS384와 HS512는 HS256보다 긴 해시를 쓸 뿐이니 백엔드가 기대하는 것을 고르세요. exp, iat, nbf 같은 시간 claim은 유닉스 초 단위라 빠른 추가 버튼이 대신 계산해 줍니다. 출력의 세 부분은 색으로 구분되어 header, payload, 서명이 어디서 시작하는지 한눈에 보입니다.
자주 묻는 질문
이 도구로 RS256 토큰을 만들 수 있나요?
아니요 — 공유 시크릿으로 서명하는 HMAC 계열(HS256, HS384, HS512)만 지원합니다. RS256은 RSA 개인 키가 필요합니다. 테스트 시나리오에는 보통 HMAC로 충분하며, 토큰 디코딩·검증은 jwtviewer.com을 이용하세요.
여기에 시크릿을 입력해도 안전한가요?
서명은 Web Crypto API로 브라우저 안에서만 이루어지며 시크릿과 payload는 업로드되지 않습니다. 그래도 여기서는 일회용 테스트 시크릿만 쓰고 실제 프로덕션 서명 키는 절대 사용하지 않는 것이 모범 사례입니다.
토큰 만료는 어떻게 설정하나요?
exp claim은 초 단위 유닉스 타임스탬프입니다. 빠른 추가 버튼(exp = +1h, +1d, +7d)을 클릭하거나 직접 값을 입력하세요. 변경할 때마다 토큰이 즉시 다시 서명됩니다.
왜 API가 생성된 토큰을 거부하나요?
흔한 원인: 시크릿이 서버와 다르거나, 알고리즘이 백엔드 기대와 다르거나, exp가 이미 지났거나, 서버가 RS256 같은 비대칭 알고리즘을 요구하는 경우입니다. jwtviewer.com에서 토큰을 디코딩해 claim을 비교해 보세요.