如何在 ADFS 2.0 .net 3.5 中为被动联合配置不同的 Saml2SecurityTokenHandler

如何在 ADFS 2.0 .net 3.5 中为被动联合配置不同的 Saml2SecurityTokenHandler

如何为 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> 元素是默认配置,用于被动联合场景。

请帮帮我!这是几周工作中的最后一道障碍。

相关内容