JWT là gì? Cách decode JWT và đọc payload trong 30 giây
JSON Web Token (JWT) là chuẩn mở (RFC 7519) dùng để truyền tải thông tin an toàn giữa các bên dưới dạng đối tượng JSON. Một chuỗi JWT gồm 3 phần ngăn cách bởi dấu chấm (.): Header (thuật toán), Payload (dữ liệu claims & người dùng) và Signature (chữ ký số). Bạn có thể decode JWT client-side tức thì mà không cần cung cấp private secret key.
JWT Decoder
Giải mã JSON Web Token (Header, Payload, Expiration) an toàn không cần Secret Key.
1. Cấu trúc 3 phần của một chuỗi JWT
Một chuỗi JWT tiêu chuẩn luôn có dạng: xxxxx.yyyyy.zzzzz tương ứng với 3 thành phần:
- Header (Đỏ): Chứa thông tin về loại token (thường là JWT) và thuật toán ký (ví dụ: HS256, RS256).
- Payload (Tím): Chứa các trường dữ liệu (Claims) như
sub(User ID),name,email,role,iat(thời điểm cấp), vàexp(thời điểm hết hạn). - Signature (Xanh dương): Chữ ký số được tạo ra bằng cách băm Header + Payload cùng với một khóa bí mật (Secret Key) để bảo đảm tính toàn vẹn, ngăn ngừa giả mạo dữ liệu.
2. Phân biệt Decode (Giải mã) và Verify (Xác thực chữ ký)
Nhiều người thường nhầm lẫn giữa hai khái niệm này:
- Decode (Giải mã hiển thị): Chỉ đơn thuần là chuyển đổi chuỗi Base64URL của Header và Payload thành văn bản JSON đọc được. Thao tác này không cần Secret Key và có thể thực hiện an toàn trên trình duyệt.
- Verify (Xác thực chữ ký): Kiểm tra xem token có đúng do server của bạn ký phát hay không. Thao tác này bắt buộc phải có Secret Key và chỉ nên chạy trên backend của bạn.
3. Các trường chuẩn (Standard Claims) trong JWT Payload
| Trường Claim | Ý nghĩa | Ví dụ |
|---|---|---|
sub (Subject) |
Định danh người dùng hoặc thực thể | "usr_123456" |
iat (Issued At) |
Thời điểm tạo token (Unix timestamp) | 1724700000 |
exp (Expiration) |
Thời điểm token hết hạn | 1724786400 |
iss (Issuer) |
Bên phát hành token | "https://auth.omnikit.online" |
常见问题解答 (FAQ)
解答关于 JWT là gì? Cách decode JWT và đọc payload trong 30 giây 的疑问与运行原理
Bài viết cùng chủ đề bạn nên xem
Cách format JSON online an toàn: Dữ liệu có bị tải lên server không?
Tìm hiểu cách định dạng JSON an toàn ngay trong trình duyệt. Vì sao công cụ client-side bảo vệ tuyệt đối API key, token và thông tin cá nhân của bạn.
Base64 là gì? Encode và decode Base64 ngay trên trình duyệt
Tìm hiểu bảng mã Base64, nguyên lý chuyển đổi dữ liệu nhị phân thành chuỗi văn bản ASCII và cách encode/decode tức thì không cần tải lên server.
Cách tạo mật khẩu mạnh: Độ dài, entropy và những sai lầm cần tránh
Khám phá công thức tạo mật khẩu an toàn chống bẻ khóa Brute Force, hiểu về entropy mật khẩu và cách tạo mật khẩu ngẫu nhiên trên trình duyệt.