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 आणि टप्पा तपासणीसोबत ठेवा.

संबंधित लेख