ADFS с ASP.NET 4.5 и переопределением WIF NameClaimType

Я пытаюсь заставить ADFS работать с ASP.NET 4.5.2 и несколькими доменами. Пока сервер ADFS преобразует утверждение с «upn» в «имя», все работает правильно. Однако это невозможно с несколькими лесами AD, поэтому я должен выполнить преобразование на веб-сервере. Предполагается, что использование этой записи Web.Config вызовет это преобразование.

<securityTokenHandlers>
    <add type="System.IdentityModel.Tokens.Saml2SecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <samlSecurityTokenRequirement>
        <nameClaimType value="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" />
      </samlSecurityTokenRequirement>
    </add>
  </securityTokenHandlers>

При отладке я обнаружил, что Thread.CurrentPrincipal.Identity.NameClaimType по-прежнему имеет значение по умолчанию http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name

Было бы полезно, если бы я мог определить на C #, какой активный SecurityTokenHandler используется.

Документация для ADFS противоречива. Что мне здесь не хватает?


person user306031    schedule 08.12.2015    source источник
comment
Я бы запечатлел события и вдавался в подробности. См. msdn.microsoft.com/en-us/ библиотека /   -  person Dhanuka777    schedule 09.12.2015
comment
У вас может быть локальный диспетчер проверки подлинности утверждений, который запускается при разрешении токена, и там вы один раз переписываете утверждения в соответствии с вашими потребностями.   -  person Wiktor Zychla    schedule 09.12.2015
comment
Эта документация ссылается на .NET 3.5, который совершенно другой.   -  person user306031    schedule 09.12.2015


Ответы (1)


Проблема заключалась в том, что в нашей тестовой среде ADFS был настроен на возврат токенов SAML 2.0, а в производственной среде - токены SAML 1.1. Таким образом, конфигурация Saml2SecurityTokenHandler даже не запускалась.

Я обнаружил проблему, пытаясь настроить SamlSecurityTokenHandler, и преобразование прошло успешно.

person user306031    schedule 09.12.2015