Authentik IdP
Введение
Единый вход (Single Sign-on, SSO) — это технология, позволяющая пользователям входить в систему только один раз и затем получать доступ к нескольким приложениям и сервисам без повторной аутентификации.
Если веб-портал состоит из нескольких крупных независимых разделов (форум, чат, блоги и т. д.), пользователь может пройти аутентификацию в одном из сервисов и автоматически получить доступ ко всем остальным, не вводя учетные данные несколько раз.
Единый вход всегда обеспечивается совместной работой двух приложений: поставщика учетных записей и поставщика сервиса (их также называют «IdP» и «SP»). ONLYOFFICE SSO реализует только SP. В роли IdP могут выступать самые разные поставщики, но в этой статье рассматривается Authentik.
Создание IdP в Authentik
-
Войдите в панель администратора Authentik (
https://authentik.yourdomain.com/if/admin/). -
Перейдите в раздел Customization -> Property Mappings.
-
Нажмите Create -> SAML Provider Property Mapping.
-
Таким образом создайте 3 Property Mappings со следующими параметрами:
Name SAML Attribute Name Expression SAML givenName Mapping givenName return user.attributes["first_name"]SAML sn Mapping sn return user.attributes["last_name"]SAML mail Mapping mail return user.emailЭто сопоставление свойств необходимо настроить, если у пользователей в Authentik заданы атрибуты. Если атрибуты другие, замените их на нужные; если атрибутов нет, настройка не требуется.

-
Перейдите в раздел Providers -> Create.
-
Выберите тип SAML.

-
Заполните следующие поля:
Name Apps SAML Authorization flow default-provider-authorization-implicit-consent (Authorize Application)ACS URL https://docspace.example.com/sso/acsIssuer https://docspace.example.com/sso/metadataService Provider Binding POSTSign assertions trueSign responses trueSigning Certificate Для первого раза можно указать authentik Self-signed Certificateили заменить его собственным сертификатомProperty mappings Если вы настроили атрибуты на шаге 4, добавьте их из левого столбца в правый, выбрав их и нажав стрелку вправо 

-
Нажмите Finish.
-
Перейдите в раздел Applications -> Create.
-
Заполните следующие поля:
Name Apps SAML Slug docspaceProvider Выберите Docspace SAMLPolicy engine mode any -
Нажмите Create.

-
Перейдите к созданному SAML Provider.
-
Найдите ссылку Metadata URL (обычно это
https://authentik.example.com/application/saml/docspace/metadata.xml) -
Скопируйте эту ссылку или скачайте XML-файл.
Настройка ONLYOFFICE SP
Убедитесь, что вы вошли в рабочее пространство ONLYOFFICE Apps как администратор, перейдите в меню Настройки, выберите раздел Интеграция и откройте вкладку Единый вход.

-
Включите SSO с помощью переключателя Включить аутентификацию с помощью технологии единого входа (SSO) и вставьте скопированную ссылку в поле URL-адрес XML-файла метаданных.
-
Нажмите кнопку со стрелкой вверх, чтобы загрузить метаданные IdP. Форма Настройки поставщика сервиса ONLYOFFICE будет автоматически заполнена данными из Authentik IdP.
-
Если у пользователей не настроены атрибуты и шаг 4 раздела «Создание IdP в Authentik» не выполнялся, в разделе Сопоставление атрибутов необходимо указать следующие параметры:
Имя http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameФамилия http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameАдрес электронной почты http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress -
Создайте сертификат в разделе Сертификаты поставщика сервиса. Для этого нажмите кнопку Добавить сертификат в соответствующем разделе.
-
В открывшемся модальном окне нажмите ссылку Сгенерировать новый самоподписанный сертификат и выберите вариант Подпись и шифрование в списке Использовать для. Перед сохранением сертификата скопируйте текст Открытый сертификат в буфер обмена и сохраните его в файл (он понадобится для Authentik), затем нажмите кнопку ОК.

-
Нажмите кнопку Сохранить.
-
Должен открыться раздел Метаданные поставщика сервиса ONLYOFFICE с кнопкой Загрузить XML-файл метаданных поставщика сервиса.

-
Вернитесь в Authentik, чтобы добавить скопированный сертификат. Перейдите в раздел System -> Certificates -> Create.
-
Введите произвольное имя и вставьте скопированный сертификат.

-
Укажите этот сертификат в настройках провайдера.

Если требуется шифрование, то на шаге 8 необходимо создать сертификат с закрытым ключом и указать этот сертификат в поле Encryption Certificate.
Проверка работы ONLYOFFICE SP с Authentik IdP
-
Перейдите на страницу аутентификации ONLYOFFICE Apps (например,
https://myportal-address.com/login).
-
Нажмите кнопку Единый вход. Если кнопки нет, значит SSO не включен.
-
Если все параметры SP и IdP заданы правильно, вы будете перенаправлены на форму входа Authentik IdP.
-
Введите логин и пароль пользователя Authentik и нажмите кнопку Sign In.
-
Если учетные данные верны, вы будете перенаправлены на главную страницу рабочего пространства (пользователь будет создан автоматически, если его нет, или данные будут обновлены, если они изменились в IdP).