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

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

Обновлено: 22.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.

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

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

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