【问题标题】:SAML 2.0 implementation in ASP.Net MVC 4 as IDP [closed]ASP.Net MVC 4 中的 SAML 2.0 实现作为 IDP [关闭]
【发布时间】:2019-01-24 00:52:06
【问题描述】:

我知道有很多关于 .net 中 SAML 实施的帖子,相信我已经阅读了所有这些帖子。我还查看了代码项目文章“使用 C# 执行 SAMP 发布,但代码非常复杂,我不明白为什么需要 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 中的 Ultimate SAML API,但它不是免费的。

【问题讨论】:

  • 您可以编辑您的问题并使其更清晰吗?我不知道您是否正在寻找实现 SAML2.0 IdP 的库,或者您不知道如何在标头中添加令牌以执行某些操作以及 EndPoint 支持 SAML2.0 身份验证,如果您澄清您的问题我可以提供答案...
  • 看看:itfoxtec.com/identitysaml2 开源 ITfoxtec Identity Saml2 包在实现的 SAML 2.0 功能之上添加了对身份提供者 (IdP) 和依赖方 (RP) 的 SAML-P 支持.NET。

标签: c# asp.net-mvc saml-2.0


【解决方案1】:

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

唯一符合您要求(服务器端和 .NET)的是 ComponentSpace。

编写 SAML 堆栈很困难,并且涉及很多密码学。

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

也许使用指向您的数据库的 identityserver4 作为 IDP?它是开源的,但您必须购买 Rock Solid Knowledge SAML 堆栈。它也是 .NET Core。

或者不使用 SAML - 使用 OpenID Connect。它是 REST API,开发起来更简单。

【讨论】:

  • 感谢您的信息。服务提供商要求我们发送带有断言的签名 SAML 响应,因此我必须使用 SAML。我确实查看了 componentSpace,它相当易于使用,但正如我所说,它不是免费的。
  • 我查看了 oneLogin 堆栈,但我认为它仅适用于服务提供商启动的 SAML,而不适用于 IDP 启动的 SAML,我看到这些示例主要用于接收 SAML 断言而不是发送 SAML 响应,请执行你知道什么可以用来做这个吗?
  • 不 - 我不知道有免费的。
  • 只是好奇,为什么将应用程序作为 IDP 不寻常?这不就是 IDP - 只是一个处理识别用户的应用程序吗?
  • 在术语中,依赖方或服务提供者通常称为应用程序。这连接到 IDP。因此,如果您有一个 MVC 应用程序,您不会将其连接到 RP/SP。您将直接连接到 IDP。但是,是的,IDP 本身就是更广泛意义上的应用程序..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-04
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
相关资源
最近更新 更多