Подключение приложения по 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>
.