Интеграция с Keycloak
Last updated
Was this helpful?
Last updated
Was this helpful?
Keycloak — система, которая обеспечивает централизованное управление пользователями, их ролями и правами доступа к данным. Она упрощает администрирование пользователей и их учетных записей, а также позволяет пользователям входить в несколько приложений по одной учетной записи (SSO).
В Idea Hub есть возможность настроить вход и регистрацию пользователей через Keycloak. Функциональность появилась в версии 25.3, для чего в расширения Idea Hub был добавлен модуль Keycloak.
Модуль позволяет аутентифицировать пользователей на сервере аутентификации Keycloak и синхронизировать поля пользователей с атрибутами OpenID, предоставленными Keycloak.
Ниже приведена инструкция по настройке интеграции между Idea Hub и Keycloak. Настройка выполняется пользователем с правами администратора.
Установите в Idea Hub модули Keycloak и OpenID Connect.
Их можно установить командой:
Либо через веб-интерфейс Idea Hub:
Войдите в Idea Hub под администратором.
В административном меню выберите пункт Расширения.
С помощью строки Фильтр найдите модули Keycloak, OpenID Connect и поставьте напротив них галочки.
Нажмите Установить и дождитесь, когда появится уведомление об успешном статусе установки модулей.
В веб-интерфейсе Idea Hub перейдите на страницу добавления клиента Keycloak: /admin/config/people/openid-connect/add/keycloak
.
В поле Имя установите значение keycloak.
Важно! Текущая версия модуля учитывает конфигурацию конкретного клиента, поэтому доступно только название keycloak
.
В поле Client ID укажите уникальный идентификатор клиента Keycloak. В нашем примере это ideahub:
!
В поле Client secret укажите значение, которое можно найти на вкладке Credentials в клиенте Keycloak.
В поле Keycloak base URL укажите базовый адрес Keycloak. Пример: https://keycloak-example.com:8443
.
Укажите Keycloak realm, который можно найти в клиенте Keycloak вверху справа. В нашем примере это test
.
При необходимости включите опции:
Update email address in user profile — позволяет автоматически обновлять адрес электронной почты в профиле пользователя в Idea Hub, если он был изменен в Keycloak.
Enable user role mapping — позволяет при создании/входе пользователя в Idea Hub сопоставлять его роли с ролями в Keycloak.
В примере ниже приведена настройка, которая указывает, что для пользователей Keycloak с ролью role-ideahub нужно добавлять роль Бизнес-Пользователь в Idea Hub:
В завершение нажмите Сохранить.
В веб-интерфейсе Idea Hub перейдите на страницу настройки OpenID: /admin/config/people/openid-connect/settings
.
Включите настройки Save user claims on every login, Override registration settings.
Настройте поля User claims mapping. На текущий момент возможно настроить поля: Изображение, Часовой пояс, Почту, Имя, Телефон.
В завершение нажмите Сохранить конфигурацию.
В веб-интерфейсе Idea Hub перейдите на страницу редактирования клиента Keycloak: /admin/config/people/openid-connect/keycloak/edit
.
На странице отобразится URL — скопируйте его значение:
Скопированный URL нужно добавить к валидным URL в клиенте Keycloak.
Для этого зайдите в вашего клиента Keycloak:
И добавьте скопированное значение к валидным веб-адресам: