2011-08-17 5 views
5

Ho un'app per iPad realizzata utilizzando Sencha Touch per i rappresentanti di vendita. Il problema è che alcuni utenti si vendono nei boonies e non hanno accesso a Internet. Pertanto, vogliamo creare un'app iOS "nativa" che consenta loro di utilizzare l'app anche senza accesso a Internet. Spero di usare PhoneGap per utilizzare molto del codice corrente.Come autenticare w/o l'accesso a Internet in PhoneGap?

Il problema che sto incontrando mentre sto pianificando è l'autenticazione.

Attualmente l'app autentica gli utenti su un database remoto utilizzando PHP. Con l'app nativa PhoneGap, c'è un modo per me di gestire l'autenticazione localmente quando un utente non ha accesso a Internet? Posso rendere sicura un'opzione locale e, in caso affermativo, come? È semplice come l'autenticazione con un file XML o JSON nel mio progetto PhoneGap?

Nota: so che questo è totalmente ignorante per chi lo capisce e mi scuso. Non ho mai lavorato con qualcosa di diverso dalle tecnologie web pure, dove il lato client e il lato server sono chiari per me. Non ho fatto nulla con le lingue compilate.

Non capisco quanto sia sicuro JS (o se lo è affatto) quando si utilizza PhoneGap per comprimerlo come un'applicazione nativa. È trasparente come sarebbe sul web?

È possibile che un utente malintenzionato con l'app installata sul proprio telefono veda il mio JavaScript ecc.?

risposta

0

Aggiungere un plug-in/server web locale. Se "offline" si connette ad esso per autenticarsi. È possibile attivare il plug-in per sincronizzare le credenziali di autenticazione su richiesta o ad intervalli e crittografare i contenuti. Non farei JS per archiviare tutto questo.

1

La prima volta che l'utente esegue il login con successo su Internet, memorizza le variabili necessarie in localstorage (i nome utente e hash della password). Quindi utilizzare tali variabili per autenticare se l'utente è offline. Non è possibile visualizzare il codice sorgente o gli script in modo semplice una volta che l'app è stata confezionata con PhoneGap.