Настройка ONLYOFFICE SP и OneLogin IdP
Введение
Технология единого входа (англ. Single Sign-On или SSO) — технология, которая позволяет пользователям осуществлять вход в систему только один раз, а затем получать доступ ко множеству приложений/сервисов без повторной аутентификации.
Если на веб-портале существует несколько обширных независимых разделов (форум, чат, блоги и так далее), пройдя процедуру аутентификации в одном из сервисов, пользователь автоматически получает доступ ко всем остальным, что избавляет его от многократного ввода данных своей учетной записи.
SSO — это всегда совместная работа двух приложений: поставщика учетных записей и поставщика сервиса (англ. Identity Provider и Service Provider, далее по тексту сокращенно «IdP» и «SP»). ONLYOFFICE SSO реализует только SP. В качестве IdP может выступать множество различных провайдеров, но в этой статье мы рассмотрим реализацию OneLogin.
Если вы хотите использовать SSO при подключении десктопных редакторов ONLYOFFICE к ONLYOFFICE Workspace, отключите Приватные комнаты в Панели управления.
Подготовка ONLYOFFICE Workspace для настройки SSO
- Установите ONLYOFFICE Workspace v. 11.0.0 для Docker или любую более позднюю версию с поддержкой SSO.
- Привяжите доменное имя, например,
myportal-address.com. - На портале перейдите в Панель управления > HTTPS, создайте и примените сертификат letsencrypt для шифрования трафика (для включения HTTPS на портале).
Создание IdP в OneLogin
-
Зарегистрируйтесь в OneLogin, если еще не зарегистрировались.
-
Войдите в OneLogin под учетной записью администратора.
-
Перейдите в раздел Administration.
-
Щелкните по меню Applications. Нажмите кнопку Add App.

-
В строке для поиска Find Application введите следующий текст: SAML Custom Connector (Advanced):

-
Выберите найденный вариант.
-
В новом открывшемся окне напишите любое имя в поле Display Name, например, IDP OneLogin Onlyoffice v11 Test — чтобы отличать это приложение от других. При желании замените иконки на собственные и нажмите кнопку Save.

-
Перейдите в подменю Configuration и заполните поля в соответствии с приведенной ниже таблицей:
примечаниеВместо
myportal-address.comукажите собственное доменное имя или публичный IP-адрес, на котором располагается ONLYOFFICE SP.
Application Details RelayState https://myportal-address.com Audience (EntityID) https://myportal-address.com/sso/ Recipient https://myportal-address.com/sso/acs ACS (Consumer) URL Validator* ^https:\/\/myportal-address\.com\/sso\/acs\/$ACS (Consumer) URL* https://myportal-address.com/sso/acs Single Logout URL https://myportal-address.com/sso/slo/callback SAML initiator Service Provider SAML nameID format Email SAML issuer type Specific SAML signature element Assertion Encrypt assertion ✔ (отметьте галочкой эту опцию) SAML encryption method AES-128-CBC Sign SLO Request ✔ (отметьте галочкой эту опцию) Sign SLO Response ✔ (отметьте галочкой эту опцию) 
-
Нажмите кнопку Save и перейдите в подменю Parameters.

-
Используйте кнопку +, чтобы создать 5 параметров (
givenName,sn,mail,title,mobile). Для каждого из них отметьте опцию Include in SAML assertion и укажите значение из списка Value, подходящее для выдачи из каталога полей LDAP-каталога:
-
Когда все нужные поля для атрибутов в утверждениях SAML будут заполнены в IdP, получится примерно такой же результат, как на следующем изображении. Нажмите кнопку Save.

-
Перейдите в подменю SSO. В списке сертификатов нужно выбрать действующий, нажав на ссылку Change, если у вас несколько сертификатов. В поле SAML Signature Algorithm оставьте опцию SHA-1 и нажмите кнопку Save:

-
Скопируйте ссылку из поля Issuer URL (например,
https://app.onelogin.com/saml/metadata/4d87973f-629d-4a52-812e-bde45eff92b8) и перейдите на портал ONLYOFFICE под учетной записью администратора. Откройте страницу Панель управления > SSO.
Настройка ONLYOFFICE SP
-
Убедитесь, что вы зашли в качестве администратора в Панель управления ONLYOFFICE, и щелкните вкладку SSO в разделе НАСТРОЙКИ ПОРТАЛА на левой боковой панели.
примечаниеВы можете зарегистрировать только одного корпоративного поставщика учетных записей для вашей организации на портале ONLYOFFICE.

-
Включите SSO, используя переключатель Включить аутентификацию с помощью технологии единого входа. Ссылку, скопированную из поля Issuer URL в OneLogin, вставьте в поле URL-адрес XML-файла метаданных IdP.
Нажмите кнопку со стрелкой вверх, чтобы загрузить метаданные IdP. Форма Настройки поставщика сервиса ONLYOFFICE будет автоматически заполнена данными из OneLogin IdP.
-
В поле Пользовательская надпись для кнопки входа вы можете ввести любой текст вместо стандартного (Single Sign-on). Этот текст будет отображаться на кнопке для входа с помощью сервиса Single Sign-on на странице аутентификации ONLYOFFICE.
-
Теперь необходимо создать сертификат в разделе Сертификаты поставщика сервиса. Для этого нажмите на кнопку Добавить сертификат в соответствующем разделе.

-
В открывшемся модальном окне нажмите на ссылку Сгенерировать новый самоподписанный сертификат, в списке Использовать для выберите signing and encrypt. Перед тем как сохранить сертификат, скопируйте текст Открытого сертификата в буфер обмена (он понадобится для OneLogin), после чего нажмите кнопку OK.

-
Должно получиться примерно так:

-
Форму Сопоставление атрибутов настраивать не нужно, так как мы указали эти же параметры при создании OneLogin IdP. Используются следующие значения:
Поле Атрибут Имя givenName Фамилия sn Электронная почта mail Местоположение l Должность title Телефон mobile В разделе Дополнительные параметры можно включить настройку Скрыть страницу аутентификации, чтобы скрыть страницу аутентификации по умолчанию и автоматически перенаправлять на сервис SSO.
ВажноЕсли вам необходимо восстановить страницу аутентификации по умолчанию (чтобы иметь доступ к порталу, если ваш сервер IdP выйдет из строя), можно добавить ключ
/Auth.aspx?skipssoredirect=trueпосле доменного имени портала в адресной строке браузера. -
Нажмите кнопку Сохранить. Должен открыться раздел Метаданные поставщика сервиса ONLYOFFICE. Проверьте, что настройки доступны публично, нажав кнопку Скачать XML-файл метаданных поставщика сервиса. Должно отобразиться содержимое XML-файла.
-
Вернитесь в OneLogin, откройте ваше приложение и перейдите на вкладку Configuration. Прокрутите страницу вниз — должно появиться поле SAML Encryption. Вставьте в это поле скопированный текст Открытого сертификата из шага 5 этой инструкции и нажмите кнопку Save:

Создание пользователей в OneLogin и предоставление им доступа к ONLYOFFICE
Чтобы создать пользователей в OneLogin и предоставить им доступ к ONLYOFFICE SP, выполните следующие действия:
-
перейдите на страницу All Users в OneLogin, войдя под учетной записью администратора,

-
создайте нового пользователя или отредактируйте существующего,
-
перейдите в подменю Applications и нажмите кнопку +,
-
выберите в списке только что созданное приложение и нажмите CONTINUE,

-
в открывшемся новом окне добавьте недостающие данные и нажмите кнопку SAVE,

-
теперь пользователь может работать в ONLYOFFICE SP.
Проверка работы ONLYOFFICE SP и OneLogin IdP
Вход в ONLYOFFICE на стороне SP
-
Перейдите на страницу аутентификации ONLYOFFICE (например,
https://myportal-address.com/Auth.aspx). -
Нажмите на кнопку Single sign-on (название кнопки может отличаться, если вы указали свой вариант при настройке ONLYOFFICE SP). Если этой кнопки нет, значит, SSO не включен.

-
Если все параметры SP и IdP настроены верно, вы будете перенаправлены на форму входа в OneLogin IdP:

-
Введите логин и пароль пользователя, которому предоставлен доступ к ONLYOFFICE SP, и нажмите кнопку LOG IN.
-
Если учетные данные указаны правильно, вы будете перенаправлены на главную страницу портала. Учетная запись пользователя будет создана автоматически, если ее еще нет, или обновлена, если данные были изменены в IdP.

Выход из ONLYOFFICE SP
-
SSO-пользователь может выйти из портала ONLYOFFICE с помощью пункта меню Выйти. Пользователь также должен автоматически выйти из OneLogin IdP, если он вышел из всех остальных приложений OneLogin, к которым ему предоставлен доступ.

-
Если выход выполнен успешно, вы будете перенаправлены на страницу аутентификации портала.

-
Если вы снова нажмете кнопку Single Sign-on, вы будете перенаправлены на страницу входа OneLogin, что подтверждает успешный выход из портала:

Профили пользователей, добавленных с помощью SSO-аутентификации
Возможность редактирования профилей пользователей, созданных с помощью SSO-аутентификации, ограничена. Поля профиля пользователя, полученные из IdP, заблокированы для редактирования (а именно: Имя, Фамилия, Email, Должность и Местоположение). Эти поля можно отредактировать только из вашей учетной записи в IdP.
На следующем изображении показано меню «Действия» для пользователя SSO:

На следующем изображении показан профиль пользователя SSO, открытый на редактирование:

Пользователи, созданные с помощью SSO-аутентификации, отмечены в списке пользователей значком SSO для администраторов портала:
