C# SAML2.0在ASP.NETMVC4中作为IDP的实现

C# SAML2.0在ASP.NETMVC4中作为IDP的实现,c#,asp.net-mvc,saml-2.0,C#,Asp.net Mvc,Saml 2.0,我知道有很多关于.net中SAML实现的帖子,相信我,我已经看过了所有这些帖子。我还看了代码项目文章“使用C#执行SAMP Post,但代码非常复杂,我不明白为什么需要XSD,是否使用了任何库。无论如何,我了解工作流程,我的要求是我有一个asp.net mvc项目,需要将数据发布到saml服务提供商。因此,我的应用程序是身份提供商,用户登录到我的应用程序,然后在正确验证健康信息后,重定向到需要SAML通信的服务提供商。为此,我从nuget安装了Ultimate SAML 2.0试用包,但我不确定

我知道有很多关于.net中SAML实现的帖子,相信我,我已经看过了所有这些帖子。我还看了代码项目文章“使用C#执行SAMP Post,但代码非常复杂,我不明白为什么需要XSD,是否使用了任何库。无论如何,我了解工作流程,我的要求是我有一个asp.net mvc项目,需要将数据发布到saml服务提供商。因此,我的应用程序是身份提供商,用户登录到我的应用程序,然后在正确验证健康信息后,重定向到需要SAML通信的服务提供商。为此,我从nuget安装了Ultimate SAML 2.0试用包,但我不确定如何使用它。如何从我的mvc页面向其发布数据。我不清楚从哪里开始?请帮忙

我看到了Sustainsys/Saml2链接,但这是为了使asp.net mvc应用程序成为服务提供商。但我的目标是让它成为身份提供者

昨天当我发布这个问题时,我不太清楚我到底需要什么帮助,但经过昨晚的一些挖掘,我想我明白了。 如上所述,我的web应用程序是IDP,因此我不需要开发任何IDP,我所需要做的就是使用HttpPost C#向服务提供商发送一个包含SAML断言的SAML响应,如果有任何免费库可以这样做,我知道Nuget中的终极SAML API,但它不是免费的。

有很多,但它们主要是客户端

唯一适合您的方案(服务器端和.NET)是ComponentSpace

编写SAML堆栈很难,而且涉及到很多密码学

将应用程序作为IDP是不寻常的

可能使用identityserver4将您的数据库作为IDP?它是开源的,但您必须购买坚如磐石的知识SAML堆栈。它也是.NET内核


或者不要使用SAML-使用OpenID连接。它是RESTAPI,开发起来更简单。

您能编辑您的问题并使其更清楚吗?我不知道您是否正在寻找实现SAML2.0 IdP的库,或者您不知道如何在标头中添加令牌,以便在支持SAML2.0身份验证的端点上执行某些操作,如果你澄清了你的问题,我可以提供一个答案……看一看:开源ITfoxtec Identity Saml2包为身份提供者(IdP)和依赖方(RP)添加了SAML-P支持在.NET中实现的SAML 2.0功能之上。感谢您提供的信息。服务提供商要求我们发送带有断言的签名SAML响应,因此我必须使用SAML。我确实查看了componentSpace,它很容易使用,但正如我所说,它不是免费的。我查看了oneLogin堆栈,但我认为它仅适用于服务提供商发起的SAML,而不适用于IDP发起的SAML,我看到的示例主要是用于接收SAML断言,而不是发送SAML响应,你知道有什么可以用的吗?不,我不知道有没有免费的。