Configurarea unui proxy pentru descărcările de metadate SAML în Spring Security vechi
Configurați clientul HTTP injectat într-un HTTPMetadataProvider Spring Security SAML vechi pentru descărcări de metadate pe server.
O aplicație Spring Security SAML veche poate prelua metadatele furnizorului de identitate din procesul serverului cu HTTPMetadataProvider. Acea descărcare ieșită folosește clientul HTTP dat furnizorului de metadate.
Pentru o aplicație care folosește stilul de configurare Spring Security SAML 1.0.x/OpenSAML 2, configurați Apache Commons HttpClient înainte de injectare:
org.apache.commons.httpclient.HttpClient metadataHttpClient =
new org.apache.commons.httpclient.HttpClient();
metadataHttpClient.getHostConfiguration()
.setProxy("proxy.example", 8080);Transmiteți acel obiect configurat ca argument al constructorului clientului HTTP din org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, împreună cu timerul și URL-ul de metadate existente. Într-o configurație XML, bean-ul de client referit trebuie să fie exact această instanță configurată.
Păstrați pool-ul de parsere existent al furnizorului, configurația de reîmprospătare și managerul de metadate din jur. Schimbarea rutei nu înlocuiește aceste responsabilități.
URL-ul de metadate rămâne URL-ul furnizorului de identitate. Gazda proxy aparține clientului HTTP. Pentru un URL de metadate aprobat și accesibil public, un candidat HTTP din lista de proxy HTTP poate completa gazda și portul acelui client când intermediarii publici sunt permisibili și nu se păstrează acreditări de proxy. Aceasta este o cale de preluare pe server: o redirecționare reușită a browserului către furnizorul de identitate nu arată că serverul aplicației poate descărca sau reîmprospăta metadate prin propriile restricții de rețea.
Folosiți această configurație numai pentru clasele vechi numite aici. Suportul modern Spring Security saml2 folosește alt API, iar un bean scris pentru extensia veche nu este interschimbabil cu configurația sa actuală de metadate.