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 र चरण अनुसन्धानसँग राख्नुहोस्।