Перейти к основному контенту

ADFS как клиент для Blitz

Настройка интеграции

Основная настройка интеграции заключается в обмене xml с параметрами между ADFS и BlitzIdp. 
xml Blitz: https://idp.contoso.com/blitz/saml/profile/Metadata/SAML 
xml ADFS: https://adfs.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml 

Настройка ADFS

В оснастке управления ADFS добавьте внешний провайдер, данные для настройки импортируйте из xml с настройками Blitz. Название на следующем шаге - любое.image.png

После создания провайдера в его настройках измените алгоритм хэширования на SHA-1image.png

Настройка Blitz

Создайте новое приложение в Консоли администратора с идентификатором http://adfs.contoso.com/adfs/services/trust (проверить идентификатор можно в xml из ADFS, значение параметра "entityID") и значением домена adfs.contoso.com. После создания приложения сконфигурируйте в нём протокол SAML:
Метаданные: в метаданные загрузите информацию из xml c метаданными ADFS - FederationMetadata.xml.
SAML профиль: выберите SAML 2.0 Web SSO Profile, Подписывать утверждения - always, Шифровать утверждения - never, Шифровать идентификаторы (NameIds) - never, активируйте настройку "Включить передачу SAML-утверждений о пользователе в специальном блоке Attribute Statement". 
Атрибуты пользователя: выберите, какие из настроенных атрибутов будут переданы в ADFS. О их настройке ниже.

Настройка передачи атрибутов Blitz -> ADFS -> Клиент

Есть две схемы передачи атрибутов из Blitz в Клиентскую систему через ADFS. Их можно использовать как совместно так и по отдельности:
-ADFS работает просто как "передатчик" - присланный из Blitz атрибут передает в клиентское приложение с таким же или измененным названием.
-Blitz передает определенный атрибут (с именем http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname и значением ДОМЕН\пользователь), по которому ADFS может найти пользователя в AD и отправить в клиентское приложение атрибуты из AD этого пользователя. Этот вариант менее затратный, т.к. не потребует настройки передачи всех атрибутов в Blitz, настройки их приёма в ADFS и изменения настроек всех клиентских приложений ADFS на новые атрибуты.

Ниже рассмотрим как настроить оба способа.

В Blitz

  1.  В консоли администратора перейти во вкладку SAML, в блоке "Атрибуты" нажмите "+ Добавить новый SAML-атрибут", названиеНазвание - любое, источникИсточник - название атрибута пользователя, значение из которого будет отправлено Кодировщик.

    Screenshot 2026-05-04 103354.png


  2. В SAML помимо значения атрибута передается еще и его тип. Для вновь созданного SAML_атрибут нужно настроить как минимум один кодировщик, иначе атрибут передан не будет. Для ADFS нужно выбирать кодировщик SAML2. Для SAML2 есть два кодировщика: String и StringNameID.
    ВНИМАНИЕ. По спецификации SAML в этомответе создаваемомдолжен быть один атрибут NameID (не ноль и не два и более), иначе ответ будет считаться ошибочным и принят клиентом не будет. 
    Настройте хотя бы один кодировщик для типа NameID, значение передаваемого в нем атрибута будет смапплено с внутренним атрибутом ADFS под названием Name (http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name)

    image.png
    Тип кодировщика выбрали ранее, Название нужно выбрать из приложения 1 - по нему ADFS определяет к какому внутреннему атрибуту ADFS относится входящий атрибут из SAML-атрибуте.Response. Формат имени обычно persistent, проверить можно в метаданных ADFS FederationMetadata.xml по пути /EntityDescriptor/SPSSODescriptor/ - тут перечислены допустимые NameID.

     

     

    image.png



  3. hjh

NameID маппится с http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

Приложение 1. Атрибуты и названия claim внешнего провайдера для их автоматического маппинга в ADFS

Имя в ADFS Описание  Название атрибута для передачи
E-Mail Address The e-mail address of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
Given Name The given name of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname
Name The unique name of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
UPN The user principal name (UPN) of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn
Common Name The common name of the user http://schemas.xmlsoap.org/claims/CommonName
AD FS 1.x E-Mail Address The e-mail address of the user when interoperating with AD FS 1.1 or AD FS 1.0 http://schemas.xmlsoap.org/claims/EmailAddress
Group A group that the user is a member of http://schemas.xmlsoap.org/claims/Group
AD FS 1.x UPN The UPN of the user when interoperating with AD FS 1.1 or AD FS 1.0 http://schemas.xmlsoap.org/claims/UPN
Role A role that the user has http://schemas.microsoft.com/ws/2008/06/identity/claims/role
Surname The surname of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname
PPID The private identifier of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/privatepersonalidentifier
Name Identifier The SAML name identifier of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier
Authentication Method The method used to authenticate the user http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod
Deny Only Group SID The deny-only group SID of the user http://schemas.xmlsoap.org/ws/2005/05/identity/claims/denyonlysid
Deny only primary SID The deny-only primary SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarysid
Deny only primary group SID The deny-only primary group SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/denyonlyprimarygroupsid
Group SID The group SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid
Primary group SID The primary group SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/primarygroupsid
Primary SID The primary SID of the user http://schemas.microsoft.com/ws/2008/06/identity/claims/primarysid
Windows account name The domain account name of the user in the form of <domain>\<user> http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname