En äldre Spring Security SAML-applikation kan hämta identitetsleverantörens metadata från serverprocessen med HTTPMetadataProvider. Den utgående nedladdningen använder HTTP-klienten som ges till metadataleverantören.

För en applikation som använder konfigurationsstilen Spring Security SAML 1.0.x/OpenSAML 2 konfigurerar du dess Apache Commons HttpClient innan den injiceras:

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

Skicka det konfigurerade objektet som konstruktorargument för HTTP-klienten i org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, tillsammans med den befintliga timern och metadata-URL:en. I en XML-konfiguration måste den refererade klientbeanen vara just denna konfigurerade instans.

Behåll leverantörens befintliga parserpool, uppdateringskonfiguration och omgivande metadatachef. Att ändra vägen ersätter inte dessa ansvar.

Metadata-URL:en förblir identitetsleverantörens URL. Proxyvärden hör hemma på HTTP-klienten. För en godkänd, offentligt nåbar metadata-URL kan en HTTP-kandidat från HTTP-proxylistan fylla i värd och port för den klienten när offentliga mellanhänder är tillåtna och inga proxyuppgifter sparas. Detta är en hämtningsväg på serversidan: en lyckad webbläsaromdirigering till identitetsleverantören visar inte att applikationsservern kan ladda ner eller uppdatera metadata genom sina egna nätverksbegränsningar.

Använd den här konfigurationen endast för de äldre klasser som nämns här. Modernt stöd för Spring Security saml2 använder ett annat API, och en bean skriven för det gamla tillägget kan inte bytas ut mot dess nuvarande metadatakonfiguration.

Relaterade artiklar