C# 手动验证自定义SAML2P消息

C# 手动验证自定义SAML2P消息,c#,wif,saml-2.0,C#,Wif,Saml 2.0,我有一个ASP.NET MVC Web应用程序,它使用WIF使用WS-FED/SAML和声明对来自各种远程网络的用户进行身份验证 我有一个新的用户组,希望向我发送一条自定义SAML2-p POST消息,它本质上是包含其他未签名元数据的自定义XML文档中的一个签名XML文档 WIF不支持SAML2-p消息,所以我需要手动执行此操作。因此,我需要: 验证中包含的SAML2-P消息和SAML2断言 验证后,将其转换为ASP.NET MVC中的索赔实体 我想我已经了解了第一部分,使用.Net框架中的内置

我有一个ASP.NET MVC Web应用程序,它使用WIF使用WS-FED/SAML和声明对来自各种远程网络的用户进行身份验证

我有一个新的用户组,希望向我发送一条自定义SAML2-p POST消息,它本质上是包含其他未签名元数据的自定义XML文档中的一个签名XML文档

WIF不支持SAML2-p消息,所以我需要手动执行此操作。因此,我需要:

  • 验证中包含的SAML2-P消息和SAML2断言
  • 验证后,将其转换为ASP.NET MVC中的索赔实体
  • 我想我已经了解了第一部分,使用.Net框架中的内置方法


    我想知道实现#2的最佳方法,特别是在应用程序中的何处实现?处理程序?滤器等等?

    我强烈建议不要自己写步骤1。使用一个已经解决了所有可能出现的签名包装漏洞的库(例如)。我以前看过Kentor代码库,这将让我走到目前为止,但它是一个自定义实现,所以我必须仔细挑选某些代码。Saml2Response对象似乎覆盖了大部分位。