Configurar un proxy para las descargas de metadatos SAML de Spring Security antiguo
Configure el cliente HTTP inyectado en un HTTPMetadataProvider antiguo de Spring Security SAML para descargas de metadatos del lado del servidor.
Una aplicación antigua de Spring Security SAML puede obtener los metadatos del proveedor de identidad desde el proceso del servidor con HTTPMetadataProvider. Esa descarga saliente usa el cliente HTTP que se entrega al proveedor de metadatos.
Para una aplicación que usa el estilo de configuración Spring Security SAML 1.0.x/OpenSAML 2, configure su Apache Commons HttpClient antes de inyectarlo:
org.apache.commons.httpclient.HttpClient metadataHttpClient =
new org.apache.commons.httpclient.HttpClient();
metadataHttpClient.getHostConfiguration()
.setProxy("proxy.example", 8080);Pase ese objeto configurado como argumento del constructor del cliente HTTP de org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, junto con el temporizador y la URL de metadatos existentes. En una configuración XML, el bean de cliente referenciado debe ser exactamente esta instancia configurada.
Conserve el grupo de analizadores existente del proveedor, la configuración de actualización y el gestor de metadatos circundante. Cambiar la ruta no sustituye esas responsabilidades.
La URL de metadatos sigue siendo la URL del proveedor de identidad. El host del proxy pertenece al cliente HTTP. Para una URL de metadatos aprobada y accesible públicamente, un candidato HTTP de la lista de proxies HTTP puede rellenar el host y el puerto de ese cliente cuando se permiten intermediarios públicos y no se conservan credenciales de proxy. Esta es una ruta de obtención del lado del servidor: una redirección correcta del navegador al proveedor de identidad no demuestra que el servidor de aplicaciones pueda descargar o actualizar metadatos con sus propias restricciones de red.
Use esta configuración solo para las clases antiguas que se nombran aquí. La compatibilidad moderna de Spring Security saml2 usa otra API, y un bean escrito para la extensión antigua no es intercambiable con su configuración actual de metadatos.