【问题标题】:Does a SAML 2.0-implementation generally work for multiple platforms?SAML 2.0 实施通常适用于多个平台吗?
【发布时间】:2018-07-29 10:07:23
【问题描述】:

客户目前正在尝试决定是否要为其应用程序实施基于 SAML 2.0 的 SSO。但是,他们的用户有许多不同的身份提供者。我已经构建了一些 SAML 实现,但它们都只针对一个身份提供者,而且我没有任何使用许多不同身份提供者的应用程序的实践经验。

问题:您通常可以为多个身份提供者构建一个可配置的 SAML 客户端,还是必须构建多个不同的客户端才能为它们提供服务?

【问题讨论】:

  • 是的,通常您可以为多个身份提供者构建一个可配置的 SAML 客户端。您的客户使用什么语言?
  • 该应用程序正在使用 Mendix 开发(使用 Java 后端的模型驱动开发平台,可以自定义 Java 代码),因此增加了另一层复杂性,我只是不太了解。跨度>

标签: single-sign-on saml-2.0


【解决方案1】:

单个服务提供者 (SP) 可以使用任意数量的身份提供者 (IdP)。 SP 唯一需要知道的是为特定用户使用哪个 IdP。它以两种方式之一做到这一点。它要么显示它知道的 IdP 列表,然后用户选择一个,要么用户通过“无 WAYF”URL 到达 SP。 WAYF 表示您来自哪里,但在很大程度上被 SAML 发现过程所取代。向 SP 提供 IdP 的 entityID 会绕过 WAYF,因此是 WAYF-less URL。

例如你可以有一个类似于以下行的 URL 方案:

https://yourapp.com/login?idp=https://someidp.com/shibboleth

https://someidp.com/shibboleth 是 IdP 的 entityID。您的 SP 在其元数据存储中查找该 entityID 以查找 IdP 的 SSO URL,并将用户发送到其正确的 IdP 以进行登录。

一旦您的 SP 将用户重定向到他们的 IdP,之后 SAML 流就正常了。因此,SP 唯一需要做的就是确定 SSO URL 的位置。当然,所有 IdP 都将返回相同的 SAMLResponse 格式,但具有自己的属性等。

【讨论】:

  • 感谢您提供如此明智的答案,它完美地回答了我的问题。
猜你喜欢
  • 2014-10-27
  • 1970-01-01
  • 1970-01-01
  • 2019-04-24
  • 2023-03-10
  • 2018-07-30
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
相关资源
最近更新 更多