当前位置: 首页 > 知识库问答 >
问题:

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

燕光熙
2023-03-14

我对 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响应发送回服务提供商?GET还是POST?作为查询字符串?什么查询字符串名称?
  8. 如何在服务提供商端解密和验证SAML响应?
  9. 如何从SAML响应中提取信息?

共有2个答案

苏骏
2023-03-14

我找到了答案。

这个文档回答了我列出的所有问题,下面的供应商www.componentspace.com是一个著名的SDK,可以用来创建IdP和SP。

司空学智
2023-03-14

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

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

 类似资料:
  • 我已经创建了身份提供程序,并且从浏览器中它工作正常。 参考:密钥斗篷身份提供程序后代理登录抛出错误 从浏览器,我可以使用外部IDP登录,如果外部IDP用户不在keycloak中,它会在keyclock中创建,这绝对没问题,并重定向到仪表板。 但我的问题是,我们如何用keycloak rest api实现这个流程? 是否有任何api用于使用外部IDP登录,并将获得外部IDP的令牌以及密钥斗篷的令牌?

  • 我有一个密钥锁代理和两个身份提供者正在运行。目前,我在代理登录屏幕上看到了用户名和密码字段以及指向配置的身份提供者的2个链接。点击IP链接后,可以通过身份提供者登录。 如何禁用/删除用户名/密码字段,因为我只想提供身份提供程序来登录我的客户(无法直接通过代理登录)?

  • 我正在使用SimpleSAMLPhp服务提供商实现SSO。 我提供了我的元数据远程Shibboleth身份提供者,并提供了一个测试帐户。 当用户访问我的SP上的特定页面时,他们会被重定向到IdP、登录,并使用IdP提供的一组属性重定向回我的网站。这部分工作正常。 这部分我正在努力。 如果用户通过不同的服务提供商使用相同的IdP进行身份验证,然后访问我的页面,我怎么知道他们已经通过身份验证?目前我被

  • 我遇到过许多讨论类似问题的文章,但我找不到确切的答案。 我的公司希望开始使用Identity Server 3,但其中一个要求是能够对外部用户进行身份验证,而无需他们手动输入凭据。 这必须能够提供单一登录功能,因为我们有3个不同的系统,用户只需登录一次。 本质上,外部用户有自己的CRM。 CRM保存我们软件的用户名和密码 至关重要的是,我们不能为我们的合作伙伴改变这一进程。 我可以实现一个自定义服

  • 我正在尝试使用JWT为跨域应用程序开发单点登录(SSO)。 在研究了一些解决方案和线程后,我决定使用以下内容:使用JWT进行跨域身份验证的单点登录流程 但我不确定,如何在资源服务器上验证IdP令牌? IdP和资源服务器是否都应该访问相同的数据源? 此外,是否有必要为每个应用程序使用唯一的资源令牌?

  • 我正在用PHP构建一个需要集成SSO的SAAS web应用程序。我们将有多个客户组织,每个组织都有自己的身份提供者(Active Directory)。在研究可能性时,我遇到了SimpleSAMLphp,但我不确定它是否能满足我的要求,并希望得到关于最佳实现方法的反馈。看起来SAML或OAuth2是一个不错的选择,但我在这方面的经验有限。 需要这些能力: 客户端管理员应该能够通过广告添加和删除对我