Статьи

Многопользовательская аутентификация через Kong API Gateway

Шлюз API шаблон реализует услугу , что это точка входа в microservices приложение, от внешних клиентов API или потребителей.
Он отвечает за маршрутизацию запросов, составление API и другие граничные функции, такие как аутентификация.

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

Существует множество технологий, которые мы можем использовать для реализации шаблона API-шлюза, включая готовые продукты API-шлюза, такие как Kong .

Когда он получает запрос, Kong выполняет поиск в карте маршрутизации, которая указывает, какой восходящий сервис направить запрос. Эта функция идентична функции обратного прокси, предоставляемой веб-серверами, такими как NGINX. Kong основан на HTTP-сервере NGINX и позволяет нам настраивать гибкие правила маршрутизации, которые используют метод HTTP, заголовки и путь для выбора службы backend / upstream, а также предоставляет набор плагинов, которые реализуют функции пограничного уровня, такие как аутентификация: acl  и ключ аутентификации .

Давайте не будем рассматривать следующие предварительные условия и шаги для реализации аутентификации на основе API-ключей:

  • myService  — микросервис, который должен быть закрытым и предоставлять конечную точку http: // myServicePrivateHost: 80 / api / v1 / myServicePath
  • два арендатора tenant1.mydomain.com и tenant2.mydomain.com,  для которых мы хотим аутентифицировать запросы
  • Kong работает на http: // localhost: 8000 для прокси и http: // localhost: 8001 для API администратора

1. Создать сервисный объект , представление вышестоящего микросервиса

Запрос:


Оболочка