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-ഉം ഘട്ടവും അന്വേഷണത്തോടൊപ്പം സൂക്ഷിക്കുക.

അനുബന്ധ ലേഖനങ്ങൾ