如何为 ADFS 2.0 服务器上的被动联合配置其他 Saml2SecurityTokenHandler(Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler)类?
现在:我正在尝试以下配置:
<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>
删除 <remove> 元素会导致 ADFS 2.0 Windows 服务启动时出现异常(已添加具有相同键的项),因此我们确信我们的配置已成功加载。但是当使用被动联合时,我们看到仍然使用默认的 MSISSaml2TokenHandler:
System.IdentityModel.Tokens.SecurityTokenException:MSIS3120:SubjectConfirmationData 的收件人错误。预期为“https://secure.mydomain.com/adfs/ls/但收到:'https://secure.proxy.mydomain.com/adfs/ls/'。 在Microsoft.IdentityServer.Service.Tokens.MSISSaml2TokenHandler.ValidateConfirmationData(Saml2SubjectConfirmationData 确认数据)
阅读 msdn 文档时(http://msdn.microsoft.com/en-us/library/gg638730.aspx) 看起来似乎配置得当。没有名称的 <service> 元素是默认配置,用于被动联合场景。
请帮帮我!这是几周工作中的最后一道障碍。