【问题标题】:Generate two different SP metadata using Spring Security SAML´使用 Spring Security SAML 生成两个不同的 SP 元数据
【发布时间】:2015-02-03 14:16:54
【问题描述】:

我们需要配置两个不同的 IdP。到目前为止一切顺利,但问题是我们需要为其中一个 IdP 配置 forceAuthN。另一件事是,一个 IdP 使用 HTTP-Artifact 进行绑定 SSO,而另一个使用 HTTP-POST。因此,我们似乎需要两个不同的 SP 元数据。

最好的方法是什么?我想如果我们自己编写元数据不是问题,但我们希望 Spring Security SAML 生成这些。

我们尝试通过扩展 MetadataGeneratorFilter 类来配置两个不同的 metadataGeneratorFilters。现在的问题是只构建了其中一个 SP 的元数据,原因只是 processMetadataInitialization 方法中的以下行:

if (manager.getHostedSPName() == null) { ...

据我所知,MetadataManager 类只能保存一个 hostsSPName,而不是两个。

【问题讨论】:

    标签: spring-saml


    【解决方案1】:

    您不需要单独的元数据来控制绑定或forceAuthN 的选择。这些设置在发送给 IDP 的AuthnRequest 中配置。只需确保您的 SP 元数据包含 HTTP-Artifact 和 HTTP-POST 端点(默认情况下)。

    AuthnRequest 设置是使用WebSSOProfileOptions 的实例配置的。扩展类 SAMLEntryPoint,覆盖方法 getProfileOptions 并返回正确配置的 WebSSOProfileOptions,具体取决于您要连接的 IDP 和您的要求。详情在manual

    AuthnRequest 中的forceAuthN 是使用属性forceAuthn 配置的。您可以选择 IDP 应使用哪个绑定(工件与帖子)将 SAML 消息传递回具有属性 assertionConsumerIndex 的 SP。

    您不能使用自动 MetadataGenerator 在一个实例中生成两组不同的元数据。为此,您可以使用 pre-configured metadata - 但我认为您的情况不需要它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-25
      • 2014-12-20
      • 2020-10-15
      • 2019-07-23
      • 2014-11-10
      • 2015-04-09
      • 2014-10-28
      • 2014-10-02
      相关资源
      最近更新 更多