Может ли wicked.io интегрироваться с keycloak таким образом, чтобы keycloak обеспечивал идентификаторы и секреты клиентов и, конечно же, аутентификацию? - PullRequest
1 голос
/ 26 марта 2019

Я ищу систему управления API, которая будет интегрирована с Keycloak (Keycloak должен обеспечивать всю аутентификацию). Wicked.io (на базе Конга) выглядит красиво.

Я пытался добавить oAuth2 в качестве метода аутентификации, но wicked продолжает генерировать свои собственные идентификаторы и секреты клиента.

Есть ли способ сделать это со злом?

1 Ответ

0 голосов
/ 08 апреля 2019

сопровождающий 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но об этом я не в курсе.

...