Я использую политику выдачи как:
Правило 1:
Правило 2 (обычай):
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier",
Issuer = c.Issuer,
OriginalIssuer = c.OriginalIssuer,
Value = c.Value,
ValueType = c.ValueType,
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/namequalifier"] = "https://fs.hhres.com/adfs/services/trust",
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/spnamequalifier"] = "sp_test");
Когда я пытаюсь войти в систему, появляется ошибка (из средства просмотра событий) -
Запрос аутентификации SAML содержал политику NameID, которая не могла быть удовлетворена.
Инициатор запроса: BambooHR-SAML
Формат идентификатора имени: urn: oasis: names: tc: SAML: 1.1: nameid-format: emailAddress SPNameQualifier:
Сведения об исключении: MSIS7070: запрос SAML содержал NameIDPolicy, который не был удовлетворен выданным токеном. Запрошенный NameIDPolicy: AllowCreate: True Формат: urn: oasis: names: tc: SAML: 1.1: nameid-format: emailAddress SPNameQualifier:. Фактические свойства NameID: Формат: urn: oasis: names: tc: SAML: 2.0: формат nameid: переходный, NameQualifier: https: // adfs_url / adfs / services / trust SPNameQualifier: sp_test, SPProvidedId:.
Этот запрос не выполнен.
Действия пользователя. Используйте оснастку управления AD FS для настройки конфигурации, которая генерирует требуемый идентификатор имени.
Может кто-нибудь объяснить, что я делаю не так и что нужно делать?
Я решил это, изменив строку -
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:2.0:nameid-format:transient",
в
Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
Ему нужен формат NameID для адреса электронной почты, а вы предоставляете один из временных.
Самый простой способ сделать это - использовать правило преобразования.
Преобразуйте электронную почту в NameID и выберите формат электронной почты из раскрывающегося списка.