2016-07-21 29 views
0

ich muss einen SP mit Spring SAML Extension konfigurieren, diesmal mit einer neuen idp admin anfrage. Er frage mich, ihn Metadaten mit mdui Werte wie folgt an:mdui metadata extension mit 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> 

ich glaube, ich mit einem nicht signierten Metadaten mit Werten hinzugefügt von Hand diese Operation zu tun. Es ist der einzige Weg oder kann ich das gleiche Ergebnis mit Konfigurationsoptionen erhalten? danke im voraus.

Alessandro

Antwort

0

Kasse die MetadataGenerator Klasse von federsicherheits saml. Es verfügt über eine buildExtensions-Methode, die das OpenSAML-Extensions-Objekt mit der DiscoveryResponse-Erweiterung füllt, sofern konfiguriert. Sie könnten möglicherweise den MetadataGenerator erweitern und Ihre Konfiguration einbinden.

Dies ist ein Auszug aus der buildExtensions Methode:

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; 
    } 

} 

Wenn Sie Frühlings-Boot verwenden können Sie diese Bibliothek verwenden SAML zu konfigurieren und den benutzerdefinierten MetadataGenerator bieten: spring-boot-security-saml

Die Konfiguration aussehen würde, etwas wie:

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