2016-07-21 5 views
0

Мне нужно настроить SP с помощью расширения SAML Spring, на этот раз с новым запросом администратора idp. Он просил меня прислать ему метаданные со значениями mdui так:Расширение метаданных mdui с spring-saml

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

Я думаю, что я могу сделать эту операцию с не подписанными метаданными со значениями, добавленных вручную. Это единственный способ или я могу получить тот же результат с настройками конфигурации? благодарит заранее.

Алессандро

ответ

0

Checkout класс MetadataGenerator весна-безопасности-SAML. Он имеет метод buildExtensions, который заполняет объект Extensions OpenSAML с расширением DiscoveryResponse, если он настроен. Вы могли бы расширить 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 бутс вы можете использовать эту библиотеку для настройки SAML и обеспечивают пользовательский MetadataGenerator: spring-boot-security-saml

конфигурация будет выглядеть что-то вроде:

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