【问题标题】:mdui metadata extension with spring-saml使用 spring-saml 的 mdui 元数据扩展
【发布时间】:2016-11-25 02:15:42
【问题描述】:

我需要使用 Spring SAML 扩展配置一个 SP,这次需要一个新的 idp 管理请求。 他让我向他发送带有 mdui 值的元数据,如下所示:

<md:SPSSODescriptor> <Extensions>  <mdui:UIInfo>
<mdui:DisplayName xml:lang="it">desc</mdui:DisplayName>
<mdui:InformationURL xml:lang="it">http://xxxx</mdui:InformationURL>
</Extensions>
....
</SPSSODescriptor>

我认为我可以使用手动添加值的未签名元数据来执行此操作。 这是唯一的方法还是我可以通过配置选项获得相同的结果? 提前致谢。

亚历山德罗

【问题讨论】:

    标签: spring-security spring-saml


    【解决方案1】:

    查看 spring-security-saml 的 MetadataGenerator 类。它有一个 buildExtensions 方法,该方法使用 DiscoveryResponse 扩展(如果已配置)填充 OpenSAML 的 Extensions 对象。您可以扩展 MetadataGenerator 并在您的配置中挂钩。

    这是 buildExtensions 方法的摘录:

    protected Extensions buildExtensions(String entityBaseURL, String entityAlias) {
    
        boolean include = false;
        Extensions extensions = new ExtensionsBuilder().buildObject();
    
        // Add discovery
        if (isIncludeDiscoveryExtension()) {
            DiscoveryResponse discoveryService = getDiscoveryService(entityBaseURL, entityAlias);
            extensions.getUnknownXMLObjects().add(discoveryService);
            include = true;
        }
    
        if (include) {
            return extensions;
        } else {
            return null;
        }
    
    }
    

    如果您使用的是 Spring Boot,则可以使用此库来配置 SAML 并提供自定义 MetadataGenerator:spring-boot-security-saml

    配置看起来像:

        @Configuration
        public static class MyServiceProviderConfig extends ServiceProviderConfigurerAdapter {
            @Override
            public void configure(ServiceProviderSecurityBuilder serviceProvider) throws Exception {
                serviceProvider
                    .metadataGenerator(customGenerator);
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-23
      • 2014-11-10
      • 2015-08-27
      • 2020-05-31
      • 2015-07-30
      • 2015-02-28
      • 2018-12-08
      • 2013-03-02
      相关资源
      最近更新 更多