Về công cụ này
jwtviewer.com giải mã token; còn jwtparser tạo ra chúng. Đặt các claim, chọn thuật toán HMAC, nhập secret, và công cụ ký token trực tiếp bằng Web Crypto API. Tiện để test một API cần bearer token, seed auth trong test, hay tái hiện bug với một exp hoặc role cụ thể.
Chỉ hỗ trợ thuật toán HMAC (secret chung) — đừng bao giờ ký token production thật ở đây, và hãy xem token tạo ra chỉ để test. Mọi thứ diễn ra cục bộ; secret và payload không rời khỏi trình duyệt. Để giải mã hay xác minh token, dùng jwtviewer.com.
Việc ký tuân theo RFC 7519: công cụ dựng header {"alg":…,"typ":"JWT"}, mã hoá Base64url header và payload, rồi tính chữ ký HMAC-SHA trên chuỗi header.payload với secret của bạn bằng Web Crypto API. HS384 và HS512 chỉ khác HS256 ở hàm băm dài hơn — chọn đúng loại backend của bạn yêu cầu. Các claim thời gian như exp, iat, nbf là giây Unix, vì thế các nút thêm nhanh tự tính giúp bạn. Ba phần của kết quả được tô màu riêng để bạn thấy rõ header, payload và chữ ký bắt đầu từ đâu.
Câu hỏi thường gặp
Công cụ này tạo được token RS256 không?
Không — chỉ họ HMAC (HS256, HS384, HS512), ký bằng secret dùng chung. RS256 cần khóa riêng RSA. Với kịch bản test, HMAC thường là đủ; để giải mã hay xác minh token, dùng jwtviewer.com.
Nhập secret ở đây có an toàn không?
Việc ký diễn ra hoàn toàn trong trình duyệt với Web Crypto API — secret và payload không bao giờ bị tải lên. Dù vậy, thực hành tốt là chỉ dùng secret test dùng một lần ở đây, không bao giờ dùng khóa ký production thật.
Làm sao đặt hạn cho token?
Claim exp là timestamp Unix tính bằng giây. Bấm một nút thêm nhanh — exp = +1h, +1d hay +7d — hoặc tự gõ giá trị; token được ký lại ngay sau mỗi thay đổi.
Vì sao API của tôi từ chối token vừa tạo?
Nguyên nhân thường gặp: secret không khớp với server, thuật toán khác với backend mong đợi, exp đã ở quá khứ, hoặc server yêu cầu thuật toán bất đối xứng như RS256. Giải mã token trên jwtviewer.com để so sánh các claim.