JWT
Tiện ích JWT giải mã và kiểm tra JSON Web Token để bạn xem xét cấu trúc, các claim và đặc tính bảo mật mà không cần khóa riêng.
Sử dụng công cụ
- Dán một JWT vào trường đầu vào. Công cụ chấp nhận định dạng chuẩn gồm ba phần phân tách bằng dấu chấm.
- Công cụ tự động tách và giải mã Base64 phần header và payload.
- Xem đầu ra đã giải mã trong ba phần bên dưới.
Việc kiểm tra không yêu cầu dữ liệu khóa. Xác minh chữ ký là một thao tác riêng.
Các phần đã giải mã
Header
Hiển thị các trường thuật toán (alg) và ID khóa (kid). Cảnh báo về thuật toán xuất hiện tại đây:
| Điều kiện | Mức cảnh báo |
|---|---|
alg: none | Nghiêm trọng: token không có chữ ký |
alg: HS256 | Lưu ý: thuật toán đối xứng; có thể bị vét cạn nếu bí mật yếu |
alg: RS256 hoặc ES256 | Không có cảnh báo |
Payload
Hiển thị tất cả claim cùng giá trị và kiểu dữ liệu được suy ra. Các claim chuẩn được giải mã:
| Claim | Ý nghĩa |
|---|---|
iss | Bên phát hành |
sub | Chủ thể (thường là ID người dùng) |
aud | Đối tượng nhận |
exp | Thời điểm hết hạn |
nbf | Thời điểm bắt đầu có hiệu lực |
iat | Thời điểm phát hành |
jti | ID JWT (định danh duy nhất của token) |
Các claim tùy chỉnh xuất hiện bên dưới nhóm claim chuẩn.
Kiểm tra hạn dùng
Nếu token có claim exp, công cụ so sánh giá trị đó với thời gian hiện tại và hiển thị một trong các trạng thái:
- Hợp lệ: token chưa hết hạn.
- Đã hết hạn: token đã qua thời điểm hết hạn, kèm khoảng thời gian đã trôi qua.
- Không có hạn dùng: token không có claim
exp.
Chữ ký
Hiển thị chữ ký gốc được mã hóa Base64url. Công cụ không thử xác minh trừ khi bạn cung cấp khóa; phần này dùng để tham khảo và xác nhận token có chữ ký.
Những điểm cần kiểm tra
- Một số thư viện chấp nhận token
alg: nonemà không xác minh. Hãy kiểm thử xem ứng dụng mục tiêu có chấp nhận chúng hay không. - Token có thời hạn dài (
expcáchiatnhiều ngày hoặc nhiều năm) cho thấy ứng dụng có thể không luân chuyển token. - Bất kỳ ai có token đều đọc được dữ liệu nhạy cảm (thông tin định danh cá nhân, ID nội bộ, cờ vai trò) lưu trong các claim payload không được mã hóa bảo mật.
- Token không có
jtikhông thể được thu hồi riêng lẻ.