Ok. Ho iniziato a sviluppare un'applicazione per Android per la nostra app Web aziendale. Ha appena iniziato la progettazione delle attività della schermata di login.Progettazione e sviluppo di login Android - Approcci e buone pratiche
Questa app è completamente gestita dall'API RESTFul.
Mi piacerebbe capire come sviluppare la funzione di accesso/uscita nell'applicazione. Per quanto ne so, non esiste un concetto di sessione nel mondo delle app. Inoltre, per l'API, abbiamo bisogno di inviare Username e Password ad ogni richiesta (Basic Auth). Quindi apparentemente, abbiamo bisogno di mantenere le credenziali di accesso da qualche parte nella memoria locale da inviare insieme ad ogni richiesta.
Ecco cosa ho capito dalla mia conoscenza base di Android.
Quando l'utente immette le informazioni di accesso e preme il pulsante, verrà avviata una chiamata HTTP all'API. Se le credenziali di accesso sono valide, allora dovremo memorizzare le credenziali localmente. Le opzioni sono
- SQLite
- Preferenze condivise. (Non ho mai usato. Ma io parto dal presupposto, possiamo usare questo)
- Bundle (non so se questa è un'opzione)
altre alternative?
Voglio assicurarmi di seguire le migliori pratiche, pur non sacrificando dal punto di vista delle prestazioni e dell'architettura.
E per il logout, penso che ho solo bisogno di cancellare le credenziali memorizzate localmente e mostrare attività di accesso.
Esistono approcci diversi e migliori?
Sono confuso riguardo al 3 ° par. Quando archivi i dati in Account, scade in un momento? Ciò significa che, se l'utente si trova nel mezzo dell'app, in alcune attività, se gli account non mi danno U/P, devo mostrare la schermata di accesso per afferrare di nuovo l'U/P? –
@KevinRave Sta prendendo in considerazione il riutilizzo del token di accesso dalle preferenze –
Il nome utente/password non scadrà. Il token di autenticazione restituito dal tuo webservice può scadere (sul lato server), se ciò accade devi informare l'AccountManager che il token è scaduto e che attiverà il callback che ti chiede di ottenere un nuovo token – Rob