Spring के रिएक्टिव JWT डिकोडर के लिए प्रॉक्सी JWKS डाउनलोड
क्लाइंट को NimbusReactiveJwtDecoder में इंजेक्ट करें और रिसोर्स सर्वर से जोड़ते समय मौजूदा issuer, audience और अन्य टोकन जाँच बनाए रखें।
var transport = reactor.netty.http.client.HttpClient.create()
.proxy(spec -> spec
.type(reactor.netty.transport.ProxyProvider.Proxy.HTTP)
.host("proxy.example")
.port(8080));
var webClient = org.springframework.web.reactive.function.client.WebClient
.builder()
.clientConnector(new org.springframework.http.client.reactive
.ReactorClientHttpConnector(transport))
.build();
var decoder = org.springframework.security.oauth2.jwt.NimbusReactiveJwtDecoder
.withJwkSetUri(jwkSetUri)
.webClient(webClient)
.build();
decoder.setJwtValidator(org.springframework.security.oauth2.jwt.JwtValidators
.createDefaultWithIssuer(issuer));विश्वसनीय jwkSetUri/issuer मानों का उपयोग करें और इस डिकोडर को वास्तविक ReactiveJwtDecoder बीन या स्पष्ट रिसोर्स-सर्वर कॉन्फ़िगरेशन के माध्यम से इंस्टॉल करें। अपरिवर्तित सक्रिय डिकोडर के साथ इसे बनाने से कुंजी प्राप्ति नहीं बदलती। यदि विश्वसनीय JWKS URL सार्वजनिक है और सार्वजनिक मध्यस्थों की अनुमति है, तो HTTP प्रॉक्सी सूची बिना खाते वाले ट्रांसपोर्ट के होस्ट और पोर्ट के लिए उम्मीदवार देती है।
दिखाया गया सत्यापनकर्ता डिफ़ॉल्ट समय जाँच और issuer सत्यापन बनाए रखता है। डिकोडर बदलते समय audience आवश्यकताएँ और सभी अतिरिक्त एप्लिकेशन सत्यापनकर्ता बनाए रखें।
ज्ञात कुंजी URI उसे खोजने के लिए डिस्कवरी को दरकिनार करता है। यदि कोई अन्य घटक अभी भी डिस्कवरी या टोकन प्राप्ति करता है, तो उस क्लाइंट का मार्ग अलग से कॉन्फ़िगर करें।
यह रिसोर्स सर्वर पर रिएक्टिव JWT सत्यापन को कवर करता है। Servlet रिसोर्स सर्वर, OAuth2 लॉगिन और बिज़नेस API क्लाइंट के अन्य हुक हैं; विफल कुंजी URL और चरण को जाँच के साथ रखें।