Вот как настроена аутентификация. - Клиентский браузер отправляет запрос (URL-адрес ниже) на сервер ADFS клиента, - Клиент ADFS клиента затем просматривает состояние вложенного ретранслятора и перенаправляет запрос на наш сервер ADFS. - Наша ADFS рассмотрит запрос и отправит запрос нашему APP.ADFS не проходит NameID
URL-адрес здесь.
https://clientadfs.clientdomain.com/adfs/ls/idpinitiatedsignon.aspx?RelayState=RPID%3Dhttps%3A%2F%2ouradfs.ourdomain.com%2Fadfs%2Fls%2F%26RelayState%3DRPID%3Dhttps%3A%2F%2ourapp.ourdomain.com%2Fvaruna%2Fconsole%2Fsso.aspx%3FsamISso%26lang%3Den_CA
Запрос создает пустую страницу без ошибок на сервере ADFS.
Я получил скрипач, который следил за клиентом. Клиент использует адрес электронной почты пользователей для идентификации пользователей. Я вижу в токене SAML, отправленном в ADFS Клиента, этот адрес электронной почты. Этот токен SAML отправляется на наш сервер ADFS, и я вижу ответ SAML, который выходит из нашего сервера ADFS. Это, однако, не имеет адрес электронной почты пользователя. Я думаю, что это проблема.
На нашем ADFS сервере, у меня есть претензии в этом Клиента (на Иски Provider Trust) для обработки идентификатора пользователя (который является их электронная почта):
Претензия Имя правила: Email Входящий Тип заявки: Имя ID поступления Имя Формат ID: Email Исходящий формат идентификатора имени: Email Пропустите все значения требований.
Вот иск в претензии Правило Язык
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/format"] == "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"]
=> issue(Type = "Email", Issuer = c.Issuer, OriginalIssuer = c.OriginalIssuer, Value = c.Value, ValueType = c.ValueType);
На ADFS конфигурации клиента, это их электронная почта/Userid конфигурация:
IssuanceTransformRules : @RuleTemplate = "LdapClaims"
@RuleName = "Pass email"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccou
ntname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/20
05/05/identity/claims/nameidentifier"), query = ";mail;{0}", param = c.Value);
Я понятия не имею, что я делаю неправильно. Может ли кто-нибудь определить мою проблему? или вы можете предложить, на что я должен смотреть?
Благодарим за помощь!
- RM
Клиент отправил свою конфигурацию ADFS. вот их конфиг по электронной почте. Я отредактировал оригинальный пост выше – user3618129
Хорошо. Благодарю. Я подумал, что так я и сделал. Преобразование идентификатора имени в электронную почту. Используется «Преобразовать правило входящей заявки». Тип входящей заявки: Идентификатор имени Входящие имя Формат идентификатора: Адрес электронной почты Исходящий формат идентификатора имени: Электронная почта Пропустите все значения требований. – user3618129
Но я вижу, что у вас есть другой «Тип» в ответе. Я не могу это сделать, используя «Преобразовать правило ожидаемого требования». Должен ли я использовать собственное правило? – user3618129