Ρύθμιση διαμεσολαβητή για λήψεις μεταδεδομένων SAML σε παλιό Spring Security
Ρυθμίστε τον πελάτη HTTP που εισάγεται σε παλιό Spring Security SAML HTTPMetadataProvider για λήψεις μεταδεδομένων από την πλευρά του διακομιστή.
Μια παλιά εφαρμογή Spring Security SAML μπορεί να ανακτήσει τα μεταδεδομένα του παρόχου ταυτότητας από τη διεργασία του διακομιστή χρησιμοποιώντας το HTTPMetadataProvider. Αυτή η εξερχόμενη λήψη χρησιμοποιεί τον πελάτη HTTP που δίνεται στον πάροχο μεταδεδομένων.
Για μια εφαρμογή που χρησιμοποιεί το στυλ ρύθμισης Spring Security SAML 1.0.x/OpenSAML 2, ρυθμίστε το Apache Commons HttpClient της πριν το εισαγάγετε:
org.apache.commons.httpclient.HttpClient metadataHttpClient =
new org.apache.commons.httpclient.HttpClient();
metadataHttpClient.getHostConfiguration()
.setProxy("proxy.example", 8080);Δώστε αυτό το ρυθμισμένο αντικείμενο ως όρισμα κατασκευαστή του πελάτη HTTP του org.opensaml.saml2.metadata.provider.HTTPMetadataProvider, μαζί με το υπάρχον χρονόμετρο και τη διεύθυνση URL μεταδεδομένων. Σε ρύθμιση XML, το αναφερόμενο bean πελάτη πρέπει να είναι ακριβώς αυτό το ρυθμισμένο στιγμιότυπο.
Διατηρήστε την υπάρχουσα δεξαμενή αναλυτών του παρόχου, τη ρύθμιση ανανέωσης και τον γύρω διαχειριστή μεταδεδομένων. Η αλλαγή της διαδρομής δεν αντικαθιστά αυτές τις ευθύνες.
Η διεύθυνση URL των μεταδεδομένων παραμένει η διεύθυνση URL του παρόχου ταυτότητας. Ο κεντρικός υπολογιστής του διαμεσολαβητή ανήκει στον πελάτη HTTP. Για μια εγκεκριμένη, δημόσια προσβάσιμη διεύθυνση URL μεταδεδομένων, ένας υποψήφιος HTTP από τη λίστα διαμεσολαβητών HTTP μπορεί να συμπληρώσει τον κεντρικό υπολογιστή και τη θύρα αυτού του πελάτη όταν επιτρέπονται δημόσιοι ενδιάμεσοι και δεν διατηρούνται διαπιστευτήρια διαμεσολαβητή. Αυτή είναι μια διαδρομή ανάκτησης από την πλευρά του διακομιστή: μια επιτυχής ανακατεύθυνση του προγράμματος περιήγησης στον πάροχο ταυτότητας δεν δείχνει ότι ο διακομιστής εφαρμογών μπορεί να λάβει ή να ανανεώσει μεταδεδομένα μέσω των δικών του περιορισμών δικτύου.
Χρησιμοποιήστε αυτή τη ρύθμιση μόνο για τις παλιές κλάσεις που αναφέρονται εδώ. Η σύγχρονη υποστήριξη Spring Security saml2 χρησιμοποιεί άλλο API, και ένα bean γραμμένο για την παλιά επέκταση δεν είναι εναλλάξιμο με την τρέχουσα ρύθμιση μεταδεδομένων της.