Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы документов
Редакторы документов
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
ВКС и мессенджер
ВКС и мессенджер
Мобильные редакторы
Мобильные редакторы
Почтовый сервер
Почтовый сервер
Органайзер
Органайзер
Сервер лицензирования
Сервер лицензирования
Файл-Экспресс
Файл-Экспресс
Аналитика
Аналитика
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Настройка SSO в связке Р7-Диск SP и Keycloak IdP + MS AD LDAP

Обновлено: 24.09.26

Инструкция актуальна для версий продукта: 2025.1.18.15276 – 2025.2.10.15714

Важно

Данная инструкция предназначена для работы связки SSO Keycloak IdP и Корпоративный сервер 2024 версий: 2025.1.18.15276 — 2025.2.10.15714

1. Настройка Корпоративный сервер 2024 (SP)

1.1. Синхронизация с Active Directory

Выполнить синхронизацию по инструкции ↗.

1.2. Настраиваем SSO аутентификацию

В web интерфейсе Keycloak -> Realm settings получаем ссылку для связи с КС24:

Раздел Realm settings в веб-интерфейсе Keycloak
  • Проверяем, что ссылка на файл метаданных Keycloak доступна публично:
    https://{keycloak-domain}/realms/master/protocol/saml/descriptor

1.3. Включаем SSO аутентификацию

  • Открываем файл /opt/r7-office/Api/appsettings.json
nano /opt/r7-office/Api/appsettings.json
# Меняем значение «esiaType»:
# Если параметр «esiaType» отсутствует, то вы можете добавить его самостоятельно:
  "esiaType": "saml2",
  "rabbitMq": {
    "host": "localhost",
    "username": "guest",
    "password": "guest",
    "timeout": 10
  },
  • Для работы службы синхронизации разместите сертификат в формате .pfx в директории /opt/r7-office/Sso.Api/
  • В качестве SP сервера выступает R7.Sso.Api.Host
  • Открываем файл /opt/r7-office/Sso.Api/appsettings.json
nano /opt/r7-office/Sso.Api/appsettings.json
  • В файле редактируем следующие строки конфигурации:
     "Saml2": {  
        "IdPMetadata": "https://{keycloak-domain}/realms/master/protocol/saml/descriptor",  
        "Issuer": "https://{r7disk-domain}/saml2/Metadata",  
        "SignatureAlgorithm": "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256",  
        "SigningCertificateFile": "путь_до_сертификата.pfx",  
        "SigningCertificatePassword": "пароль_от_сертификата.pfx",  
        "CertificateValidationMode": "None",  
        "RevocationMode": "NoCheck"
     },

    Где:

    • IdPMetadata — указываем ссылку на конфигурацию IdP сервера (шаг 1.2.);
    • Issuer — редактируем ссылку на метаданные SP сервера по следующей схеме: https://{r7disk-domain}/saml2/Metadata;
    • SigningCertificateFile — указываем имя .pfx сертификата для подписи сообщений;
    • SigningCertificatePassword — указываем пароль на .pfx сертификат (если на сертификате установлен пароль).
  • Перезапускаем службы командой:
supervisorctl restart all

2. Настройка Keycloak IdP

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

    Вкладка профиля пользователя в настройках Realm
  • Для минимальной настройки синхронизации достаточно двух атрибутов username и email.
Обратите внимание

Для корректной работы у атрибута email должна быть запись в Display name — ${mail}

2.1. Создаем клиента

  • Переходим в Clients -> Create client;

    Окно Create client
  • Заполняем Client ID в формате: https://{r7disk-domain}/saml2/Metadata;
  • Client type — SAML;

    Окно Create client
  • Сохраняем;
  • Переходим в настройки созданного клиента;

    Настройки созданного клиента
  • Во вкладке Keys;

    Вкладка Keys в настройках клиента
  • Во вкладке Client scopes переходим в настройки созданной области;
    Вкладка Client scopes в настройках клиента

    Вкладка Mappers
  • Создаем новые маперы;

    Окно Configure a new mapper для создания новых мапперов
  • Выбираем User Attribute и заполняем;

    Настройка маппера типа User Attribute
  • Аналогично создаем новый mapper для mail;

    Настройка маппера для атрибута mail
  • После сохранения возвращаемся в Client details во вкладку Advanced;
  • Заполняем по примеру;
    Окно Fine Grain SAML Endpoint Configuration

    Пример заполнения параметров во вкладке Advanced
  • Сохраняем каждый блок.

3. Синхронизация Keycloak IdP с Active Directory

  • Создаем нового провайдера LDAP;

    Создание нового провайдера LDAP
  • Пример настроек;
    Пример настроек провайдера LDAP

    Дополнительные настройки провайдера LDAP
  • Во вкладке mappers проверяем настройки username;
Важно

Значение в username должно браться из такого же атрибута LDAP что и Логин в КС24

  • Если в настройках синхронизации КС:

    Настройки синхронизации КС с указанием используемого атрибута
  • Тогда в настройках username в Keycloak:

    Настройки атрибута username в Keycloak
  • Сохраняем и синхронизируем пользователей в Keycloak.

    Синхронизация пользователей в Keycloak

4. Проверка работы Р7-Диск SP и Keycloak IdP

  • Вход в Р7-Диск на стороне SP:
    • Перейдите на страницу аутентификации Р7-Диск (например https://cddisk.r7office24.local ↗).
    • Нажмите на кнопку Войти через ССО. Если этой кнопки нет, то SSO не включен.

      Кнопка «Войти через ССО» на странице аутентификации Р7-Диск
  • Если всё настроено верно в SP и IdP, мы будем перенаправлены на форму логина в Keycloak IdP.
    • Введите логин и пароль учетной записи в Keycloak IdP и нажмите кнопку Sign In.

      Форма входа в Keycloak IdP
  • Если же авторизация в Keycloak в этом браузере уже была произведена, тогда откроется сам портал.
Важно

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

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое