Конфигурация SSO с Microsoft Entra ID (Azure AD)
Перед настройкой SSO убедитесь, что в config.env параметр APP_URL соответствует текущему домену Пассворка, пример — APP_URL=https://passwork.example.ru.
Для примера используется следующий сервер Пассворка — passwork.example.ru
Добавление отношения доверия проверящей стороны
Авторизоваться в Microsoft Entra ID и перейти в — Корпоративные приложения:

Открыть — Управление → Все приложения и создать Новое приложение:

В Обзор коллекции Microsoft Entra выбрать — Создать собственное приложение:

Выполнить следующие действия:
- Заполнить Отображаемое имя (пример: passwork-sp);
- Что вы хотите сделать... — Интеграция с любыми другими приложениями, которых нет в коллекции (вне коллекции).

После создания перейти в Управление → Единый вход и открыть SAML:

Открыть Базовая конфигурация SAML, нажать на Изменить.
Авторизоваться в веб-интерфейсе Пассворка и перейти в Настройки и пользователи → Настройки SSO, скопировать адреса конечных точек аутентификации из SP (Пассворка) в IDP (Microsoft Entra ID):
- Идентификатор (сущности) — https://passwork.example.ru/api/v1/sso/metadata
- URL-адрес ответа — https://passwork.example.ru/api/v1/sso/acs
- URL-адрес для выхода — https://passwork.example.ru/api/v1/sso/sls
Пример заполненных конечных точек аутентификации из SP:

Настройка правил обработки запросов от SP (Пассворка) в IDP (Microsoft Entra ID)
В зависимости от нужного вида логина пользователя в Пассворке, вы можете настроить правила обработки так, чтобы формат пользователя мог быть следующим:
- username
- username@passwork.local
Пожалуйста, выберите необходимый формат логина пользователя в Пассворке и выполните настройку.
В Настройке единого входа с помощью SAML открыть — Атрибуты и утверждения:

Настройка правил обработки для username@passwork.local формата
По умолчанию после создания приложения в Microsoft Entra ID формат пользователя после аутентификации в Пассворке формируется username@passwork.local.
Дополнительных изменений производить не нужно. Пример созданного утверждения по умолчанию:

Настройка правил обработки для username формата
Открыть Уникальный идентификатор пользователя (ID) и выполнить следующие изменения:
- Источник — Преобразование;
- Преобразование — ExtractMailPrefix();
- Параметр 1 — Атрибут;
- Имя атрибута — user.userprincipalname.
