JSON Web Token
Định nghĩa
JSON Web Token (JWT) là token compact, URL-safe, self-contained dùng để truyền claims giữa các bên và thường dùng cho authentication/authorization.
Cấu trúc
- Header: type và signing algorithm.
- Payload: claims như subject, issuer, expiration, role hoặc custom data.
- Signature: chữ ký để kiểm tính toàn vẹn và nguồn phát hành.
Cách hiểu bằng lời của tôi
JWT giúp service validate identity mà không cần lookup session server-side cho mỗi request. Điều này scale tốt trong hệ phân tán, nhưng token đã phát hành khó revoke ngay nếu không thêm blacklist, short expiry hoặc refresh-token flow.
Trade-off bảo mật
- Payload signed không đồng nghĩa encrypted; không nhét secret vào JWT.
- Token bị steal có thể dùng tới khi hết hạn.
- Token quá lớn làm tăng overhead request.
- Cần quản lý key, expiry, audience, issuer và rotation cẩn thận.