Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

Интеграция CloudLink с внешним Keycloak по протоколу OIDC

Данная инструкция описывает настройку интеграции CloudLink с внешним Keycloak по протоколу OpenID Connect (OIDC). После завершения настройки пользователи внешнего Keycloak смогут выполнять вход в CloudLink с использованием механизма единого входа (SSO).

1. Схема интеграции

В интеграции участвуют два экземпляра Keycloak:

  • Внешний Keycloak — это Identity Provider, содержащий учетные записи пользователей.

  • Keycloak CloudLink — это экземпляр Keycloak, используемый CloudLink для аутентификации и авторизации пользователей.

Для настройки интеграции необходимо:

Создание OIDC-клиента и Identity Provider можно выполнять параллельно. При настройке рекомендуется сохранять значения параметров, которые используются на обеих сторонах интеграции.

Перед началом настройки убедитесь, что:

  • оба экземпляра Keycloak доступны друг другу по сети.

  • между экземплярами Keycloak обеспечена сетевая связность по HTTPS.

  • DNS-имена обоих экземпляров корректно разрешаются.

  • пользователь имеет права администратора в соответствующих Realm обоих экземпляров Keycloak.

2. Создание OIDC-клиента во внешнем Keycloak

  1. Выполните вход в административную консоль внешнего Keycloak.

  2. Выберите необходимый Realm.

  3. Перейдите в раздел Clients.

  4. Нажмите Create client.

  5. В поле Client type выберите значение OpenID Connect.

  6. Сохраните настройки.

2.1. Основные параметры Client

  1. Укажите параметры клиента:

    • Client ID — укажите уникальный идентификатор клиента в рамках выбранного Realm.

    • Valid redirect URIs — укажите URI перенаправления, полученный при создании Identity Provider в Keycloak CloudLink.

    • Valid post logout redirect URIs — укажите URI перенаправления после выхода из системы, полученный при создании Identity Provider в Keycloak CloudLink.

  2. Сохраните настройки.

  3. Откройте созданный клиент.

  4. В разделе Capability config включите параметр Client authentication.

  5. Сохраните изменения.

2.2. Получение Client Secret

  1. Откройте вкладку Credentials.

  2. Скопируйте значение параметра Client Secret.

Полученное значение потребуется при настройке Identity Provider в Keycloak CloudLink.

3.1. Общие действия

  1. Выполните вход в административную консоль Keycloak CloudLink.

  2. Выберите необходимый Realm.

  3. Перейдите в раздел Identity Providers.

  4. Нажмите Add provider.

  5. Выберите тип OpenID Connect v1.0.

  6. Укажите параметры подключения.

  7. Сохраните настройки.

3.2. Основные параметры Identity Provider

  1. Заполните параметры Identity Provider:

    • Alias — укажите имя провайдера аутентификации. Оно отображается на странице входа CloudLink.

    • Discovery endpoint — активируйте параметр Use discovery endpoint и укажите URL конфигурации OIDC.

      TIP

      URL конфигурации OIDC можно получить во внешнем Keycloak по адресу Realm settings → General → Endpoints → OpenID endpoint Configuration.

    • Client ID — укажите идентификатор клиента, созданного во внешнем Keycloak.

    • Client Secret — введите секрет клиента, полученный на вкладке Credentials внешнего Keycloak.

4. Дополнительная настройка Identity Provider

После создания Identity Provider выполните дополнительную настройку.

  1. В разделе Advanced settings установите следующие значения:

    • First login flow — first broker login.

    • Sync mode — Import.

      Эти параметры обеспечивают автоматическое создание пользователя в Keycloak CloudLink при первом входе через внешний Keycloak.
  2. В разделе Advanced → Backchannel logout включите поддержку backchannel logout и сохраните конфигурацию.

    Это позволит корректно завершать пользовательские сессии при использовании единого входа (SSO).

5. Проверка работоспособности

  1. Откройте портал CloudLink.

  2. Выберите настроенный внешний Identity Provider.

  3. Выполните вход под пользователем, существующим во внешнем Keycloak.

Если настройка выполнена корректно, пользователь будет успешно аутентифицирован и получит доступ к CloudLink.