Ho sviluppato un'applicazione che supporterà molti utenti. Il fatto è che non sono in grado di capire come autenticare il client / utente.
Sto costruendo un'app come link dove darò le credenziali ai miei utenti e useranno quelle per creare N applicazioni in cui non possono inserire nome utente e password per l'autenticazione.
Supponiamo che vada come segue. (Proprio come QuickBlox)
1. L'utente crea un account sul mio sito Web.
2. L'utente può creare N chiavi API 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 secondaria) nelle applicazioni che creano, e se qualcuno ottiene queste chiavi e tenta di imitare l'utente? (Decompilando l'APK o esaminando direttamente il codice JavaScript.
Mi sbaglio da qualche parte?
Sono confuso nel progettare questo meccanismo utente a tre livelli.