Продукты Р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.

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

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

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