Настройка sso через keycloak

Поставили задачу настроить sso через saml для приложения на базе corteza.

Скажу сразу, тут я полный профан. Поднял отдельным сервисом key cloak. Настроил авторизацию через пользователей keycloak. Т. Е. У меня в key cloak задан пользователь и при нажатии в приложении на кнопку авторизации через saml меня редиректит в IDP после чего я ввожу даные от учетки созданной в kc.

Собственно вопрос. Как мне настроить key cloak так, что бы он проверял учётные данные не из собственного списка, а из базы юзеров приложения?


Ответы (1 шт):

Автор решения: Nikolai Shevchenko

Для этого понадобится написать небольшой SPI-плагин для keycloak, разместить его в инсталляции КК и делегировать ему (через админку КК) возможность управлять аутентификацией. Но есть нюанс, плагин должен быть упакован в JAR-кy, и соот-но быть написан на Java! Интеграций на Go я не нашел в поиске, но может у вас получится.

Плагин должен содержать имплементацию интерфейса org.keycloak.authentication.Authenticator, которая умеет обращаться в вашу БД с юзерами/аккаунтами, например посредством REST-вызовов к сервису-обёртке или напрямую в БД - тут уже есть пространство для манёвров.

Пример реализации плагина можно посмотреть на GitHub

→ Ссылка