Обработка нескольких генераторов метаданных SP в SAML - PullRequest
0 голосов
/ 24 января 2019

У меня есть SP, инициированный загрузочным приложением SAML 2.0 + SPRING, работающим за балансировщиком нагрузки.Конечная точка балансировщика нагрузки (http://myserver.biz) настроена как entityBaseUrl для приложения как

metadataGenerator.setEntityBaseURL(http://myserver.biz);

. Мы добавили обратный прокси-сервер через LB, к которому клиент будет подключаться через Интернет. Конечная точка прокси-сервераis https://myserverproxy.com. Теперь я настроил URL-адрес entitybase на что-то вроде
metadataGenerator.setEntityBaseURL (https://myserverproxy.com);

Проблема в том, что внутренний клиент будет использовать URL-адрес приложения как http://myserver.biz, тогда как внешнийклиенты, приходящие через Интернет, будут использовать https://myserverproxy.com.

Я не могу настроить два объекта entityBaseUrls для приложения, класс 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;
}
...