У меня есть AD FS, требует настроенного поставщика и Шибболет SP, успешно проходящий проверку подлинности против него.
Я пытаюсь отправить атрибуты Active Directory в SP.
Я следовал этой статье, чтобы попытаться отправить требования: https://technet.microsoft.com/en-us/library/gg317734 (v=ws.10) .aspx
Соответствующий раздел Step 2: Configure AD FS 2.0 as the Identity Provider and Shibboleth as the Relying Party
--> Configure AD FS 2.0
--> Edit Claim Rules for Relying Party Trust
--> To configure eduPerson claims for sending to a relying party trust
:
На Шаге 16 это указывает, что я должен вставить или ввести следующее (и имеет его в 2 блоках кода):
c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value == "Domain Users"]
и
=> issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.9", Value = "member@contoso.com", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
Я полагаю, что это было предназначено, чтобы быть отдельным оператором (исправьте меня, если я неправ), таким образом, моя запись следующие:
Я тестирую с givenName, таким образом, я добавил следующее:
На Шибболете машина SP я отредактировал attribute-map.xml
путем добавления следующего и затем я перезапустил сервис Шибболета:
<Attribute name="urn:mace:dir:attribute-def:GivenName" id="GivenName"/>
Когда я просмотрел к веб-сайту и повторно прошел проверку подлинности с AD FS, я не вижу, что givenName показывает. У меня есть индексный файл что выводы все заголовки и их значения.
Править: Решение моей проблемы
Я заставил UPN отправлять как epPN. Вышеупомянутые правила (правила в статье) работали, но я должен был отредактировать attribute-policy.xml
на Шибболете SP для отключения правил обзора данных, так как мне не настраивали ту часть правильно.
Я прокомментировал следующие строки в attribute-policy.xml
afp:AttributeRule attributeID="eppn">
<afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>
Да, правило утверждений (отображается в двух строках) - это одно «утверждение». Он заканчивается на ';'. Т.е. вы добавляете обе строки в одно и то же настраиваемое правило.
Для каждого выданного (отправляемого) утверждения (атрибута) с идентификатором объекта uri необходимо добавить настраиваемое правило (под правилом поиска AD). То есть, если вам нужен "urn: oasis: names: tc: SAML: 2.0: attrname-format: uri". Если вам нужен только oid uri, тогда достаточно определить clam в «Описаниях утверждений».
Обычно я использую небольшую вариацию программы. Я пишу правило поиска с помощью пользовательского интерфейса, но затем копирую правило (из «Просмотр языка правил») в настраиваемое правило. В скопированном настраиваемом правиле я меняю «выпуск» на «добавить». А потом удаляю исходное правило поиска. Это позволяет избежать отправки утверждений URL и URN в Shib.