Как бы вы реализовали правильную аутентификацию клиента https - PullRequest
0 голосов
/ 23 января 2020

У меня есть приложение android, которое подключается к моему бэкэнду (серверу apache2 с некоторыми сценариями php) через https для извлечения данных, хранящихся в моей базе данных. Моя проблема в том, что я не знаю, как правильно аутентифицировать мое приложение, чтобы убедиться, что мой бэкэнд не доступен ни одному другому приложению.

В настоящее время я использую базовую c аутентификацию apache, Это означает, что к каталогу скриптов можно получить доступ только с помощью логина и пароля. Насколько я знаю, android приложения могут быть легко декомпилированы, что покажет учетные данные для аутентификации, поскольку они хранятся в виде простого текста в коде. Я не мог придумать способ, который не доставил бы проблем c, если вы считаете, что кто-то декомпилирует ваше приложение.

Что может быть правильным способом для аутентификации приложения?

1 Ответ

0 голосов
/ 24 января 2020

Вы можете использовать механизм аутентификации на основе токенов.

Вызов API, предоставляемого сервисом аутентификации (например, OAuth2), с использованием некоторых действительных учетных данных, предоставленных пользователем во время выполнения, вернет токен доступа, который предоставит доступ к нужным ресурсам.

Затем токен будет использоваться в качестве значения для заголовка канала авторизации для следующих вызовов API.

Таким образом, ничто не жестко закодировано, токен генерируется динамически. Вам также придется позаботиться об обновлении токена доступа после истечения срока действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...