Конфигурация SSO с Blitz Identity Provider
Перед настройкой SSO убедитесь, что в config.env параметр APP_URL соответствует текущему домену Пассворка, пример — APP_URL=https://passwork.example.com
Это нужно, чтобы IDP смог скачать metadata. Также сервер Пассворка должен работать по HTTPS протоколу.
Для примера используются следующие имена серверов:
- Провайдер (IDP) — blitz.passwork.local
- Сервер Пассворка (SP) — passwork.example.com
В Blitz Console перейти на вкладку Приложения и Добавить приложение:

В Пассворке открыть Настройки и пользователи → Настройки SSO и скопировать Идентификатор (Entity ID):
Заполнить параметры приложения в Blitz:
- Идентификатор (entityID или client_id) — https://passwork.example.com/api/v1/sso/metadata
- Название — Пассворк
- Домен — passwork.example.com
Открыть созданное приложение (Пассворк) и перейти в раздел Протоколы → SAML → Сконфигурировать:

В Метаданные → Изменить → Сгенерировать метаданные. В Пассворке скопировать:
- URL ответа (URL службы обработчика утверждений) — https://passwork.example.com/api/v1/sso/acs
- URL выхода — https://passwork.example.com/api/v1/sso/sls
На сервере, где установлен Blitz Identity Provider, автоматически генерируются публичный и приватный SSL-сертификаты для использования, которые размещены в — /etc/blitz-config/saml/credentials/:
Получить и скопировать содержимое idp.crt SSL сертификата:
Заполнить параметры для формирования метаданных:
- URL сервиса обработчика утверждений (AssertionConsumerService) — https://passwork.example.com/api/v1/sso/acs
- URL сервиса единого логаута (SingleLogoutService) — https://passwork.example.com/api/v1/sso/sls
- В Сертификат подписи и Сертификат шифрования поместить скопированный idp.crt SSL сертификат.

Сгенерировать метаданные для Пассворка:

В разделе SAML профиль — Сконфигурировать и выставить в never следующие параметры:
- Шифровать утверждения;
- Шифровать идентификаторы (NameIds).
Активировать — Включить передачу SAML-утверждений о пользователе в специальном блоке Attribute Statement:

Сохранить указанные значения и в левой панели перейти на вкладку — SAML.
В зависимости от нужного вида логина пользователя в Пассворке, вы можете настроить правила обработки так, чтобы формат пользователя мог быть следующим:
- username
Пожалуйста, выберите необходимый формат логина пользователя в Пассворке и выполните настройку.
Добавить новый SAML-атрибут и в Свойствах SAML-атрибута заполнить:
- Название — emailAddress;
- Источник — email.
Добавить кодировщик и выполнить следующие действия:
- Тип — SAML2String;
- Название — emailAddress;
- Короткое имя — emailAddress;
- Формат имени — urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.
Сохранить внесённые изменения для emailAddress атрибута:

Добавить новый SAML-атрибут и в Свойствах SAML-атрибута заполнить:
- Название — displayName;
- Источник — given_name.
Добавить кодировщик и выполнить следующие действия:
- Тип — SAML2String;
- Название — displayName;
- Короткое имя — displayName;
- Формат имени — urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified.
Сохранить внесённые изменения для displayName атрибута:

Открыть Приложения → Пассворк (созданное приложение) → в разделе Атрибуты пользователя → Добавить:
- NameID;
- emailAddress;
- displayName.
Сохранить изменения:

Авторизоваться в веб-интерфейсе Пассворка, перейти в — Настройки и пользователи → Настройки SSO и заполнить атрибуты сопоставления:
- Атрибут электронной почты — emailAddress;
- Атрибут полного имени — displayName.
Открыть конфигурацию поставщика услуг (IDP) — SAML → URL с метаданными Blitz Identity Provider:

Скопировать следующие значения параметров:
Открыть — Настройки и пользователи → Настройки SSO и заполнить значения:
- Идентификатор (Entity ID) — https://blitz.passwork.local/blitz/saml
- Url-адрес входа — https://blitz.passwork.local/blitz/saml/profile/SAML2/Redirect/SSO
- Url-адрес выхода — https://blitz.passwork.local/blitz/saml/profile/SAML2/Redirect/SLO
Повторно скопировать содержимое idp.crt SSL сертификата:
Скопированный SSL сертификат поместить в соответствующее поле — Настройки и пользователи → Настройки SSO.
Открыть окно авторизации в веб-интерфейсе Пассворка и выполнить вход через SSO для проверки корректной настройки:
