JWKS preuzimanja preko proxyja za Springov reaktivni JWT dekoder
Ubacite klijenta u NimbusReactiveJwtDecoder i zadržite postojeće provjere izdavaoca, publike i drugih tokena pri povezivanju sa serverom resursa.
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));Koristite pouzdane vrijednosti jwkSetUri/issuer i instalirajte ovaj dekoder kroz stvarni ReactiveJwtDecoder bean ili eksplicitnu konfiguraciju servera resursa. Njegovo stvaranje pored nepromijenjenog aktivnog dekodera ne mijenja preuzimanje ključeva. Ako je pouzdani JWKS URL javan i javni posrednici su dozvoljeni, lista HTTP proxyja nudi kandidate za host i port transporta bez računa.
Prikazani validator zadržava zadane vremenske provjere i provjeru izdavaoca. Zadržite zahtjeve za publiku i sve dodatne validatore aplikacije kada zamjenjujete dekoder.
Poznati URI ključa zaobilazi otkrivanje radi njegovog lociranja. Ako druga komponenta i dalje obavlja otkrivanje ili preuzimanje tokena, konfigurirajte rutu tog klijenta zasebno.
Ovo pokriva provjeru reaktivnih JWT-ova na serveru resursa. Servlet server resursa, OAuth2 prijava i klijenti poslovnih API-ja imaju druge tačke povezivanja; sačuvajte neuspjeli URL ključa i fazu uz istragu.