Giải mã JWT
Giải mã header và payload của JSON Web Token, xem exp, iat và nbf dưới dạng ngày giờ. Giải mã không phải xác minh: chữ ký không được kiểm tra.
Được xử lý cục bộ trong trình duyệt. Văn bản của bạn không được tải lên.
Công cụ này làm gì
Dán một JSON Web Token và đọc nội dung bên trong. Công cụ tách nó thành header, payload và chữ ký, giải mã các phần Base64url thành UTF-8, và định dạng JSON có tô màu cú pháp. Các claim thời gian đã đăng ký exp (hết hạn), nbf (không hợp lệ trước) và iat (thời điểm phát hành) được hiển thị dưới dạng ngày giờ dễ đọc, kèm chỉ báo rõ ràng là đã hết hạn, chưa có hiệu lực hay đang hợp lệ so với đồng hồ thiết bị của bạn.
Quan trọng: giải mã không phải xác minh. Header và payload của JWT chỉ được mã hóa dạng ký tự, không được mã hóa bảo mật, và ai cũng có thể tạo một token với nội dung bất kỳ. Công cụ này không bao giờ kiểm tra chữ ký, bên phát hành (issuer), đối tượng nhận (audience) hay bất kỳ claim nào khác, nên một token giải mã được ở đây vẫn có thể bị giả mạo, bị can thiệp hoặc đã bị thu hồi. Đừng bao giờ tin một token chỉ vì nó giải mã được. Việc xác minh phải do máy chủ của bạn thực hiện với khóa đúng.
Token là thông tin xác thực. Việc giải mã diễn ra hoàn toàn trong trình duyệt của bạn và token không bao giờ được gửi đi đâu, nhưng bạn vẫn nên tránh dán các token đang dùng thật trong môi trường production trên thiết bị bạn không kiểm soát. Công cụ cũng cảnh báo khi token khai báo alg “none” hoặc không có chữ ký, những dấu hiệu kinh điển của token không an toàn hoặc bị giả mạo.
Cách sử dụng
- 1Dán toàn bộ token (ba phần phân tách bằng dấu chấm). Tiền tố “Bearer ” ở đầu sẽ được tự động loại bỏ.
- 2Đọc header và payload đã giải mã, cùng ngày giờ của exp, nbf và iat.
- 3Xem các cảnh báo, chẳng hạn alg “none” hoặc thiếu chữ ký.
- 4Sao chép JSON đã giải mã nếu cần. Hãy xác minh chữ ký trong backend của riêng bạn, không bao giờ ở đây.
Định dạng được hỗ trợ
Token JWS dạng tuần tự hóa gọn (header.payload.signature) với header và payload là JSON. Token đã mã hóa (JWE, năm phần) không thể giải mã.
Quyền riêng tư
Công cụ này chạy trong trình duyệt của bạn. Dữ liệu bạn cung cấp được xử lý trên thiết bị và không được gửi đến máy chủ của chúng tôi.
Hạn chế
- Chữ ký KHÔNG được xác minh. Công cụ không thể cho bạn biết token có xác thực, còn hiệu lực trên máy chủ, đã bị thu hồi, hay dành cho ứng dụng của bạn hay không.
- Trạng thái hết hạn và không hợp lệ trước được tính từ đồng hồ thiết bị của bạn, có thể sai, và máy chủ thường cho phép một độ lệch đồng hồ nhất định.
- JWT đã mã hóa (JWE) có năm phần và payload không đọc được; ở đây chúng được báo là sai định dạng.
- Các claim thời gian phải là số giây tính từ năm 1970. Giá trị khác được hiển thị là không hợp lệ.
- Các claim khác (iss, aud, sub, scope…) được hiển thị nhưng không được diễn giải hay xác thực.
Câu hỏi thường gặp
Giải mã được có nghĩa là token hợp lệ không?
Không. Giải mã không phải xác minh. Ai cũng có thể viết một token có payload nói bất cứ điều gì. Chỉ việc kiểm tra chữ ký bằng secret hoặc khóa công khai đúng, cộng với xác thực các claim như issuer, audience và thời hạn, mới làm một token đáng tin.
Token của tôi có bị gửi đến máy chủ không?
Không. Nó được giải mã trong trình duyệt của bạn và không được truyền đi. Dù vậy, hãy coi token như mật khẩu và ưu tiên dùng token đã hết hạn hoặc token thử nghiệm khi có thể.
alg “none” nghĩa là gì?
Nó khai báo một token không có chữ ký. Máy chủ phải từ chối loại này trừ khi chủ động mong đợi chúng; chấp nhận chúng cho phép kẻ tấn công giả mạo bất kỳ payload nào. Công cụ cảnh báo khi gặp trường hợp này.
Vì sao công cụ báo token hết hạn trong khi máy chủ vẫn chấp nhận?
Đồng hồ thiết bị của bạn có thể lệch so với máy chủ, hoặc máy chủ cho phép một khoảng dung sai. Trạng thái ở đây chỉ là tiện ích dựa trên giờ địa phương của bạn, không phải căn cứ có thẩm quyền.
Công cụ liên quan
Giải mã Base64
Giải mã Base64 và Base64 an toàn cho URL sang văn bản, hỗ trợ UTF-8. Báo lỗi rõ ràng về ký tự, độ dài và phần đệm không hợp lệ.
Định dạng JSON
Định dạng, làm đẹp và sắp xếp JSON có tô màu cú pháp. Chỉ ra lỗi theo dòng và cột. Chạy cục bộ trong trình duyệt của bạn.
Kiểm tra JSON
Kiểm tra JSON có hợp lệ không và xem chính xác dòng, cột của lỗi đầu tiên, có dấu mũi tên chỉ ngay ký tự gây lỗi.
Rút gọn JSON
Rút gọn JSON bằng cách loại bỏ khoảng trắng để giảm dung lượng, có tùy chọn sắp xếp khóa. Được kiểm tra và xử lý cục bộ trong trình duyệt.