Ho sviluppato un'applicazione che supporterà molti utenti. Il fatto è che non riesco a capire come autenticare il cliente / utente.
Sto costruendo un'app come http://quickblox.com/ dove darò le credenziali ai miei utenti e li useranno per creare applicazioni N in cui non possono inserire il loro nome utente e password per autenticarsi.
Supponiamo che vada come segue. (Proprio come QuickBlox)
1. L'utente crea un account sul mio sito Web.
2. L'utente può creare chiavi API N e secernere credenziali. (Per più app)
3. L'utente utilizzerà queste credenziali nelle proprie applicazioni (Android, iOS, Javascript ecc ...) per parlare con le mie API REST.
(Le API REST hanno accesso in lettura e scrittura.)
La mia preoccupazione?
Gli utenti inseriranno le proprie credenziali (chiave API e chiave di segreto) nelle applicazioni che creano, e se qualcuno ottenga queste chiavi e provi a imitare l'utente? (Decompilando APK o esaminando direttamente il codice JavaScript.
Sbaglio da qualche parte?
Sono confuso per progettare questo meccanismo utente a tre livelli.