Giải mã JWT

Dán JSON Web Token để xem header và payload dưới dạng JSON đã định dạng. Các mốc thời gian như exp, iat và nbf được chuyển thành ngày dễ đọc, và token hết hạn sẽ được đánh dấu.

Cấu trúc của JWT

JWT gồm ba phần ngăn cách bởi dấu chấm: header.payload.signature. Header và payload là các đối tượng JSON được mã hóa bằng Base64URL không có padding. Chữ ký được tính trên hai phần đầu bằng thuật toán ghi trong header (alg), ví dụ HS256 hoặc RS256.

Claim đăng ký

ClaimÝ nghĩa
issBên phát hành
subChủ thể (thường là ID người dùng)
audĐối tượng (Audience)
expThời điểm hết hạn (số giây kể từ 1970)
nbfChưa có hiệu lực trước
iatPhát hành lúc
jtiID token duy nhất

Giải mã JWT bằng JavaScript

const [h, p] = token.split('.');
const json = (s) => JSON.parse(new TextDecoder().decode(
  Uint8Array.from(atob(s.replace(/-/g, '+').replace(/_/g, '/')), (c) => c.charCodeAt(0))));
console.log(json(h), json(p));

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

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

Việc giải mã diễn ra hoàn toàn trong trình duyệt của bạn; không có gì được gửi tới máy chủ. Dù vậy, hãy coi token production là bí mật.

Giải mã có xác minh chữ ký không?

Không. Ai cũng có thể giải mã JWT vì nó chỉ là Base64URL. Việc xác minh cần secret hoặc public key và phải được thực hiện trên máy chủ của bạn.

Công cụ và hướng dẫn liên quan

Bình luận (0)

Có câu hỏi, ý tưởng hoặc phát hiện lỗi trong “Giải mã JWT”? Hãy để lại bình luận, đánh giá công cụ hoặc trả lời người khác.

Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ ý kiến!

Để lại bình luận

Đánh giá công cụ này:
Esc
↑ ↓ di chuyển↵ mởEsc đóng