Stara aplikacja Spring Security SAML może pobierać metadane dostawcy tożsamości z procesu serwera za pomocą HTTPMetadataProvider. To wychodzące pobieranie korzysta z klienta HTTP przekazanego dostawcy metadanych.

W aplikacji korzystającej ze stylu konfiguracji Spring Security SAML 1.0.x/OpenSAML 2 skonfiguruj jej Apache Commons HttpClient przed wstrzyknięciem:

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

Przekaż ten skonfigurowany obiekt jako argument konstruktora klienta HTTP org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, razem z istniejącym timerem i adresem URL metadanych. W konfiguracji XML wskazany bean klienta musi być właśnie tą skonfigurowaną instancją.

Zachowaj istniejącą pulę parserów dostawcy, konfigurację odświeżania i otaczający menedżer metadanych. Zmiana trasy nie zastępuje tych obowiązków.

Adres URL metadanych pozostaje adresem dostawcy tożsamości. Host proxy należy do klienta HTTP. Dla zatwierdzonego, publicznie dostępnego adresu URL metadanych kandydat HTTP z listy proxy HTTP może wypełnić host i port tego klienta, gdy publiczni pośrednicy są dozwoleni i nie są przechowywane dane logowania proxy. To ścieżka pobierania po stronie serwera: udane przekierowanie przeglądarki do dostawcy tożsamości nie dowodzi, że serwer aplikacji może pobrać lub odświeżyć metadane przez własne ograniczenia sieciowe.

Tej konfiguracji używaj wyłącznie dla wymienionych tu starych klas. Nowoczesne wsparcie Spring Security saml2 korzysta z innego API, a bean napisany dla starego rozszerzenia nie jest wymienny z jego obecną konfiguracją metadanych.

Powiązane artykuły