Pour automatiser l'authentification proxy sur iOS sans intervention de l'utilisateur, vous pouvez essayer les approches suivantes :
Utiliser NEProxyServer par programme
- Définissez les propriétés proxyServer, port, nom d'utilisateur et mot de passe de NEProxyServer dans la configuration VPN de votre application[1][2]
- Cependant, cela ne fonctionne pas toujours et la boîte de dialogue « Authentification proxy requise » peut toujours apparaître, demandant à l'utilisateur de saisir manuellement ses informations d'identification.
Activer l'authentification de base sur le serveur proxy
- Par exemple, avec mitmproxy, utilisez l'option --proxyauth pour activer l'authentification de base[1]
- Cela fonctionne pour HTTP mais pas toujours pour HTTPS sur iOS en raison d'un bug au niveau du protocole dans les versions mitmproxy après 8.1.0[1]
Liste blanche de certaines destinations sur le serveur proxy
- Consultez l'équipe proxy pour ajouter sur liste blanche certaines destinations qui ne nécessitent pas d'authentification[2]
- Cela permet aux processus système d'accéder aux ressources Internet sans déclencher l'invite d'authentification
## Désactiver l'authentification pour les proxys non authentifiés sur macOS
- Sous macOS, le problème peut survenir lorsque des processus système tentent d'accéder aux ressources avant qu'un ticket Kerberos ne soit extrait du proxy.
- Autoriser ces processus à utiliser un proxy non authentifié peut aider à résoudre les invites[1]
Débogage pour les redirections involontaires
- Vérifiez le code de l'application et les fichiers de configuration du serveur proxy pour détecter toute redirection involontaire susceptible de déclencher la boîte de dialogue d'authentification[1].
En résumé, bien qu'il n'existe aucun moyen infaillible d'automatiser complètement l'authentification proxy sur iOS, l'utilisation de NEProxyServer par programmation, l'activation de l'authentification de base sur le serveur proxy, la liste blanche des destinations et le débogage des redirections sont quelques techniques qui peuvent aider à minimiser l'intervention de l'utilisateur. Cependant, la boîte de dialogue « Authentification proxy requise » apparaîtra probablement dans certains cas en raison de problèmes au niveau du protocole.
Citations :[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