Een proxy configureren voor SAML-metadata-downloads in oud Spring Security
Configureer de HTTP-client die in een oude Spring Security SAML HTTPMetadataProvider wordt geïnjecteerd voor metadata-downloads aan de serverkant.
Een oude Spring Security SAML-applicatie kan de metadata van de identiteitsprovider uit het serverproces ophalen met HTTPMetadataProvider. Die uitgaande download gebruikt de HTTP-client die aan de metadataprovider wordt gegeven.
Voor een applicatie met de configuratiestijl Spring Security SAML 1.0.x/OpenSAML 2 configureert u de Apache Commons HttpClient voordat deze wordt geïnjecteerd:
org.apache.commons.httpclient.HttpClient metadataHttpClient =
new org.apache.commons.httpclient.HttpClient();
metadataHttpClient.getHostConfiguration()
.setProxy("proxy.example", 8080);Geef dat geconfigureerde object door als constructorargument van de HTTP-client van org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, samen met de bestaande timer en metadata-URL. In een XML-configuratie moet de gerefereerde client-bean precies deze geconfigureerde instantie zijn.
Behoud de bestaande parserpool van de provider, de vernieuwingsconfiguratie en de omringende metadatabeheerder. Het wijzigen van de route vervangt die verantwoordelijkheden niet.
De metadata-URL blijft de URL van de identiteitsprovider. De proxyhost hoort op de HTTP-client. Voor een goedgekeurde, openbaar bereikbare metadata-URL kan een HTTP-kandidaat uit de HTTP-proxylijst de host en poort van die client invullen wanneer openbare tussenpartijen zijn toegestaan en er geen proxyreferenties worden bewaard. Dit is een ophaalpad aan de serverkant: een geslaagde browseromleiding naar de identiteitsprovider toont niet aan dat de applicatieserver metadata kan downloaden of vernieuwen via zijn eigen netwerkbeperkingen.
Gebruik deze configuratie alleen voor de oude klassen die hier worden genoemd. Moderne Spring Security saml2-ondersteuning gebruikt een andere API, en een bean die voor de oude extensie is geschreven is niet uitwisselbaar met de huidige metadataconfiguratie.