Cách giải mã JWT
- Dán token vào ô nhập (tiền tố
Bearerở đầu sẽ được tự động loại bỏ). - Đọc header và payload đã giải mã dưới dạng JSON được định dạng sẵn, rồi xem bảng claim để kiểm tra thời điểm hết hạn và thời điểm phát hành.
- Nếu muốn, mở mục Xác minh chữ ký và nhập khóa bí mật HMAC hoặc khóa công khai ở định dạng PEM.
Cấu trúc của một JWT
JSON Web Token gồm ba phần được mã hóa Base64URL, ngăn cách nhau bằng dấu chấm: header.payload.signature. Header cho biết thuật toán ký (ví dụ HS256 hoặc RS256), payload chứa các claim, còn chữ ký (signature) chứng minh rằng hai phần đầu không hề bị thay đổi.
Các claim đã đăng ký (registered claims)
iss– bên phát hành tokensub– người dùng hoặc chủ thểaud– đối tượng nhận tokenexp,nbf,iat– thời điểm hết hạn, thời điểm bắt đầu có hiệu lực và thời điểm phát hành, ở dạng Unix timestampjti– ID duy nhất của token
Câu hỏi thường gặp
Dán token vào đây có an toàn không?
Token được giải mã ngay trong trình duyệt của bạn và không bao giờ được gửi đi đâu cả. Dù vậy, hãy đối xử với token đang sử dụng như mật khẩu và tránh chia sẻ chúng.
Ai cũng đọc được payload của JWT sao?
Đúng vậy. JWT đã ký chỉ được mã hóa Base64URL chứ không được mã hóa bảo mật, vì vậy đừng bao giờ đặt thông tin bí mật vào payload. Chỉ token được mã hóa (JWE) mới che giấu được nội dung.
Vì sao chữ ký không được kiểm tra tự động?
Việc xác minh cần khóa bí mật hoặc khóa công khai của bên phát hành. Hãy nhập khóa trong mục Xác minh chữ ký; công cụ hỗ trợ các thuật toán HS, RS, PS và ES.