Hướng dẫn
8 phút đọc
Hiểu JSON Web Token: hướng dẫn dành cho lập trình viên
JWT là định dạng token nhỏ gọn để truyền tải các claim giữa hai hệ thống. Nó được sử dụng rộng rãi trong luồng xác thực và phân quyền của các ứng dụng web hiện đại.
Cấu trúc JWT
JWT gồm ba phần được phân tách bằng dấu chấm: header.payload.signature. Mỗi phần là JSON được mã hóa Base64URL.
- Header — loại token và thuật toán ký
- Payload — các claim đã đăng ký, công khai và riêng tư
- Signature — xác minh token chưa bị giả mạo
Lưu ý bảo mật
- Không đặt dữ liệu nhạy cảm vào payload — JWT là mã hóa, không phải mã hóa bảo mật
- Không bỏ qua xác thực chữ ký
- Sử dụng thời gian hết hạn ngắn
- Sử dụng khóa ký đủ mạnh
Kiểm tra an toàn
Khi kiểm tra token, nên dùng công cụ chạy trong trình duyệt. Các bộ giải mã phía máy chủ có thể ghi token sản xuất vào nhật ký.