Skip to Content

Интеграция с Keycloak

Keycloak — система, которая обеспечивает централизованное управление пользователями, их ролями и правами доступа к данным. Она упрощает администрирование пользователей и их учетных записей, а также позволяет пользователям входить в несколько приложений по одной учетной записи (SSO).

В Idea Hub есть возможность настроить вход и регистрацию пользователей через Keycloak. Функциональность появилась в версии 25.3, для чего в расширения Idea Hub был добавлен модуль Keycloak.

Модуль позволяет аутентифицировать пользователей на сервере аутентификации Keycloak и синхронизировать поля пользователей с атрибутами OpenID, предоставленными Keycloak.

Ниже приведена инструкция по настройке интеграции между Idea Hub и Keycloak. Настройка выполняется пользователем с правами администратора.

Установка модулей

Установите в Idea Hub модули Keycloak и OpenID Connect.

Их можно установить командой:

drush in keycloak -y

Либо через веб-интерфейс Idea Hub:

  1. Войдите в Idea Hub под администратором.
  2. В административном меню выберите пункт Расширения.
  3. С помощью строки Фильтр найдите модули Keycloak, OpenID Connect и поставьте напротив них галочки.
  4. Нажмите Установить и дождитесь, когда появится уведомление об успешном статусе установки модулей.

Добавление Keycloak client в Idea Hub

  1. В веб-интерфейсе Idea Hub перейдите на страницу добавления клиента Keycloak: /admin/config/people/openid-connect/add/keycloak.

  2. В поле Имя установите значение keycloak.

    Важно! Текущая версия модуля учитывает конфигурацию конкретного клиента, поэтому доступно только название keycloak.

  3. В поле Client ID укажите уникальный идентификатор клиента Keycloak. В нашем примере это ideahub:

    !alt

  4. В поле Client secret укажите значение, которое можно найти на вкладке Credentials в клиенте Keycloak.

  5. В поле Keycloak base URL укажите базовый адрес Keycloak. Пример: https://keycloak-example.com:8443.

  6. Укажите Keycloak realm, который можно найти в клиенте Keycloak вверху справа. В нашем примере это test.

    alt

  7. При необходимости включите опции:

    • Update email address in user profile — позволяет автоматически обновлять адрес электронной почты в профиле пользователя в Idea Hub, если он был изменен в Keycloak.
    • Enable user role mapping — позволяет при создании/входе пользователя в Idea Hub сопоставлять его роли с ролями в Keycloak.

    В примере ниже приведена настройка, которая указывает, что для пользователей Keycloak с ролью role-ideahub нужно добавлять роль Бизнес-Пользователь в Idea Hub:

    alt

  8. В завершение нажмите Сохранить.

Настройка OpenID

  1. В веб-интерфейсе Idea Hub перейдите на страницу настройки OpenID: /admin/config/people/openid-connect/settings.
  2. Включите настройки Save user claims on every login, Override registration settings.
  3. Настройте поля User claims mapping. На текущий момент возможно настроить поля: Изображение, Часовой пояс, Почту, Имя, Телефон.
  4. В завершение нажмите Сохранить конфигурацию.

Настройка Keycloak

  1. В веб-интерфейсе Idea Hub перейдите на страницу редактирования клиента Keycloak: /admin/config/people/openid-connect/keycloak/edit.

    На странице отобразится URL — скопируйте его значение:

    alt

  2. Скопированный URL нужно добавить к валидным URL в клиенте Keycloak.

    • Для этого зайдите в вашего клиента Keycloak:

    alt

  • И добавьте скопированное значение к валидным веб-адресам:

    alt