Trình gỡ lỗi / giải mã JWT

Dán một JWT bất kỳ để giải mã ba phần cách nhau bằng dấu chấm — header, payload và chữ ký base64url được hiển thị dưới dạng JSON đã định dạng, với các claim đã đăng ký (exp, iat, nbf và các claim tương tự) được chuyển sang giờ địa phương của bạn. Sau đó bạn có thể xác minh chữ ký bằng WebCrypto API: HMAC (HS256/384/512) với bí mật, hoặc RSA/ECDSA (RS256/384/512, ES256/384/512) với khóa công khai PEM; và một token HS256 mẫu chỉ cách một lần nhấn để thử nghiệm. Mọi thứ chạy cục bộ — token, bí mật và khóa không bao giờ được gửi đi đâu.
Token JWT Định dạng: header.payload.signature (ba đoạn base64url).
Cảnh báo: token này khai báo alg:none, nghĩa là không được ký. Dịch vụ thật phải từ chối token không ký — hãy coi nó là không đáng tin.
ClaimGiá trịDiễn giải
Bí mật
crypto.subtle không khả dụng trong ngữ cảnh này, nên xác minh chữ ký bị tắt. Hãy mở trang qua https: hoặc từ tệp cục bộ để bật. Giải mã vẫn hoạt động.
Cách đọc kết quả: header thường mang alg (thuật toán ký) và typ. Các claim đã đăng ký được chuyển sang giờ địa phương gồm iat (cấp lúc), nbf (chưa có hiệu lực trước) và exp (hết hạn) — huy hiệu đỏ nghĩa là token đã hết hạn, màu hổ phách nghĩa là sẽ hết hạn trong vòng 24 giờ. Xác minh chữ ký tính cùng MAC mà bên phát hành sẽ tính, hoặc kiểm tra khóa công khai RSA/ECDSA bạn dán, rồi đánh dấu token là HỢP LỆ hoặc KHÔNG HỢP LỆ. Chỉ các thuật toán được lớp WebCrypto của trình duyệt triển khai mới xác minh được; mọi thuật toán khác được báo là không hỗ trợ thay vì đoán.

Các claim đã đăng ký thường gặp: sub (subject) là người dùng hoặc thực thể mà token nói tới — trong mẫu của bạn đó chỉ là một ID số, nhưng dịch vụ thường đặt email, tên người dùng hoặc UUID vào đây. iss nêu bên phát hành, aud nêu đối tượng nhận dự kiến, còn jti là ID token duy nhất dùng để ngăn phát lại. Các claim này không được mã hóa; ai có token đều đọc được, nên đừng bao giờ đặt mật khẩu hay bí mật vào payload JWT.

Quyền riêng tư: giải mã và xác minh diễn ra hoàn toàn trong trang này bằng WebCrypto API — token, bí mật của bạn và mọi khóa công khai không bao giờ được truyền đi. Với token alg:none, trang hiển thị cảnh báo rõ ràng: API thật không bao giờ được chấp nhận token không ký.