Старо приложение със Spring Security SAML може да извлича метаданни на доставчик на идентичност от сървърния процес чрез HTTPMetadataProvider. Това изходящо изтегляне използва HTTP клиента, подаден на доставчика на метаданни.

За приложение, което използва стила на конфигурация Spring Security SAML 1.0.x/OpenSAML 2, настройте неговия Apache Commons HttpClient преди инжектирането:

org.apache.commons.httpclient.HttpClient metadataHttpClient =
    new org.apache.commons.httpclient.HttpClient();
metadataHttpClient.getHostConfiguration()
    .setProxy("proxy.example", 8080);

Подайте този конфигуриран обект като аргумент на конструктора за HTTP клиент на org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, заедно със съществуващия таймер и URL на метаданните. В XML конфигурация реферираният bean на клиента трябва да е точно този конфигуриран екземпляр.

Запазете съществуващия пул от парсери на доставчика, конфигурацията за опресняване и обкръжаващия мениджър на метаданни. Смяната на маршрута не заменя тези отговорности.

URL адресът на метаданните остава URL адресът на доставчика на идентичност. Хостът на проксито принадлежи на HTTP клиента. За одобрен, публично достъпен URL на метаданни HTTP кандидат от списъка с HTTP проксита може да попълни хоста и порта на този клиент, когато публичните посредници са разрешени и не се запазват идентификационни данни за прокси. Това е път за извличане от страната на сървъра: успешното пренасочване на браузъра към доставчика на идентичност не показва, че сървърът на приложението може да изтегля или опреснява метаданни през собствените си мрежови ограничения.

Използвайте тази конфигурация само за старите класове, посочени тук. Съвременната поддръжка на Spring Security saml2 използва друг API и bean, написан за старото разширение, не е взаимозаменяем с текущата му конфигурация на метаданни.

Подобни статии