Весенние конференции Труконф

Настройка интеграции Keycloak с TrueConf Server

Корпоративный мессенджер с видеосвязью TrueConf Server поддерживает беспарольную аутентификацию через технологию единого входа (Single Sign-On, SSO) с использованием Keycloak в качестве сервера авторизации. Для реализации этой схемы требуется предварительная интеграция Keycloak со службой каталогов (например, OpenLDAP или Active Directory) по протоколу LDAP.

Keycloak — это открытая платформа управления идентификацией и доступом (Identity and Access Management, IAM), позволяющая легко добавлять аутентификацию и авторизацию в веб-приложения и сервисы. Поддерживает стандарты вроде OpenID Connect, OAuth 2.0 и SAML, а также интеграцию со службами каталогов по протоколу LDAP (например Microsoft Active Directory) и социальными провайдерами.

Подробнее вы можете ознакомиться на официальном сайте.

В этой статье мы рассмотрим базовую установку Keycloak, а также подключим службу каталогов по LDAP и настроим интеграцию с TrueConf Server.

Настройка LDAP/AD и SSO доступны даже в TrueConf Server Free.

Установка Keycloak

Рекомендованные системные требования:

  • Операционная система: Linux (с поддержкой JDK 17+), Windows (рекомендуется 10+ версия)
  • Оперативная память: 2 ГБ
  • Пространство жесткого диска: от 3 ГБ
  • Поддерживаемые СУБД: PostgreSQL (рекомендуется), MySQL/MariaDB, Microsoft SQL Server, Oracle

Также установка возможна с помощью Docker-контейнера.

Установку удобнее производить на вашем сервере LDAP/AD.

В данной статье рассмотрим нативную установку Keycloak на физическую машину. Для этого предварительно вам понадобится скачать и установить Java Development Kit (JDK).

Windows:

  • После установки JDK запустите Powershell и объявите переменную JAVA_HOME с помощью команды (вместо "path_to_JDK" введите полный путь установки JDK):
  • [Environment]::SetEnvironmentVariable
    ("JAVA_HOME", "path_to_JDK", "Machine")

  • Скачайте пакет Keycloak по ссылке.
  • Распакуйте архив в удобную вам папку.
  • Перезапустите Powershell и запустите сервер Keycloak с помощью команды:

Где path_to_keycloak – полный путь к файлу kc.bat.

Linux:

  • После установки JDK объявите переменную запустите Powershell и объявите переменную JAVA_HOME:
  • echo 'JAVA_HOME=""' | sudo tee /etc/default/keycloak-env
  • Скачайте пакет Keycloak по ссылке.
  • Распакуйте архив в удобную вам папку.
  • Запустите сервер Keycloak:

Где path_to_keycloak – полный путь к файлу kc.bat.

Мы запускаем dev-режим, в котором удобнее проводить первичную пробную настройку из-за отсутствия необходимости настройки HTTPS и доменного имени.

Подробнее про конфигурацию и первичную настройку Keycloak, а также как использовать режим production вы можете прочитать в официальной документации сервера.

Откройте в браузере страницу http://HOST:PORT, где:

  • HOST – адрес сервера (например, localhost);
  • PORT – порт Keycloak (по умолчанию 8080).

На открывшейся странице нажмите Administration Console, после чего укажите логин и пароль для администратора (в dev-режиме Keycloak – admin / admin).

Интеграция Keycloak со службой каталогов по протоколу LDAP

Для настройки LDAP в разделе Configure зайдите в раздел User federation, в меню Add new provider выберите пункт LDAP.

Настройка интеграции Keycloak с TrueConf Server 1

Вы увидите страницу настройки интеграции LDAP, укажите в соответствующие поля следующие обязательные для интеграции данные:

  • UI display name – название интеграции;
  • Vendor – выберите семейство LDAP каталога (Active Directory, Red Hat Directory Server, Tivoli, Novell eDirectory, Other);
  • Connection URL – ссылка на LDAP каталог;
  • Bind DN – уникальное имя учётной записи, от имени которой выполняется привязка к каталогу;
  • Bind credentials – пароль от учётной записи привязки;
  • Edit mode – возможность вносить изменения в каталог LDAP (рекомендуем для первой настройки использовать READ_ONLY)
  • Users DN – Уникальное имя контейнера (или поддерева), в котором находятся записи пользователей.

Остальные настройки оставьте по умолчанию (или введите свои если вы модифицировали свой каталог LDAP)

После указания параметров проверьте связь c каталогом и возможность аутентификации по кнопкам Test connection и Test authentication, затем сохраните их по кнопке Save.

Создание клиента в Keycloak

Создание Realm

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

Для создания корректной интеграции с TrueConf Server, вам необходимо создать realm trueconf в Keycloak:

  • Нажмите на название выбранного realm (по умолчанию master).
  • Настройка интеграции Keycloak с TrueConf Server 2

  • Выберите пункт Create realm.
  • Настройка интеграции Keycloak с TrueConf Server 3

  • На странице создания в поле Realm name введите trueconf.
  • Настройка интеграции Keycloak с TrueConf Server 4

  • В контекстном меню выбора realm нажмите trueconf.
  • Настройка интеграции Keycloak с TrueConf Server 5

Создание интеграции TrueConf Server

В панели управления вашим TrueConf Server перейдите в раздел ПользователиАутентификация, в группе Способы аутентификации нажмите кнопку Добавить.

В открывшемся окне выберите Keycloak, после чего введите название клиента trueconf:

Настройка интеграции Keycloak с TrueConf Server 6

После нажмите Сохранить.

Создание клиента (подключения к серверу Keycloak)

В разделе ManageClients и создайте новое приложение на кнопку Create client.

Настройка интеграции Keycloak с TrueConf Server 7

В поле Client ID введите название trueconf и затем нажмите кнопку Next.

Настройка интеграции Keycloak с TrueConf Server 8

На втором шаге Capability config отключите параметр Client authentication (обязательно) и Direct access grants (опционально), остальные настройки оставьте по умолчанию.

Настройка интеграции Keycloak с TrueConf Server 9

В разделе Login settings в поле Valid redirect URIs введите ссылку из поля Redirect URI в параметрах интеграции Keycloak на TrueConf Server, и сохраните по кнопке Save.

Настройка маппинга

Маппинг атрибутов — это настройка, которая определяет, какие данные (атрибуты) пользователя из Keycloak (например, email, firstName, roles) должны передаваться в токен (ID или Access Token) или в HTTP-заголовки при аутентификации.

После перейдите в раздел Client scopes и выберите profile, после чего перейдите на вкладку Mappers, выберите Add mapper и нажмите From predefined mappers.

Настройка интеграции Keycloak с TrueConf Server 10

В открывшемся окне выберите upn и нажмите Add.

Настройка интеграции Keycloak с TrueConf Server 11

Вернитесь на вкладку User federation, затем MappersAdd mapper, задайте имя upn и выберите тип user-attribute-ldap-mapper из списка.

Настройка интеграции Keycloak с TrueConf Server 12

В поле User Model Attribute введите upn, в LDAP Attribute введите параметр который используется на вашем сервере (например uid, sAMAccountName, уточняйте в документации вашего LDAP вендора)

Настройка SSO в TrueConf Server

Для дальнейшей настройки SSO зайдите в ConfigureRealm settingsEndpointsOpenID Endpoint Configuration

Настройка интеграции Keycloak с TrueConf Server 13

В открывшемся JSON-файле найдите строки:

  • "authorization_endpoint"
  • "token_endpoint"
  • "end_session_endpoint"

Вставьте полученные ссылки в соответствующие поля в настройке интеграции:

  • "authorization_endpoint" — в URL формы авторизации
  • "token_endpoint" — в URL для получения токена доступа
  • "end_session_endpoint" — в URL для завершения сеанса

Настройка интеграции Keycloak с TrueConf Server 14

В заключение во вкладке АутентификацияЗоны настройте возможность входа с помощью Keycloak в нужном сегменте сети: в доверенной и/или в публичной.

Настройка интеграции Keycloak с TrueConf Server 15

Готово! Теперь пользователи вашего сервера могут использовать Keycloak для входа на TrueConf Server. Для дальнейшей настройки рекомендуем обратиться к официальной документации Keycloak.

Предыдущая статья Следующая статья

Попробуйте безопасную ВКС-платформу Труконф!

ВКС-решение TrueConf Server работает внутри вашей закрытой сети без подключения к интернету
и позволяет собирать до 1500 человек в одной конференции!

Труконф

Крупнейшее ВКС-сообщество в России

Живой диалог с разработчиками, помощь с настройкой ВКС-систем, полезные материалы, ранние доступы и бета-версии — всё в специальном чате @trueconf_talks.

Подписаться
Видео+Конференция

Актуальные новости из мира ВКС

Подписывайтесь на канал нашего информационного партнёра «Видео+Конференция», чтобы быть в курсе последних новостей в сфере видеоконференцсвязи и AV-оборудования.

Подписаться Перейти на сайт

Содержание