It is currently 21 April 2025, 13:33 Advanced search

Download di file con autenticazione

Domande e risposte su come utilizzare Instant Developer Foundation al meglio

Download di file con autenticazione

Postby d.leonardi » 19 June 2014, 14:55

Salve a tutti.

Nella nostra webapp realizzata con In.De. abbiamo una repository di file .pdf. Questi file devono poter essere scaricati all'occorrenza dalla nostra applicazione Mobile.
(Abbiamo abbandonato la strada BLOB perché la sincronizzazione creava grossi problemi con Android).
Con il metodo DownloadFile sarebbe tutto molto semplice: dall'applicazione mobile è possibile utilizzare questo metodo conoscendo l'url del file.
Il problema è che non vogliamo esporre questi file sul web, perché si tratta di documenti riservati. Bisognerebbe trovare un metodo sicuro, tramite autenticazione, oppure quantomeno realizzare un meccanismo per evitare che questi file siano accessibili a tutti.

Avete dei consigli?
d.leonardi
 
Posts: 332
Joined: 28 January 2014, 13:55

Re: Download di file con autenticazione

Postby d.leonardi » 20 June 2014, 7:08

Sarebbe ad esempio utile utilizzare, lato client, la funzione Get HTTP (http://doc.instantdeveloper.com/445761D ... m?LANG=ITA).

Ma esiste un metodo o un evento per gestirla lato server per leggere username e password e eventualmente inviare una risposta con content-type di tipo application/pdf?
d.leonardi
 
Posts: 332
Joined: 28 January 2014, 13:55

Re: Download di file con autenticazione

Postby d.leonardi » 20 June 2014, 10:47

Continuo a rispondermi da solo, magari a qualcuno viene in mente qualcosa :)
Abbiamo pensato di utilizzare le WebAPI messe a disposizione da In.De., in questo modo possiamo gestire l'autenticazione con una chiamata.
L'idea è poi di utilizzare una seconda chiamata, per recuperare il file pdf tramite il metodo DownloadFile lato client.

Il problema è che non sappiamo come inserire il file nel content della risposta HTTP. Sappiamo che l'unico metodo utilizzabile è:

WebApiService.setResponse()

http://doc.instantdeveloper.com/?ARTID= ... 11&LANG=it
d.leonardi
 
Posts: 332
Joined: 28 January 2014, 13:55

Re: Download di file con autenticazione

Postby g.lanzi » 27 June 2014, 7:05

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.
Giuseppe Lanzi
Director of Support services
Pro Gamma S.p.A.
User avatar
g.lanzi
Pro Gamma
Pro Gamma
 
Posts: 3503
Joined: 29 September 2010, 10:24
Location: Bologna


Return to Tips & Tricks - Foundation

Who is online

Users browsing this forum: Google [Bot] and 47 guests

cron