Para automatizar a autenticação de proxy no iOS sem intervenção do usuário, você pode tentar as seguintes abordagens:
Use NEProxyServer programaticamente
- Defina as propriedades proxyServer, porta, nome de usuário e senha do NEProxyServer na configuração VPN do seu aplicativo[1][2]
- No entanto, isso nem sempre funciona e a caixa de diálogo "Autenticação de proxy necessária" ainda pode aparecer solicitando que o usuário insira as credenciais manualmente
Habilite a autenticação básica no servidor proxy
- Por exemplo, com mitmproxy use a opção --proxyauth para habilitar a autenticação básica[1]
- Isso funciona para HTTP, mas nem sempre para HTTPS no iOS devido a um bug no nível do protocolo nas versões mitmproxy após 8.1.0[1]
Colocar certos destinos na lista de permissões no servidor proxy
- Consulte a equipe de proxy para colocar na lista de permissões determinados destinos que não exigem autenticação[2]
- Isso permite que os processos do sistema acessem recursos da Internet sem acionar o prompt de autenticação
Desative a autenticação para proxies não autenticados no macOS
- No macOS, o problema pode ocorrer quando os processos do sistema tentam acessar recursos antes que um ticket Kerberos seja extraído do proxy
- Permitir que esses processos usem um proxy não autenticado pode ajudar a resolver os prompts[1]
Depurar para redirecionamentos não intencionais
- Verifique o código do aplicativo e os arquivos de configuração do servidor proxy em busca de redirecionamentos não intencionais que possam estar acionando a caixa de diálogo de autenticação[1]
Em resumo, embora não exista uma maneira infalível de automatizar completamente a autenticação de proxy no iOS, usar NEProxyServer programaticamente, habilitar autenticação básica no servidor proxy, colocar destinos na lista de permissões e depuração para redirecionamentos são algumas técnicas que podem ajudar a minimizar a intervenção do usuário. No entanto, a caixa de diálogo "Autenticação de proxy necessária" provavelmente ainda aparecerá em alguns casos devido a problemas no nível do protocolo.
Citações:[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