Аутентификация между двумя Micro Service в PCF - PullRequest
0 голосов
/ 22 марта 2019

Есть ли способ гарантировать, что serviceA вызывается только serviceB (или набором услуг из белого списка)? Все сервисы являются независимыми и не проходят через сервисный шлюз, поскольку они полностью независимы.

Есть ли какие-нибудь хорошие микросервисные схемы для отслеживания этого?

1 Ответ

0 голосов
/ 22 марта 2019

Если возможно, используйте RFC 6749, 4.4.Предоставление клиентских учетных данных , также известное как Поток учетных данных клиента или Поток между компьютерами (M2M) .

  1. Определите значимую область, идеально связанную с ограниченным контекстом службыB.Например, если serviceB имеет функции управления пользователями, это может быть что-то вроде user:read;
  2. serviceA, запрашивающее токен доступа на , передавая область действия в качестве необязательного аргумента
  3. на основе области действия и идентификатора клиента API / секрета serviceA, авторизованного предоставления услуги (или нет) токен доступа
  4. serviceA выполняет вызов serviceB с токеном доступа. ServiceB проверяет, является ли токен доступа действительным и имеет ли он предполагаемую область действия

Имейте в виду, что есть другие способы сделать это (например, на уровне сети с помощью IP-адресов из белого списка), но OAUTH2это стандартный протокол для авторизации, и я думаю, что RFC 6749, 4.4.Предоставление клиентских учетных данных покрытия ваших потребностей.

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