Giao diện
Câu hỏi thường gặp (FAQ) — API Keys
Sử dụng
Quên API key, làm sao lấy lại?
Không thể lấy lại. Token chỉ hiển thị một lần duy nhất khi tạo và được hash trước khi lưu vào database. Quy trình xử lý:
- Tạo API key mới với cùng cấu hình (name, role, thời hạn)
- Cập nhật token mới trong ứng dụng/hệ thống bên ngoài
- Xoá key cũ để vô hiệu hoá token cũ
Key hết hạn thì sao?
Mọi request sử dụng token đã hết hạn sẽ nhận response 401 Unauthorized. Để khắc phục:
- Tạo API key mới với thời hạn mới
- Cập nhật token trong hệ thống sử dụng
- Xoá key cũ (tuỳ chọn — key hết hạn cũng đã vô hiệu)
Có thể giới hạn key theo IP không?
Hiện tại plugin API Keys không hỗ trợ giới hạn theo IP. Để tăng bảo mật:
- Kết hợp với
plugin-ip-restrictionnếu cần giới hạn IP cho toàn bộ API - Sử dụng reverse proxy (nginx, Cloudflare) để lọc IP trước khi đến server
- Tạo role riêng với quyền tối thiểu cho API key
Có thể gia hạn key không?
Không hỗ trợ gia hạn. Tạo key mới với thời hạn mới, cập nhật ứng dụng, rồi xoá key cũ.
API key khác gì session token?
| Tiêu chí | API Key | Session Token |
|---|---|---|
| Mục đích | Tích hợp hệ thống bên ngoài | Đăng nhập qua giao diện |
| Thời hạn | Cấu hình khi tạo (30d, 1y, never) | Hết hạn theo session |
| Quyền | Theo role được gán khi tạo key | Theo role của user đăng nhập |
| Tạo bởi | Admin, qua Settings | Tự động khi đăng nhập |
Bảo mật
Key bị lộ, làm sao xử lý?
Thực hiện ngay lập tức theo thứ tự:
- Xoá key trong Settings → API Keys → nút Delete
- Xoá key = vô hiệu hoá token JWT — mọi request dùng token cũ sẽ bị từ chối ngay
- Tạo key mới và cập nhật trong hệ thống sử dụng
- Kiểm tra audit log (nếu có
plugin-audit-logs) để xem key đã bị sử dụng bất thường chưa - Đánh giá thiệt hại: Xem role của key — nếu là admin role, kiểm tra kỹ mọi thay đổi
Nên đặt thời hạn bao lâu?
| Trường hợp | Thời hạn khuyến nghị | Lý do |
|---|---|---|
| Integration lâu dài (CI/CD, webhook) | 6–12 tháng | Xoay key 1–2 lần/năm |
| Testing / development | 7–30 ngày | Hạn chế rủi ro |
| Script chạy một lần | 1–3 ngày | Xoá ngay sau khi xong |
| Không nên dùng | never | Rủi ro nếu key bị lộ |
API key có an toàn hơn password không?
API key tiện lợi hơn cho automation nhưng không an toàn hơn password/OAuth2 vì:
- Key là bearer token — ai có key đều có quyền
- Không có 2FA, IP restriction, hoặc revoke tự động
- Khuyến nghị: Luôn gán role với quyền tối thiểu, đặt thời hạn, và xoay key định kỳ
Lưu key ở đâu an toàn?
| Nơi lưu | Mức an toàn | Ghi chú |
|---|---|---|
| Secret Manager (Vault, AWS Secrets) | Cao | Khuyến nghị cho production |
| CI/CD secrets (GitHub, GitLab) | Trung bình | Cho pipeline automation |
| Biến môi trường server | Trung bình | Không commit vào git |
File .env trên máy local | Thấp | Chỉ cho development |
| Chat, email, Slack | Rất thấp | Không bao giờ làm điều này |