сопровождающий wicked.haufe.io здесь.
Объединение wicked / Kong с KeyCloak может быть не очень хорошей идеей.Wicked решает множество проблем, которые KeyCloak также должен решить, и это довольно большое перекрытие, например, объединение идентификаторов (SAML, OAuth2) с рабочим процессом OAuth2 и все такое.
KeyCloak и wicked / Kongследуйте другим принципам, хотя;KeyCloak выдает токены, которые проверяются с помощью библиотеки KeyCloak внутри ваших сервисов.Это более или менее заменяет API-шлюз - он реализован внутри ваших сервисов на основе библиотеки KeyCloak.
wicked / Kong, поскольку контраст создается по-разному, где большим отличием является API-интерфейс, который Wicked предоставляет сверхуof Kong и что у вас есть выделенный API Gateway (Kong)Wicked предоставляет вам свои собственные учетные данные клиента, а также хочет выполнить весь бит аутентификации и авторизации.В обмен на это вы получаете портал самообслуживания API;если вам это не нужно, вам, вероятно, не понадобится злой.
То, что вы можете сделать, - это интегрировать поток KeyCloak OAuth2 в злой, если KeyCloak будет действовать как SAML илиПоставщик удостоверений OAuth2.Затем вы зарегистрируете свой сервер авторизации KeyCloak в качестве провайдера идентификации для Wicked (используя одного поставщика услуг (SAML) или клиента (OAuth2)).Здесь «но» заключается в том, что вам все равно нужно будет предоставить точку входа в ваши службы, которые не проходят через библиотеку KeyCloak.
wicked / Kong всегда работает так: требуетсяизбавить от необходимости осуществлять аутентификацию / авторизацию внутри ваших сервисов;вместо этого вам нужно проверить заголовки X-Authenticated-UserId
и X-Authenticated-Scope
.Для wicked это обычно будет что-то вроде sub=<some id>
, также в зависимости от того, какой тип провайдера идентификации вы настроили для использования wicked.Но этот подход обычно заменяет KeyCloak.Плюс в том, что у вас может быть одна точка входа в ваши службы (= Kong), и у вас есть довольно легкий способ защитить произвольные службы - не только службы, написанные на языках, поддерживаемых KeyCloak!- за шлюзом API при предоставлении доступа к самообслуживанию (с настраиваемыми планами, документацией и т. д.) через портал API.
Все эти вещи, очевидно, несколько сложны;wicked чрезвычайно гибок в использовании, но на самом деле он не предназначен для объединения с KeyCloak (что аналогично. Все сводится к пониманию варианта использования и поиску архитектуры решения, которая наилучшим образом решает ваш вариант использования.
Если ваши варианты использования включают в себя портал API и документацию API (так и должно быть), то выход из строя / Конг может быть хорошей возможностью. Если это не так, вы можете быть более счастливы придерживаться KeyCloak (который вы можете увидеть какБезголовая система управления API с нужным вам децентрализованным шлюзом.)
Отказ от ответственности : Мои знания о KeyCloak несколько устарели, возможно, есть обновления, которые также идут в направлении API Portalно об этом я не в курсе.