Как ограничить доступ к ресурсам с помощью шлюза API - PullRequest
1 голос
/ 01 августа 2020

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

ЧТО У МЕНЯ:

  • , допустим, у меня есть пара API
  • также есть шлюз API, который отвечает за маршрутизацию и аутентификацию
  • Я использую поставщика удостоверений (keycloak) для аутентификации (на основе JWT)

ЧТО Я ХОЧУ ЗНАТЬ:

Допустим, у меня есть конечная точка, например api/user/<user_id>, которая работает с запросом POST и изменяет информацию о пользователе.

Для этого не только мне нужно проверить, является ли пользователь аутентифицированным / разрешенным Я также должен проверить, является ли пользователь, пытающийся получить к нему доступ, собственный пользователь.

Мой вопрос: лучше ли делать это в шлюзе API, или шлюз API должен передать JWT в API чтобы он мог проверить это на контроллере?

  • Я использую spring -boot для apis
  • Zuul-прокси Netflix для шлюза API
  • Keycloak для обработки аутентификации

1 Ответ

1 голос
/ 01 августа 2020

Единственная цель API Gateway - Маршрутизация запросов, аутентификация и балансировка нагрузки . В этом микросервисе необходимо проверить, имеет ли пользователь право вносить изменения, и следует принять решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...