Spring NimbusJwtDecoder: JWK सेट डाउनलोड को प्रॉक्सी करें
servlet डिकोडर को प्रॉक्सी-सजग RestTemplate दें और ऑटो-कॉन्फ़िगरेशन बदलते समय issuer, audience तथा अतिरिक्त टोकन सत्यापनकर्ता बनाए रखें।
आने वाला bearer अनुरोध संसाधन सर्वर तक पहुँच सकता है, जबकि JWT सत्यापन बाहरी JWK डाउनलोड पर विफल हो जाता है। उस डिकोडर द्वारा प्रयुक्त HTTP क्लाइंट को कॉन्फ़िगर करें:
var factory = new org.springframework.http.client.SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
var rest = new org.springframework.web.client.RestTemplate(factory);
var decoder = org.springframework.security.oauth2.jwt.NimbusJwtDecoder
.withJwkSetUri(jwkSetUri)
.restOperations(rest)
.build();
decoder.setJwtValidator(
org.springframework.security.oauth2.jwt.JwtValidators
.createDefaultWithIssuer(issuer));ऐप्लिकेशन के वास्तविक jwkSetUri और issuer का उपयोग करें और इस डिकोडर को वास्तविक संसाधन-सर्वर कॉन्फ़िगरेशन में स्थापित करें। उदाहरण servlet-शैली के Nimbus डिकोडर के साथ बिना प्रमाणीकरण वाला HTTP प्रॉक्सी उपयोग करता है। अनुमत सार्वजनिक-प्रॉक्सी मार्ग पर सार्वजनिक JWK URL के लिए HTTP प्रॉक्सी सूची संभावित host और port मान देती है।
उदाहरण का issuer सत्यापनकर्ता आवश्यक audience या अन्य ऐप्लिकेशन जाँचों का विकल्प नहीं है। स्वतः कॉन्फ़िगर किए गए डिकोडर को बदलते समय उन्हें बनाए रखें; कुंजी-डाउनलोड मार्ग बदलने से यह निर्धारित नहीं होता कि ऐप्लिकेशन को कौन-से टोकन स्वीकार करने चाहिए।
प्रतिक्रियाशील डिकोडर दूसरा इंटरफ़ेस उपयोग करता है। अन्य issuer-खोज या टोकन-प्राप्ति क्लाइंट भी अपना परिवहन कॉन्फ़िगरेशन रखते हैं।
कैश की गई कुंजियाँ नए डाउनलोड के बिना सत्यापन सफल कर सकती हैं। मार्ग का मूल्यांकन करते समय विफल कुंजी URL और रीफ़्रेश या इनिशियलाइज़ेशन चरण सुरक्षित रखें।