处理SAML中的多个SP元数据生成器

时间:2019-01-24 03:19:20

标签: saml-2.0 spring-saml

我在负载均衡器后面运行了SP启动的SAML 2.0 + SPRING引导应用程序。负载均衡器端点(http://myserver.biz)被配置为

,用于应用程序的entityBaseUrl
metadataGenerator.setEntityBaseURL(http://myserver.biz);

我们现在在LB上添加了反向代理,客户将通过Internet连接到该代理。代理端点是https://myserverproxy.com。现在,我将entitybase url配置为类似
    metadataGenerator.setEntityBaseURL(https://myserverproxy.com);

麻烦之处在于内部客户将使用应用程序URL作为http://myserver.biz,而通过互联网访问的外部客户将使用https://myserverproxy.com

我无法为该应用程序配置两个EntityBaseUrl,SAML MetadataGenerator类一次仅支持一个实体基本URL。

public class MetadataGenerator {

    private String id;
    private String entityId;
    private String entityBaseURL;
...

}

如何实现?有什么解决办法吗?

@Bean
public MetadataGenerator metadataGenerator() {
    MetadataGenerator metadataGenerator = new MetadataGenerator();
    metadataGenerator.setEntityId(entityId);
    metadataGenerator.setExtendedMetadata(extendedMetadata());
    metadataGenerator.setIncludeDiscoveryExtension(false);
    metadataGenerator.setKeyManager(keyManager());
    metadataGenerator.setEntityBaseURL(entityBaseUrl);

    return metadataGenerator;
}

0 个答案:

没有答案