Cách giải mã JWT
- 1Dán token vào. Tiền tố “Bearer ” ở đầu sẽ tự được bỏ đi.
- 2Đọc header và payload dưới dạng JSON đã định dạng.
- 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.
Claim chuẩn
issBên phát hành: ai đã tạo tokensubChủ thể: thường là ID người dùngaudĐối tượng: dịch vụ mà token dành choexpThời điểm hết hạn, tính bằng giây từ năm 1970nbfCó hiệu lực từ: trước thời điểm này token không hợp lệiatThời điểm cấpjtiJWT ID: định danh duy nhất của tokenCâ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).