Я купил API, который можно использовать в мобильном приложении. API включает ключ и имя пользователя, как ожидалось. В приложении этот API необходимо вызвать в подтверждение оплаты.
Я обнаружил, что с помощью таких инструментов, как Fiddler, можно увидеть запрос, сделанный приложением. Если это так, для получения полного доступа к сигнатуре API требуется всего лишь секунд.
Было бы очень полезно, если кто-то может помочь в этом вопросе.
Мои мысли:
Технологии: Угловой JS, Узел JS, Ионная структура
Посмотрите на мой ответ на этот вопрос. Вместо использования имени пользователя и пароля ваш бэкэнд может предоставить дополнительный ресурс, который позволяет пользователю создавать токен с особой областью. В вашем приложении AngularJS вы можете использовать $ http или $ resource services (если включен модуль ngResource) и получить такой токен, который позволяет вам получить доступ только к частям вашего бэкэнд, которым действительно нужен ваш клиент.
Этот токен должен быть кэширован на стороне клиента и включен в заголовок каждого запроса.
В AngularJS сохранение токена в заголовке каждого запроса может выполняться в центральном месте, если вы используете конфигурационную функцию созданного вами модуля.
app.config(function($httpProvider) { $httpProvider.defaults.xsrfCookieName = "TOKEN" }
AngularJS также предоставляет некоторые дополнительные функции безопасности. Например, вы можете использовать механизм защиты уязвимостей JSON. Если вы используете это, ваш бэкэнд должен был добавить символы)]} '(вы также можете переопределить символы по умолчанию) для каждого тела ответа JSON. Для других клиентов ответ JSON будет недопустимым Javascript-кодом, но в вашем приложении AngularJS символы будут автоматически удалены.
ОБНОВИТЬ
Лучшим способом реализации безопасности для вашего приложения будет чтение и понимание спецификации OAuth2.
В этом видео с минуты 11:36 до 17:26 описывается поток JavaScript.
Этот сайт обеспечивает некоторую реализацию стандарта для разных языков программирования.
Некоторые из аспектов этого стандарта заключаются в том, что все клиенты и перенаправленные URL-адреса должны быть зарегистрированы на дополнительном сервере аутентификации. Клиент идентифицируется уникальным идентификатором клиента.
Чтобы исключить, что какое-либо другое приложение перехватывает ваши запросы на извлечение токена, исходный токен должен быть активным только в течение небольшого промежутка времени, и каждый запрос api должен быть зашифрован SSL.
Для обеспечения единого входа также можно использовать токены обновления.