# 7.3. Cách Debug (Kiểm thử) các Tính năng Phức tạp

### Gỡ chặn CORS khi gọi từ môi trường Frontend (Local Web Proxy)

Vì Desktop App chạy ở cổng `localhost:6868` nhưng Frontend Portlet lại chạy trên tên miền của hệ thống E-Office (Ví dụ `https://portal.tancang.com.vn`), nên mặc định trình duyệt như Chrome/Edge sẽ chặn **CORS (Cross-Origin Resource Sharing)**.

Để lập trình Frontend kiểm thử chức năng gọi API ký xuống Local Desktop, **Lập trình viên cần tắt tường lửa bảo mật của trình duyệt Chrome**:

- Mở command line, khởi động trình duyệt bằng luồng riêng biệt (Vô hiệu hóa Web Security và định tuyến User Data cục bộ):

```
chrome.exe --disable-web-security --user-data-dir="C:\ChromeDevSession"
```

- Tính năng này đã được ghi chép trong nội bộ dự án, nhưng **Bắt buộc phải tắt cờ này khi mang lên môi trường Production** (Xử lý dứt điểm trong code bằng config Spring `@CrossOrigin` trên Controller Local).

### Môi trường giả lập USB Token

Trong quá trình phát triển (Dev) nếu không có USB Token cứng do công ty cung cấp, bạn có thể tạo một file **Mock PKCS12 (.p12)** và thiết đặt `dss-token` trong mã nguồn đọc thẳng từ file vật lý này thay vì giao tiếp qua thư viện `.dll` / `PKCS#11`. *Xem code tham khảo tại class `UsbTokenService.java`.*