Un'applicazione Spring Security SAML legacy può recuperare i metadati del provider di identità dal processo del server usando HTTPMetadataProvider. Quel download in uscita usa il client HTTP fornito al provider di metadati.

Per un'applicazione che usa lo stile di configurazione Spring Security SAML 1.0.x/OpenSAML 2, configurate il suo Apache Commons HttpClient prima di iniettarlo:

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

Passate quell'oggetto configurato come argomento del costruttore del client HTTP di org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, insieme al timer e all'URL dei metadati esistenti. In una configurazione XML, il bean client referenziato deve essere esattamente questa istanza configurata.

Mantenete il pool di parser esistente del provider, la configurazione di aggiornamento e il gestore di metadati circostante. Cambiare la rotta non sostituisce queste responsabilità.

L'URL dei metadati resta l'URL del provider di identità. L'host del proxy appartiene al client HTTP. Per un URL di metadati approvato e raggiungibile pubblicamente, un candidato HTTP dall'elenco di proxy HTTP può riempire host e porta di quel client quando gli intermediari pubblici sono consentiti e non vengono conservate credenziali proxy. Questo è un percorso di recupero lato server: un reindirizzamento riuscito del browser al provider di identità non dimostra che il server applicativo possa scaricare o aggiornare i metadati attraverso le proprie restrizioni di rete.

Usate questa configurazione solo per le classi legacy qui nominate. Il supporto moderno Spring Security saml2 usa un'altra API, e un bean scritto per la vecchia estensione non è intercambiabile con la sua configurazione attuale dei metadati.

Articoli correlati