Giải mã JWT

Dán JSON Web Token để đọc header và payload. exp, iat và nbf được hiển thị theo giờ địa phương kèm thời gian còn lại. Chữ ký không được xác minh.

Token

Cách giải mã JWT

  1. 1Dán token vào. Tiền tố “Bearer ” ở đầu sẽ tự được bỏ đi.
  2. 2Đọc header và payload dưới dạng JSON đã định dạng.
  3. 3Xem Claim thời gian để biết token đã hết hạn hay chưa có hiệu lực.

JWT được tạo thành thế nào

JWT là ba chuỗi Base64url nối với nhau bằng dấu chấm. Header và payload là JSON; chữ ký là dữ liệu nhị phân và chỉ kiểm tra được bằng khóa của bên phát hành.

HeaderLoại token và thuật toán ký, ví dụ HS256 hoặc RS256.
PayloadCác claim về người dùng và về chính token.
SignatureChứng minh hai phần đầu không bị thay đổi.

Claim chuẩn

issBên phát hành: ai đã tạo token
subChủ thể: thường là ID người dùng
audĐối tượng: dịch vụ mà token dành cho
expThời điểm hết hạn, tính bằng giây từ năm 1970
nbfCó hiệu lực từ: trước thời điểm này token không hợp lệ
iatThời điểm cấp
jtiJWT ID: định danh duy nhất của token

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

Dán token thật vào đây có an toàn không?

Token được giải mã trong trình duyệt và không được gửi đi đâu. Dù vậy, hãy đối xử với token đang dùng như mật khẩu và đừng dán vào công cụ bạn không tin tưởng.

Vì sao không xác minh chữ ký?

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. Giải mã chỉ cho thấy token khẳng định điều gì; trên máy chủ, đừng tin các claim đó khi chưa xác minh chữ ký.

JWT có được mã hóa không?

JWT có chữ ký thông thường thì không. Ai có token cũng đọc được payload, vốn chỉ là JSON mã hóa Base64url. Đừng đặt thông tin bí mật vào đó.

Ngày giờ hiển thị theo múi giờ nào?

Múi giờ của thiết bị bạn. Giá trị gốc trong payload là dấu thời gian Unix theo giây (UTC).

Công cụ Base64 khác