DevToolPal
VI

Giải mã JWT

Giải mã JSON Web Token để đọc header và payload, đồng thời kiểm tra thời điểm phát hành và thời điểm hết hạn.

Chạy cục bộ, không bao giờ tải lên

Token đã mã hóa

0 ký tự · 0 B

Kết quả

Kết quả sẽ hiện ở đây

Công cụ này làm gì

JSON Web Token (JWT) là một chuỗi gọn gồm ba phần phân tách bằng dấu chấm: header cho biết thuật toán ký, payload chứa các claim về người dùng hoặc phiên, và chữ ký. JWT được dùng cho phiên đăng nhập, access token OAuth 2.0 và ID token OpenID Connect.

Header và payload chỉ được mã hóa Base64URL, không được mã hóa bảo mật. Công cụ này giải mã chúng thành JSON dễ đọc, đã định dạng, và giải thích các claim thời gian chuẩn, để bạn thấy token dành cho ai, mang những quyền gì và đã hết hạn hay chưa.

Cách sử dụng

  1. Dán token vào Token đã mã hóa. Tiền tố Bearer từ header Authorization được tự động loại bỏ.
  2. Đọc huy hiệu trạng thái: Chưa hết hạn, Đã hết hạn, Chưa có hiệu lực hoặc Không có hạn.
  3. Kiểm tra thời điểm phát hành, thời điểm bắt đầu hiệu lực và thời điểm hết hạn, hiển thị theo giờ địa phương và dưới dạng số giây Unix.
  4. Sao chép JSON header hoặc payload đã định dạng bằng các nút Sao chép.

Ví dụ

Token mẫu có header và payload như sau:

{ "alg": "HS256", "typ": "JWT" }
{
  "sub": "1234567890",
  "name": "张三 Jane Doe",
  "roles": ["admin", "editor"],
  "iat": 1700000000,
  "exp": 4102444800
}

Các claim thường gặp

  • iss bên phát hành, sub chủ thể (thường là ID người dùng), aud đối tượng nhận
  • iat thời điểm phát hành, nbf thời điểm bắt đầu hiệu lực, exp thời điểm hết hạn, đều tính bằng giây Unix
  • jti ID duy nhất của token, thường dùng để thu hồi token

Câu hỏi thường gặp

› Dán token của tôi vào đây có an toàn không?

Token được giải mã trong trình duyệt của bạn và không bao giờ được gửi đi đâu. Dù vậy, hãy đối xử với token production như mật khẩu; bất kỳ ai có token hợp lệ đều có thể dùng nó cho tới khi hết hạn.

› Công cụ này có xác minh chữ ký không?

Không. Việc xác minh cần khóa bí mật (HS256) hoặc khóa công khai của bên phát hành (RS256, ES256). Giải mã chỉ đọc nội dung, vốn không được mã hóa bảo mật mà chỉ được mã hóa Base64URL. Đừng bao giờ tin các claim từ một token mà máy chủ của bạn chưa xác minh.

› Vì sao công cụ báo "Đã hết hạn"?

Claim exp sớm hơn thời gian hiện tại trên thiết bị của bạn. Hãy kiểm tra đồng hồ có đúng không, rồi yêu cầu bên phát hành cấp token mới.

› Công cụ có giải mã được token đã mã hóa (JWE) không?

Không. JWE có năm phần và payload của nó được mã hóa, nên không thể đọc nếu không có khóa giải mã.