Я пытаюсь заставить 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 противоречива. Что мне здесь не хватает?