Hướng dẫn công cụ
Về Bộ giải mã và phân tích JWT
JWT Parser decode Header và Payload của JSON Web Token để kiểm tra alg, typ, signature status và các khai báo phổ biến như iss, sub, aud, iat, nbf và exp.
Công cụ parse token cục bộ trong trình duyệt và có thể re-sign Header/Payload đã sửa bằng HMAC secret cục bộ. Token không upload lên wetool.site.
Cách dùng JWT Parser
- Dán JWT đầy đủ theo format header.payload.signature.
- Bấm Decode để xem Header, Payload và tóm tắt common các khai báo.
- Kiểm tra exp, nbf và iat; chúng thường là giây epoch.
- Với HMAC test token, nhập secret để re-sign Header/Payload đã sửa ngay trong trình duyệt.
Khi nào nên dùng
- Debug auth session bằng cách kiểm tra token đã expired hay chưa có hiệu lực.
- Xác nhận alg, typ, iss, aud và sub khớp contract của API gateway hoặc máy chủ.
- Pretty-print payload JSON để tìm scope, role, tenant_id hoặc field riêng của ứng dụng.
- Sửa claim của development token rồi re-sign cục bộ bằng HMAC secret đã biết.
Cấu trúc JWT, các khai báo và giới hạn signature
JWT thường có ba phần Base64URL: Header, Payload và Chữ ký. Decode Header/Payload không cần secret, nhưng muốn tin token thì phải xác minh chữ ký bằng key đúng.
- Header: thường chứa alg và typ, mô tả signing algorithm và token type.
- Payload: chứa các khai báo như iss, sub, aud, iat, nbf, exp và app-specific fields.
- Chữ ký: bảo vệ Header/Payload khỏi bị sửa; decode token không chứng minh chữ ký hợp lệ.
- Các khai báo thời gian: iat, nbf và exp thường tính bằng giây Unix, không phải mili giây.
Câu hỏi thường gặp về Trình phân tích JWT
- Decode JWT có giống verify không?
- Không. Decode chỉ đọc Header và Payload. Verify cần kiểm tra signature bằng secret hoặc khóa công khai đúng.
- Vì sao đọc được payload không cần password?
- JWT Header và Payload là Base64URL encoding, không phải encryption. Đừng đặt secrets trong JWT payload thường.
- exp, iat và nbf là gì?
- exp là thời điểm hết hạn, iat là thời điểm phát hành, còn nbf là thời điểm bắt đầu có hiệu lực. Chúng thường được lưu bằng giây Unix.
- Token còn dùng được sau khi sửa Payload không?
- Thường là không nếu chưa re-sign. Công cụ này có thể re-sign HMAC test tokens cục bộ khi nhập secret.
- JWT có bị upload không?
- Không. Decode, editing và HMAC re-signing chạy cục bộ trong trình duyệt và không upload lên wetool.site.
JWT và session cookies
Phiên thường lưu state trên server và đưa trình duyệt một ID phiên. JWT mang các khai báo trong token, tiện khi đi qua nhiều dịch vụ, nhưng cần quản lý kỹ thời hạn, khóa ký và nội dung tải tin.
JWT xác minh chữ ký và checklist alg
JWT decode được không có nghĩa là đáng tin. Verification thật phải cố định algorithm, key source, issuer, audience và signature policy.
- Đừng chọn verification algorithm chỉ từ token alg header; server nên dùng configured allowlist.
- Hãy coi alg=none, HS256/RS256 confusion hoặc kid trỏ tới external locations là high-risk configurations.
- Công cụ này hữu ích để inspect và tạo HMAC test tokens, nhưng production verification nên nằm ở máy chủ hoặc auth gateway.
Debug thời gian exp, nbf và iat
Các khai báo thời gian trong JWT thường tính bằng giây Unix. Khi thời hạn trông có vẻ sai, hãy kiểm tra trước việc nhầm giây với mili giây, lệch đồng hồ và múi giờ đang hiển thị.
- Nếu exp sớm hơn current giây epoch thì token đã expired; nếu nbf muộn hơn hiện tại thì token chưa active.
- Đọc mili giây 13 chữ số như giây sẽ ra ngày rất xa trong tương lai; đọc giây 10 chữ số như mili giây sẽ rơi gần năm 1970.
- Servers nên giữ NTP sync và cho phép small clock skew, nhưng grace period dài không nên che configuration mistakes.