🍋
Menu
Web

JWT

JWT (JSON Web Token)

Định dạng token nhỏ gọn, an toàn URL để truyền các yêu cầu một cách bảo mật giữa các bên, được sử dụng rộng rãi cho xác thực và ủy quyền trong ứng dụng web và API.

Chi tiết kỹ thuật

JWT bao gồm ba phần được mã hóa base64url phân tách bởi dấu chấm: header (thuật toán và loại token), payload (các yêu cầu như sub, exp, iat và dữ liệu tùy chỉnh) và chữ ký (HMAC-SHA256 hoặc RSA/ECDSA trên header+payload). JWT được ký nhưng không được mã hóa theo mặc định, vì vậy dữ liệu payload có thể đọc được bởi bất kỳ ai. JWE (JSON Web Encryption) thêm mã hóa payload. Các lỗ hổng phổ biến bao gồm tấn công thuật toán 'none', brute-force khóa bí mật cho HMAC và phát lại token. Các thực hành tốt nhất bao gồm thời gian hết hạn ngắn, refresh token và xác thực audience/issuer.

Ví dụ

```javascript
// JWT: web API example
const response = await fetch('/api/resource');
const data = await response.json();
console.log(data);
```

Công cụ liên quan

Thuật ngữ liên quan