1. Настройка Корпоративный сервер 2024 (SP)
1.1. Настраиваем SSO аутентификацию
В веб-интерфейсе Keycloak ➜ «Realm settings» получаем ссылку для связи с «Корпоративный сервер 2024»:

- Проверяем, что ссылка на файл метаданных Keycloak доступна публично:
https://{keycloak-domain}/realms/master/protocol/saml/descriptor
Переходим в модуль «Р7-Управление» ➜ «Общие настройки» ➜ «Настройки SSO»:

- И редактируем поля «Настройки 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:

2.1. Создаём клиента
- Переходим в «Clients» ➜ «Create client»:

- Заполняем «Client ID» в формате:
https://{r7disk-domain}/saml2/Metadata - «Client type» — «SAML».

- Сохраняем;
- Переходим в настройки созданного клиента:

- Во вкладке «Keys»:

- Во вкладке «Client scopes» переходим в настройки созданной области:


- Создаём новые мапперы:

- Выбираем «User Attribute» и заполняем:

- Аналогично создаем новый маппер для «mail»:

- И для других атрибутов:






- После сохранения возвращаемся в «Client details» во вкладку «Advanced»;
- Заполняем по примеру:


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

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

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













