Проверка связи с сервером приложений?

#android #client-server #verification

#Android #клиент-сервер #проверка

Вопрос:

У меня есть приложение для Android, которое отправляет http POST-запросы на сервер для изменения данных. В этом запросе отправляется идентификатор пользователя и устройства, чтобы убедиться, что пользователь действительно использует устройство, на котором он вошел в систему.

Однако это означает, что любой, у кого есть идентификатор устройства someones и их идентификатор пользователя, может отправить запрос и изменить данные.

Как мне сделать связь более безопасной и добавить подтверждение того, что запрос исходит из моего приложения?

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

Ответ №1:

Внедрите OAuth на своем сервере и сгенерируйте пользовательский ключ и секрет (для конкретного приложения), который уникален для вашего приложения, и с использованием пользовательского ключа и секрета ваше приложение сначала сгенерирует токен запроса и обменяет токен запроса на токен доступа.
Теперь вы можете получить доступ к защищенным ресурсам.

Существуют библиотеки, упрощающие этот процесс, вы можете проверить библиотеки на стороне клиента и на стороне сервера по этой ссылкеhttps://oauth.net/code/#client-libraries

OAuth1.0ahttps://oauth.net/core/1.0a

(последняя версия)OAuth 2.0 https://oauth.net/2