#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