Giao diện
Cấu hình nâng cao
Template variables chi tiết
Trong options (url, headers, body), admin sử dụng cú pháp template để chèn biến động. Server resolve các biến này trước khi gửi request:
| Biến | Mô tả | Ví dụ |
|---|---|---|
currentRecord.* | Dữ liệu bản ghi hiện tại | currentRecord.id, currentRecord.status |
currentUser.* | Thông tin user đang thao tác | currentUser.email, currentUser.nickname |
$nForm.* | Dữ liệu từ form hiện tại (nếu action trên form) | $nForm.amount, $nForm.note |
Cú pháp biến
Sử dụng backtick hoặc cú pháp template của hệ thống khi tham chiếu biến trong giao diện cấu hình. Tuyệt đối không dùng double curly brace — hệ thống parsing template sẽ tự resolve biến.
Ví dụ cấu hình body
json
{
"orderId": "currentRecord.id",
"approver": "currentUser.email",
"amount": "$nForm.totalAmount"
}Phân quyền theo role (Role-based access)
Mỗi request được gán cho một hoặc nhiều role qua bảng junction customRequestsRoles:
- Chỉ user thuộc role đã gán mới nhìn thấy và kích hoạt được action.
- Endpoint
customRequests:listByCurrentRoletự động lọc danh sách theo role hiện tại. - Admin có thể gán nhiều role cho một request.
Proto path guard
Server kiểm tra URL đích để bảo vệ hệ thống:
| Kiểm tra | Mô tả |
|---|---|
| Internal URL | Ngăn request trỏ về localhost hoặc internal service |
| Protocol | Chỉ cho phép http:// và https:// |
| Prototype pollution | Chặn path chứa __proto__, constructor, prototype |
File logger
Mọi request gửi đi đều được ghi log vào file:
| Thông tin log | Mô tả |
|---|---|
| Timestamp | Thời điểm gửi request |
| User | User thực hiện action |
| Request key | Khóa cấu hình request |
| URL + method | Địa chỉ và phương thức đã resolve |
| Response status | HTTP status code từ hệ thống đích |
| Error | Chi tiết lỗi (nếu có) |
Log file hữu ích cho việc debug và audit trail.
Bảo mật nâng cao
- Không lưu sensitive data (API key, token) trực tiếp trong body — sử dụng biến môi trường hoặc vault.
- Review danh sách request định kỳ, vô hiệu hóa request không còn sử dụng.
- Giới hạn role assignment theo nguyên tắc least privilege.