Để tự động xác thực proxy trên iOS mà không cần sự can thiệp của người dùng, bạn có thể thử các phương pháp sau:
Sử dụng NEProxyServer theo chương trình
- Đặt thuộc tính proxyServer, cổng, tên người dùng và mật khẩu của NEProxyServer trong cấu hình VPN của ứng dụng của bạn[1] [2]
- Tuy nhiên, cách này không phải lúc nào cũng hiệu quả và hộp thoại "Yêu cầu xác thực proxy" vẫn có thể xuất hiện yêu cầu người dùng nhập thông tin xác thực theo cách thủ công
Kích hoạt xác thực cơ bản trên máy chủ proxy
- Ví dụ: với mitmproxy, hãy sử dụng tùy chọn --proxyauth để bật xác thực cơ bản[1]
- Tính năng này hoạt động với HTTP nhưng không phải lúc nào cũng hoạt động với HTTPS trên iOS do lỗi cấp độ giao thức trong các phiên bản mitmproxy sau 8.1.0[1]
Đưa vào danh sách trắng các đích đến nhất định trên máy chủ proxy
- Tham khảo ý kiến của nhóm proxy để đưa vào danh sách trắng một số điểm đến không yêu cầu xác thực[2]
- Điều này cho phép các tiến trình hệ thống truy cập tài nguyên internet mà không cần kích hoạt lời nhắc xác thực
Tắt xác thực cho proxy không được xác thực trên macOS
- Trên macOS, sự cố có thể xảy ra khi các quy trình hệ thống cố gắng truy cập tài nguyên trước khi vé Kerberos được lấy từ proxy
- Việc cho phép các quy trình này sử dụng proxy không được xác thực có thể giúp giải quyết các lời nhắc[1]
Gỡ lỗi cho các chuyển hướng ngoài ý muốn
- Kiểm tra mã của ứng dụng và tệp cấu hình máy chủ proxy xem có bất kỳ chuyển hướng ngoài ý muốn nào có thể kích hoạt hộp thoại xác thực[1]
Tóm lại, mặc dù không có cách nào dễ dàng để tự động hóa hoàn toàn xác thực proxy trên iOS, nhưng sử dụng NEProxyServer theo chương trình, bật xác thực cơ bản trên máy chủ proxy, đưa đích đến vào danh sách trắng và gỡ lỗi cho chuyển hướng là một số kỹ thuật có thể giúp giảm thiểu sự can thiệp của người dùng. Tuy nhiên, hộp thoại "Yêu cầu xác thực proxy" có thể vẫn xuất hiện trong một số trường hợp do sự cố ở cấp độ giao thức.
Trích dẫn:[1] https://stackoverflow.com/questions/53852899/ios-keep-showing-proxy-authentication-required-dialog-even-after-passing-usern
[2] https://forums.developer.apple.com/thread/112201
[3] https://smartproxy.com/configuration/how-to-setup-proxy-for-iphone
[4] https://www.howtogeek.com/293676/how-to-configure-a-proxy-server-on-an-iphone-or-ipad/
[5] https://discussions.apple.com/thread/250375534