Подключение приложения по 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 поставщика идентификации. Пример:

integr010

Иногда для корректной загрузки в приложение перед строкой с сертификатом нужно вставить строку -----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-клиентов:

Далее приводятся ключевые сведения, необходимые для понимания процесса аутентификации по протоколу 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>.