ITfoxtec SAML2 能否支持多个 IdP?

Posted

技术标签:

【中文标题】ITfoxtec SAML2 能否支持多个 IdP?【英文标题】:Can ITfoxtec SAML2 supprot multiple IdPs? 【发布时间】:2020-05-02 19:47:23 【问题描述】:

我正在尝试让我的 ASP.NET MVC Web 应用为多个 IdP 提供 SSO,我想知道是否可以使用 ITfoxtec.SAML2 库来支持这种场景。

我有许多不同的客户,其中有几个希望将 SSO 与我的服务集成。每个客户端都有一个不同的子域(例如 business1.myapp.com、business2.myapp.com 等),我需要使用它们名称的独特部分来查找它们的元数据并生成一个配置和他们顶嘴。

我看到的示例代码似乎支持更传统的一个 IdP 到一个 SP 方案。

此外,如果有人知道非核心 ASP.NET MVC 示例应用程序,我将非常感激知道在哪里可以找到它。

【问题讨论】:

【参考方案1】:

在您的情况下,我将实现一些 Saml2Configuration 逻辑,我可以在其中为当前 IdP 请求特定的 Saml2Configuration。然后在AuthController 中使用这个特定的Saml2Configuration

binding.ReadSamlResponse(Request.ToGenericHttpRequest(), saml2AuthnResponse) 和通用Saml2Configuration 之后,您可以在saml2AuthnResponse.Issuer 中读取IdP 颁发者。然后加载正确的Saml2Configuration

指向非核心 ASP.NET MVC 中继方示例应用程序https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/tree/master/test/TestWebApp的链接

【讨论】:

以上是关于ITfoxtec SAML2 能否支持多个 IdP?的主要内容,如果未能解决你的问题,请参考以下文章

/idp/ 端点来自哪里?

使用 .Net Core 5 MVC 为多个 IDP 实施 SAML2

ITfoxtec.Identity.Saml2.Saml2RequestException:“不完全是一个断言元素。”

InvalidSignatureException:签名无效

使用 ITfoxtec.Identity.Saml2 登录用户

ITfoxtec.Identity.Saml2 无效 URI 问题