Con il team di supporto si è parlato del caso anche in assistenza, ma aggiungo anche sul forum qualche dato per completare il thread.
Per scaricare un file protetto da password è possibile specificare la password direttamente nell'url, usandone uno con la forma
http://username:password@hostname/filepath.
È vero che questo tipo di chiamata è GET e tutti abbiamo in mente che il metodo GET è meno sicuro del metodo POST, ma questa poca sicurezza è causata fondamentalmente dal fatto con GET si vede l'url nella barra degli indirizzi browser, che lo tiene nell'history, e il web server lo tiene nei log.
Usando la downloadFile per fare la chiamata non ci sono problemi, perché l'URL non è né nella barra degli indirizzi né nell'history del browser.
Teoricamente la si può trovare nell'history del server, ma se qualcuno accede all'history del web server i problemi, a quel punto, potrebbero essere altri.
Per essere rispettosi della privacy degli utenti ed impedire che la password sia in chiaro nel log del server, basta usare il Simple Crypter per cifrarla con una passphrase nota a priori (e embeddata nel codice).
Mi sembra il modo più sicuro e più semplice di procedere. Anche perché non è che sia così semplice sniffare le richieste che vanno da un dispositivo mobile al server, senza aver installato qualcosa di malevolo nell'uno o nell'altro. Ma anche a questo punto i problemi sono altri.
Un ulteriore protezione potrebbe venire dal percorso del file, che non deve essere per forza noto a priori. Si potrebbe usare una prima chiamata al server con username e password per copiare il file in una cartella con un GUID come nome. Il server risponde al client il GUID e il client prende il file dal posto giusto.
Al termine del download (o comunque dopo un tot di minuti) il server distrugge la copia temporanea del file.