Una aplicació antiga de Spring Security SAML pot obtenir les metadades del proveïdor d'identitat des del procés del servidor amb HTTPMetadataProvider. Aquesta baixada sortint fa servir el client HTTP que es proporciona al proveïdor de metadades.

Per a una aplicació que utilitza l'estil de configuració Spring Security SAML 1.0.x/OpenSAML 2, configureu el seu Apache Commons HttpClient abans d'injectar-lo:

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

Passeu aquest objecte configurat com a argument del constructor del client HTTP de org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, juntament amb el temporitzador i l'URL de metadades existents. En una configuració XML, el bean de client referenciat ha de ser aquesta mateixa instància configurada.

Conserveu el pool d'analitzadors existent del proveïdor, la configuració d'actualització i el gestor de metadades del voltant. Canviar la ruta no substitueix aquestes responsabilitats.

L'URL de metadades continua sent l'URL del proveïdor d'identitat. L'amfitrió del proxy pertany al client HTTP. Per a un URL de metadades aprovat i accessible públicament, un candidat HTTP de la llista de proxys HTTP pot omplir l'amfitrió i el port d'aquest client quan es permeten intermediaris públics i no es conserven credencials de proxy. Aquest és un camí d'obtenció des del servidor: una redirecció correcta del navegador al proveïdor d'identitat no demostra que el servidor d'aplicacions pugui baixar o actualitzar metadades amb les seves pròpies restriccions de xarxa.

Utilitzeu aquesta configuració només per a les classes antigues que s'esmenten aquí. El suport modern de Spring Security saml2 fa servir una altra API, i un bean escrit per a l'extensió antiga no és intercanviable amb la seva configuració de metadades actual.

Articles relacionats