Shibboleth IDPv3 NameId с KerberosAuthNConfiguration

Я настроил Shibboleth IDPv3 для проверки своей реализации SP. SP отправляет запрос входа в систему SAML, и пользователю предоставляется страница учетных данных Shibboleth IDP, на которой пользователь вводит свои учетные данные Kerberos (я настроил процесс входа в систему с помощью KerberosAuthNConfiguration). Ответ SAML возвращается с nameId, который выглядит как закодированное значение. Однако я хочу, чтобы элемент NameId содержал имя пользователя, которое пользователь использовал для входа на страницу учетных данных IDP.

У меня было несколько попыток настроить bean-компоненты в различных файлах конфигурации XML, но безуспешно. Кто-нибудь пробовал что-то подобное, это вообще возможно?


person pmolyv85    schedule 05.05.2017    source источник


Ответы (1)


Если вы посмотрите в файле saml-nameid.properties, вы увидите параметр idp.nameid.saml2.default. Я подозреваю, что в вашей конфигурации установлено значение по умолчанию urn:oasis:names:tc:SAML:2.0:nameid-format:transient, которое является не закодированным значением, а скорее случайной строкой.

Похоже, вы хотите отправить «постоянный» идентификатор, а не временный идентификатор. Сделать это,

  1. Измените idp.nameid.saml2.default на urn:oasis:names:tc:SAML:2.0:nameid-format:persistent.
  2. Далее вам нужно будет включить постоянный генератор NameID в файле saml-nameid.xml.
  3. Наконец, вам нужно установить атрибут для использования в вашем nameid через свойство idp.persistentId.sourceAttribute, также в saml-nameid.properties.

Подробности о том, как это сделать, можно найти на странице Shibboleth IdP PersistentNameIDGenerationConfiguration.

person rlandster    schedule 09.05.2017
comment
Это имеет смысл, однако я до сих пор не уверен, возможно ли динамическое заполнение NameID любым именем пользователя, которое пользователь вводит для входа на страницу учетных данных idp с помощью kerberos после отправки запроса SAML. Итак, если пользователь использует учетные данные testuser, testpass, я хочу, чтобы nameId возвращался как testuser в ответе SAML. - person pmolyv85; 09.05.2017