Подключение приложения по SAML#
Данные для подключения#
Для подключения приложения к Blitz Identity Provider потребуются данные, полученные в ходе его регистрации в продукте:
- идентификатор, присвоенный приложению в Blitz Identity Provider ( - entityID);
- файл метаданных поставщика услуг. 
Приложение взаимодействует с сервисами Blitz Identity Provider, используя следующие адреса:
- метаданные Blitz Identity Provider: - https://login-test.company.com/blitz/saml/profile/Metadata/SAML(тестовая среда)
- https://login.company.com/blitz/saml/profile/Metadata/SAML(продуктивная среда)
 
- URL для аутентификации: - https://login-test.company.com/blitz/saml/profile/SAML2/Redirect/SSO(тестовая среда)
- https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO(продуктивная среда)
 
- URL для логаута: - https://login-test.company.com/blitz/saml/profile/SAML2/Redirect/SLO(тестовая среда)
- https://login.company.com/blitz/saml/profile/SAML2/Redirect/SLO(продуктивная среда)
 
- URL издателя: - https://login-test.company.com/blitz/saml/(тестовая среда)
- https://login.company.com/blitz/saml/(продуктивная среда)
 
Если приложение поддерживает протокол подключения SAML, то указанных данных должно быть достаточно для конфигурирования приложения. Если приложение не поддерживает протокол SAML, следует произвести его доработку согласно рекомендациям, изложенным в разделах Готовые библиотеки и Принцип интеграции.
Типичные вопросы о том, как настроить приложение для подключения к Blitz Identity Provider по протоколу SAML:
Где найти метаданные поставщика идентификации?
Чтобы загрузить метаданные, пройдите по ссылке https://login.company.com/blitz/saml/profile/Metadata/SAML и скопируйте открытый XML документ в приложение.
Где найти сертификат SAML поставщика идентификации?
Откройте XML документ с метаданными поставщика идентификации.
Найдите раздел <ds:X509Certificate></ds:X509Certificate> – в нем и располагается сертификат SAML поставщика идентификации.
Пример:

Иногда для корректной загрузки в приложение перед строкой с сертификатом нужно вставить строку -----BEGIN CERTIFICATE-----, а
после – -----END CERTIFICATE-----
Где найти адреса SAML-обработчиков поставщика идентификации?
Запросы на идентификацию/аутентификацию приложение должно отправлять на следующие обработчики (SingleSignOnService) в ПРОД‑среде:
- https://login.company.com/blitz/saml/profile/SAML2/Redirect/SSO– для приема сжатых с помощью алгоритма Deflate запросов – стандартный SAML-обработчик.
- https://login.compan y.com/blitz/saml/profile/SAML2/Redirect/Plain/SSO– для приема несжатых запросов – следует использовать только в случае, если подключаемое приложение не использует- deflate.
Запросы на единый логаут приложение должно отправлять на следующие обработчики (SingleLogoutService) в ПРОД‑среде:
- https://login.company.com/blitz/saml/profile/SAML2/Redirect/SLO– для приема сжатых с помощью алгоритма Deflate запросов – стандартный SAML-обработчик.
- https://login.compan y.com/blitz/saml/profile/SAML2/Redirect/Plain/SLO– для приема несжатых запросов – следует использовать только в случае, если подключаемое приложение не использует- deflate.
В ТЕСТ-среде аналогичные адреса начинаются с https://login-test.company.com.
Какой entity ID у поставщика идентификации?
Blitz Identity Provider как поставщик идентификации имеет следующие entityID:
- Для ПРОД-среды – - https://login.company.com/blitz/saml
- Для ТЕСТ-среды – - https://login-test.company.com/blitz/saml
Готовые библиотеки#
Так как самостоятельная разработка программного интерфейса клиента SAML является трудоемкой задачей, а ошибки в реализации чреваты угрозами безопасности, при интеграции приложения по SAML рекомендуется использовать существующие популярные библиотеки SAML-клиентов:
- OIOSAML (Java, .NET), 
- OpenSAML (Java), 
- Spring Security SAML (Java), 
- SimpleSAMLphp (PHP), 
- ruby-saml (Ruby on Rails). 
Далее приводятся ключевые сведения, необходимые для понимания процесса аутентификации по протоколу SAML.
Принцип интеграции#
Для подключения к Blitz Identity Provider в целях идентификации и аутентификации пользователей приложение может использовать стандарт SAML версий 1.0, 1.1, 2.0.
При этом процесс взаимодействия приложения и Blitz Identity Provider должен быть построен в соответствии с профилем SAML Web Browser SSO Profile.
Стандарт SAML основан на XML и определяет способы обмена информацией об аутентификации пользователей и их идентификационных данных (атрибуты, полномочия).
Для возможности осуществлять взаимодействия поставщик услуг и поставщик идентификации предварительно должны обменяться настройками взаимодействия, описанными в форме XML-документов и называемых метаданными. Поставщик услуг должен получить настройки Blitz Identity Provider, называемые метаданными поставщика идентификации.
Идентификация и аутентификация#
См. описание принципа взаимодействия веб-приложения с Blitz Identity Provider по SAML.
Логаут#
Подключенное к Blitz Identity Provider по SAML приложение также может предусматривать возможность реализации единого выхода (логаута).
Для этих целей Blitz Identity Provider поддерживает SAML Single Logout Profile.
Приложение может направить в Blitz Identity Provider SAML-запрос <LogoutRequest> и в случае успешного завершения единого логаута получить от Blitz Identity Provider SAML-ответ <LogoutResponse>.
Если приложение должно быть задействовано в едином логауте, инициированным другим приложением, подключенным к Blitz Identity Provider, то оно также
должно предусматривать возможность обработки запросов <LogoutRequest>, поступивших к приложению от Blitz Identity Provider.
В случае успешного завершения локальной сессии приложение должно уведомлять Blitz Identity Provider путем отправки ему SAML-ответа <LogoutResponse>.
