Возвращение имени пользователя как в утверждении SAML в Shibboleth IDPV3.3

Я использую Shibboleth IDPv3.3 для интеграции с нашим SP, и мне удалось заставить SSO-аутентификацию работать с LDAP.

Однако я вижу NameID, который является сгенерированным, а не тот, который я ввел во время аутентификации

 <saml2:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
                          NameQualifier="https://shib.nslab.com/idp/shibboleth"
                          SPNameQualifier="https://chandracppm.nslab.com/networkservices/saml2/sp"
                          >7DBQ2seeNYvP9l6RsCrJZRh8/kw=</saml2:NameID>

Для нашего SP мы хотим, чтобы фактическое имя пользователя, которое пользователь ввел на странице входа, было возвращено как NameID.

Какую конфигурацию мне нужно сделать, чтобы добиться этого.

1 ответ

Мне удалось заставить Shibboleth IDP v3.3 вернуть имя пользователя, введенное как NameID в ответе SAML, выполнив следующее

В атрибуте resolver.conf

<AttributeDefinition id="uid" xsi:type="PrincipalName">
    <AttributeEncoder xsi:type="SAML1String" name="urn:mace:dir:attribute-def:uid" encodeType="false" />
    <AttributeEncoder xsi:type="SAML2String" name="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" friendlyName="uid" encodeType="false" />
</AttributeDefinition>

в метаданных SP, указывающих формат NameID

<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:persistent</NameIDFormat>

В saml-nameid.xml

Комментируя все остальные бобы, кроме

 <util:list id="shibboleth.SAML2NameIDGenerators">
<bean parent="shibboleth.SAML2AttributeSourcedGenerator"
        p:format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"
        p:attributeSourceIds="#{ {'uid'} }" />

С этими 3 частями конфигурации и убедившись, что атрибут-фильтр настроен на освобождение всех атрибутов, я смог заполнить UserID, введенный пользователем в Shibboleth IDP, как в утверждении ответа.

Другие вопросы по тегам