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));

Použite dôveryhodné hodnoty jwkSetUri/issuer a tento dekodér nainštalujte cez skutočný bean ReactiveJwtDecoder alebo explicitnú konfiguráciu resource servera. Vytvorenie vedľa nezmeneného aktívneho dekodéra nemení získavanie kľúčov. Ak je dôveryhodná adresa JWKS verejná a verejní sprostredkovatelia sú povolení, zoznam HTTP proxy ponúka kandidátov pre hostiteľa a port transportu bez účtu.

Zobrazený validátor zachováva predvolené časové kontroly a overenie vydavateľa. Pri nahradení dekodéra zachovajte požiadavky na publikum a všetky ďalšie validátory aplikácie.

Známe URI kľúča obchádza zisťovanie jeho umiestnenia. Ak iná komponenta stále vykonáva zisťovanie alebo získavanie tokenov, nakonfigurujte trasu tohto klienta samostatne.

Toto pokrýva overovanie reaktívnych JWT na resource serveri. Servletový resource server, prihlásenie OAuth2 a klienti obchodných API majú iné háčiky; uchovajte neúspešnú adresu kľúča a fázu pri vyšetrovaní.

Súvisiace články