Unha aplicación antiga de Spring Security SAML pode obter os metadatos do provedor de identidade desde o proceso do servidor con HTTPMetadataProvider. Esa descarga saínte usa o cliente HTTP que se entrega ao provedor de metadatos.

Para unha aplicación que usa o estilo de configuración Spring Security SAML 1.0.x/OpenSAML 2, configure o seu Apache Commons HttpClient antes de inxectalo:

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

Pase ese obxecto configurado como argumento do construtor do cliente HTTP de org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, xunto co temporizador e o URL de metadatos existentes. Nunha configuración XML, o bean de cliente referenciado debe ser exactamente esta instancia configurada.

Conserve o conxunto de analizadores existente do provedor, a configuración de actualización e o xestor de metadatos circundante. Cambiar a ruta non substitúe esas responsabilidades.

O URL de metadatos segue a ser o URL do provedor de identidade. O host do proxy pertence ao cliente HTTP. Para un URL de metadatos aprobado e accesible publicamente, un candidato HTTP da lista de proxies HTTP pode encher o host e o porto dese cliente cando se permiten intermediarios públicos e non se conservan credenciais de proxy. Esta é unha ruta de obtención no servidor: unha redirección correcta do navegador ao provedor de identidade non demostra que o servidor de aplicacións poida descargar ou actualizar metadatos coas súas propias restricións de rede.

Use esta configuración só para as clases antigas que se nomean aquí. A compatibilidade moderna de Spring Security saml2 usa outra API, e un bean escrito para a extensión antiga non é intercambiable coa súa configuración actual de metadatos.

Artigos relacionados