Как предотвратить вызовы API REST из инструментов и консоли разработчика браузера в SPA - PullRequest
0 голосов
/ 08 ноября 2019

Мы разрабатываем приложение учета без учета состояния с использованием архитектуры SPA, JWT для аутентификации и Loopback для REST API. Вся логика учета находится в клиентских формах, которые выполняют REST-вызовы к серверу по мере необходимости для извлечения данных, используемых в формах (комбинированные списки, списки, отчеты и т. Д.), И для сохранения данных. Безопасность конечного пользователя ориентирована на доступ к определенным формам, которые выполняют различные задачи учета (ввод счета, добавление клиента, просмотр отчета и т. Д.). Ключевым моментом здесь является то, что каждый пользователь будет иметь доступ к определенным формам, и каждая форма может иметь логику, которая делает API-вызовы к конечным точкам с данными, к которым у пользователя иначе не было бы доступа через пользовательский интерфейс (аналогично настольному приложению). Однако, если аутентифицированный, осведомленный конечный пользователь открывает Dev Tools в браузере, он может ввести код JavaScript, который может напрямую выполнять вызовы API и потенциально получать доступ к данным, к которым у него не будет доступа, через пользовательский интерфейс или удалять данные или, что еще хуже. Наша модель безопасности работает хорошо, за исключением этой проблемы с Dev Tools.

ВОПРОС : Как мы можем запретить конечному пользователю, обладающему знаниями, выполнить код в инструментальных средствах разработки консоли / консоли, которые напрямую вызывают наш REST API?

...