J'ai développé une application qui supportera de nombreux utilisateurs. Le problème est que je ne peux pas comprendre comment authentifier le client / utilisateur.
Je crée une application comme http://quickblox.com/ où je donnerai des informations d'identification à mes utilisateurs et ils les utiliseront pour créer N applications dans lesquelles ils ne pourront pas mettre leur nom d'utilisateur et leur mot de passe pour s'authentifier.
Supposons que cela se passe comme suit. (Tout comme QuickBlox)
1. L'utilisateur crée un compte sur mon site Web.
2. L'utilisateur peut créer N clés API et sécréter des informations d'identification. (Pour plusieurs applications)
3. L'utilisateur utilisera ces informations d'identification dans ses applications (Android, iOS, Javascript, etc.) pour parler avec mes API REST.
(Les API REST ont un accès en lecture et en écriture.)
Ma préoccupation?
Les utilisateurs mettront leurs informations d'identification (clé API et clé secrète) dans les applications qu'ils créent, que se passe-t-il si quelqu'un obtient ces clés et essaie d'imiter l'utilisateur? (En décompilant l'APK ou en consultant directement le code JavaScript.
Ai-je tort quelque part?
Je suis confus pour concevoir ce mécanisme utilisateur à trois niveaux.