Есть ли способ защитить API без аутентификации на основе входа в систему? - PullRequest
0 голосов
/ 24 апреля 2018

В настоящее время я разрабатываю API для веб-сайта, но для использования веб-сайта не требуется вход в систему, поэтому API должен работать без индивидуальной аутентификации пользователя.Цель состоит в том, чтобы предотвратить использование API третьим лицом.

Существует ли способ защиты API, который будет использоваться только моим веб-сайтом, без использования аутентификации при входе в систему для предотвращения вызова сторонним сервисом бэкэнда,

Я посмотрел в CORS, но это не похоже на сильную гарантию.Другой мыслью был вращающийся ключ API.Что обычно используется в этих ситуациях?

Ответы [ 2 ]

0 голосов
/ 06 мая 2018

Когда ваш сайт загружен, установите уникальный токен в вашем клиенте. Отправляйте этот уникальный токен во всех ваших запросах на ваш сервер, который поможет вам определить, к какому клиенту обращается API.

Пользователю не нужно входить в систему, но в этом случае вы устанавливаете токен, который похож на тип аутентификации API Key.

0 голосов
/ 24 апреля 2018

Вы можете установить конфигурацию ProxyPass на своем веб-сервере Apache, чтобы перенаправлять запросы, которые вы делаете в своем веб-интерфейсе, на свой бэкэнд, таким образом, конечная точка бэкэнда будет скрыта.

Я покажу вам пример...

ProxyPass "/foo" "http://yourbackend.com/bar"
ProxyPassReverse "/foo" "http://yourbackend.com/bar"

Таким образом, все запросы на yourfrontend.com / foo будут перенаправлены на yourbackend.com / bar , и вы откроете консольвашего навигатора вы только увидите запрос к yourfrontend.com/foo....

Конечно, если кто-то найдет внутренний URL-адрес, будет доступен.

...