Я разрабатывал приложение, которое будет поддерживать многих пользователей. Дело в том, что я не могу понять, как аутентифицировать клиента / пользователя.
Я создаю приложение, такое как http://quickblox.com/, где я предоставляю учетные данные своим пользователям, и они будут использовать их для создания N приложений, в которых они не смогут ввести свое имя пользователя и пароль для аутентификации.
Давайте предположим, что это идет следующим образом. (Так же, как QuickBlox)
1. Пользователь создает учетную запись на моем сайте.
2. Пользователь может создавать N API ключей и секретных учетных данных. (Для нескольких приложений)
3. Пользователь будет использовать эти учетные данные в своих приложениях (Android, iOS, Javascript и т. Д.), Чтобы общаться с моими REST API.
(API REST имеют доступ для чтения и записи.)
Моя забота?
Пользователи будут помещать свои учетные данные (ключ API и секретный ключ) в создаваемые ими приложения. Что если кто-то получит эти ключи и попытается имитировать пользователя? (Декомпилируя APK или напрямую просматривая код JavaScript.
Я где то не прав?
Я запутался, чтобы спроектировать этот трехуровневый пользовательский механизм.