
Como configuro uma outra classe Saml2SecurityTokenHandler (Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler) para minha federação passiva em meu servidor ADFS 2.0?
No momento: estou tentando a seguinte configuração:
<configuration>
<configSections>
<section name="microsoft.identityModel" type="Microsoft.IdentityModel.Configuration.MicrosoftIdentityModelSection, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
...
</configSections>
<microsoft.identityModel>
<service>
<securityTokenHandlers>
<remove type="Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<remove type="Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler, Microsoft.IdentityModel, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add type="ClassLibrary1.Class1, ClassLibrary1" />
</securityTokenHandlers>
</service>
</microsoft.identityModel>
...
</configuration>
A remoção dos elementos <remove> resulta em uma exceção na inicialização do ADFS 2.0 Windows Service (um item com a mesma chave já foi adicionado), portanto, temos certeza de que nossa configuração foi carregada com sucesso. Mas ao usar a federação passiva, vemos que o padrão MSISSaml2TokenHandler ainda é usado:
System.IdentityModel.Tokens.SecurityTokenException: MSIS3120: SubjectConfirmationData tinha destinatário errado. Esperado 'https://secure.mydomain.com/adfs/ls/' mas recebeu: 'https://secure.proxy.mydomain.com/adfs/ls/'. noMicrosoft.IdentityServer.Service.Tokens.MSISSaml2TokenHandler.ValidateConfirmationData(Saml2SubjectConfirmationData confirmData)
Ao ler a documentação do msdn (http://msdn.microsoft.com/en-us/library/gg638730.aspx) parece estar configurado como deveria. O elemento <service> sem nome é uma configuração padrão e deve ser usado em cenários de federação passiva.
Por favor me ajude! Este é o último obstáculo de semanas de trabalho.