Gắn một response interceptor: khi nhận 401 do access token hết hạn → gọi refresh MỘT lần, lấy access token mới, rồi retry request gốc.
Điểm hay bị hỏi sâu: khi đang refresh mà nhiều request khác cũng nhận 401, chúng phải xếp hàng chờ (queue) token mới thay vì mỗi request tự gọi refresh song song — tránh gọi refresh nhiều lần và race condition. Khi refresh xong, "flush" hàng đợi để retry tất cả.
Lưu ý: request gọi refresh phải được loại khỏi interceptor để không tạo vòng lặp; nếu refresh thất bại → đăng xuất và điều hướng về trang login.