アウトバネ - セキュリティSAMLのMetadataGeneratorクラス。これには、OpenSAMLのExtensionsオブジェクトにDiscoveryResponse拡張が設定されていれば、そこに配置されるbuildExtensionsメソッドがあります。 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;
}
}
あなたは春のブートを使用している場合は、SAMLを設定し、カスタムMetadataGeneratorを提供するために、このライブラリを使用することができます:spring-boot-security-saml
構成が見えます次のようなもの:
@Configuration
public static class MyServiceProviderConfig extends ServiceProviderConfigurerAdapter {
@Override
public void configure(ServiceProviderSecurityBuilder serviceProvider) throws Exception {
serviceProvider
.metadataGenerator(customGenerator);
}
}