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

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

Обновлено: 24.09.26

Инструкция актуальна для версии продукта: 2026.1.12.16832

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

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

В веб-интерфейсе Keycloak ➜ «Realm settings» получаем ссылку для связи с «Корпоративный сервер 2024»:

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

Переходим в модуль «Р7-Управление» ➜ «Общие настройки» ➜ «Настройки SSO»:

Раздел «Настройки SSO» в модуле «Р7-Управление»
  • И редактируем поля «Настройки SSO»;
Уточнение

Metadata IdP (URL) — указываем ссылку на конфигурацию IdP-сервера (шаг 1.1);

Issuer (SP Entity ID) — редактируем ссылку на метаданные SP-сервера по схеме: https://{r7disk-domain}/saml2/Metadata;

Файл сертификата — добавляем .pfx-сертификат для подписи сообщений;

Пароль сертификата — указываем пароль на .pfx-сертификат (при загрузке нового сертификата пароль обязателен. Для существующего сертификата пароль необязателен — сохранится старый. Если указать новый пароль — он обновится).

  • Нажимаем кнопку «Сохранить».

1.2. Включаем 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
  },
  • Перезапускаем службы командой:
supervisorctl restart all

1.3 Меняем конфигурацию Nginx

  • Открываем файл /etc/nginx/sites-enabled/cddisk
nano /etc/nginx/sites-enabled/cddisk

Вносим изменения в блок saml2:

location /saml2 {
    client_body_buffer_size 64k;
    client_max_body_size 64k;
    proxy_buffers 8 16k;
    proxy_buffer_size 16k;
    proxy_pass http://localhost:38034/saml2;
}

Перезапускаем службу командой:

systemctl restart nginx

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

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

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

  • Переходим в «Clients» ➜ «Create client»:
Шаг «General settings» при создании клиента
  • Заполняем «Client ID» в формате: https://{r7disk-domain}/saml2/Metadata
  • «Client type» — «SAML».
Шаг «Login settings» при создании клиента
  • Сохраняем;
  • Переходим в настройки созданного клиента:
Раздел «Signature and Encryption» в настройках клиента
  • Во вкладке «Keys»:
Вкладка «Keys» в параметрах клиента
  • Во вкладке «Client scopes» переходим в настройки созданной области:
Вкладка «Client scopes» в параметрах клиента
Вкладка «Mappers» в настройках выделенной области клиента
  • Создаём новые мапперы:
Окно «Configure a new mapper» с выбором типа маппера
  • Выбираем «User Attribute» и заполняем:
Настройка маппера samaccountname
  • Аналогично создаем новый маппер для «mail»:
Настройка маппера mail
  • И для других атрибутов:
Настройка маппера uid
Настройка маппера sn
Настройка маппера mobile
Настройка маппера givenName
Настройка маппера title
Настройка маппера l
  • После сохранения возвращаемся в «Client details» во вкладку «Advanced»;
  • Заполняем по примеру:
Раздел «Fine Grain SAML Endpoint Configuration»
Разделы «Advanced settings» и «Authentication flow overrides»
  • Сохраняем каждый блок.

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

  • Вход в Р7-Диск на стороне SP:
    • Перейдите на страницу аутентификации Р7-Диск (например, https://cddisk.r7office24.local);
    • Нажмите на кнопку «Войти через ССО». Если этой кнопки нет, то SSO не включён.
Форма входа с кнопкой «Войти через ССО»
  • Если всё настроено верно в SP и IdP, мы будем перенаправлены на форму логина в Keycloak IdP:
    • Введите логин и пароль учётной записи в Keycloak IdP и нажмите кнопку «Sign In».
Форма входа в Keycloak IdP
  • Если же авторизация в Keycloak в этом браузере уже была произведена, тогда откроется сам портал.
Уточнение

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

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

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

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