我在负载均衡器后面运行了SP启动的SAML 2.0 + SPRING引导应用程序。负载均衡器端点(http://myserver.biz)被配置为
,用于应用程序的entityBaseUrlmetadataGenerator.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;
}