BÁO CÁO FIX LỖI UNAUTHENTICATED + DATATABLES AJAX

Lỗi bạn gặp:
- DataTables warning: table id=boostingOrdersTable - Ajax error
- Nhiều nút/mục báo: Thất bại - Unauthenticated.

Nguyên nhân chính:
- Các bảng admin gọi /api/admin/* bằng Sanctum Bearer token.
- Sau khi upload code/restore database/cache hoặc khi token trong session bị mất/hết/hỏng, trang admin vẫn mở được nhưng API trả về 401 Unauthenticated.
- DataTables nhận lỗi 401 nên báo Ajax error.

Đã sửa:
1. app/Http/Middleware/RefreshSanctumToken.php
   - Nếu admin/user vẫn đang đăng nhập web hợp lệ nhưng session thiếu token hoặc token không còn trong DB, hệ thống tự tạo lại token web-session mới.
   - Token mới được lưu vào session và đẩy về header X-Sanctum-Token.

2. app/Http/Middleware/Admin.php
   - Dùng $request->user() để tương thích cả web session và Sanctum API.
   - Nếu request API chưa xác thực thì trả JSON 401 rõ ràng.

3. resources/views/admin/layouts/partials/vendor.blade.php
   - Tự gắn Authorization Bearer token cho jQuery/DataTables AJAX.
   - Tự gắn Accept application/json và X-CSRF-TOKEN.
   - Nếu gặp 401, web tự gọi refresh token rồi yêu cầu tải lại trang để bảng hoạt động lại.

4. fix_auth_ajax_datatables_now.php
   - File chạy 1 lần để xóa cache/view/route/config sau khi upload.

Cách dùng:
1. Upload file fix-only hoặc bản full lên hosting và giải nén đè.
2. Mở link:
   https://domain-cua-ban.com/fix_auth_ajax_datatables_now.php
3. Thấy dòng TAOSHOPACC FIX AUTH AJAX DATATABLES OK là xong.
4. Xóa ngay file fix_auth_ajax_datatables_now.php khỏi hosting.
5. Đăng xuất admin, đăng nhập lại hoặc Ctrl+F5 rồi thử lại các mục bị lỗi.

Lưu ý:
- Nếu vẫn bị DataTables Ajax error nhưng không phải 401, cần mở DevTools > Network xem API trả lỗi 500/SQL gì để fix tiếp.
