Sena Spring Security SAML programa gali gauti tapatybės teikėjo metaduomenis iš serverio proceso naudodama HTTPMetadataProvider. Tas išorinis atsisiuntimas naudoja HTTP klientą, perduotą metaduomenų teikėjui.

Programai, kuri naudoja Spring Security SAML 1.0.x/OpenSAML 2 konfigūracijos stilių, sukonfigūruokite jos Apache Commons HttpClient prieš įterpiant:

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

Perduokite tą sukonfigūruotą objektą kaip org.opensaml.saml2.metadata.provider.HTTPMetadataProvider HTTP kliento konstruktoriaus argumentą kartu su esamu laikmačiu ir metaduomenų URL. XML konfigūracijoje nurodytas kliento bean turi būti būtent šis sukonfigūruotas egzempliorius.

Išsaugokite esamą teikėjo analizatorių telkinį, atnaujinimo konfigūraciją ir aplinkinį metaduomenų tvarkytuvą. Maršruto pakeitimas tų atsakomybių nepakeičia.

Metaduomenų URL lieka tapatybės teikėjo URL. Tarpinio serverio mazgas priklauso HTTP klientui. Patvirtintam ir viešai pasiekiamam metaduomenų URL HTTP kandidatas iš HTTP tarpinių serverių sąrašo gali užpildyti to kliento mazgą ir prievadą, kai vieši tarpininkai leidžiami ir tarpinio serverio prisijungimo duomenys nesaugomi. Tai serverio pusės gavimo kelias: sėkmingas naršyklės peradresavimas į tapatybės teikėją neparodo, kad programos serveris gali atsisiųsti ar atnaujinti metaduomenis per savo tinklo apribojimus.

Naudokite šią konfigūraciją tik čia nurodytoms senoms klasėms. Šiuolaikinė Spring Security saml2 parama naudoja kitą API, o senajam plėtiniui parašytas bean nesuderinamas su dabartine jo metaduomenų konfigūracija.

Susiję straipsniai