如何在 ASP.NET MVC 中创建单点登录身份提供程序服务器?

问题描述 投票:0回答:3

我对 SSO 和 SAML 还很陌生。我们有一个 ASP.NET MVC 服务器。我们需要使其充当 SSO 身份提供商,接受来自我们其他服务提供商网站的 SAML 请求,让用户使用电子邮件、密码和 2FA 登录,然后重定向回服务提供商网站带有 SAML 响应/断言

两个服务提供商网站是使用 DNN CMS 创建的,因此我们的SSO 身份提供商的工作方式必须是行业标准,以便 DNN CMS 可以与其配合使用。

问题:

  1. 如何在服务提供商端创建SAML请求?我可以使用什么工具来创建 XML?
  2. 如何加密SAML请求?对称还是不对称?使用什么加密密钥?要签名吗?
  3. 如何将 SAML 请求发送到身份提供商? GET 还是 POST?作为查询字符串?查询字符串名称是什么?
  4. 如何在身份提供商侧解密SAML请求?签名后如何验证签名?
  5. 如何在身份提供商端创建SAML响应/断言
  6. 如何对响应进行加密和签名?
  7. 如何将SAML响应发送回服务提供商?获取还是发布?作为查询字符串?什么查询字符串名称?
  8. 如何在服务提供商侧解密和验证SAML响应
  9. 如何从 SAML 响应中提取信息?
single-sign-on saml
3个回答
0
投票

我强烈建议使用商业产品或开源库。尝试自己实现这一点并确保安全是一项重大任务。

您的大多数问题都可以通过查看 SAML v2.0 规范文档来回答。如果您确实决定自己尝试实现这一点,这也将使您了解所涉及的工作。


0
投票

我找到了答案。

本文档回答了我列出的所有问题,以下供应商 www.componentspace.com 是一家知名且享有盛誉的 SDK,可用于创建 IdP 和 SP。


0
投票

您可以使用 miniOrange NuGet 包来实现此目的。

我已经使用他们的解决方案成功地将 SSO + MFA 实施到 ASP.NET 应用程序中。

链接:https://plugins.miniorange.com/asp.net

希望这有帮助😊

© www.soinside.com 2019 - 2024. All rights reserved.