JWKS preuzimanja preko proxyja za Springov reaktivni JWT dekoder
Ubacite klijenta u NimbusReactiveJwtDecoder i zadržite postojeće provjere izdavatelja, publike i drugih tokena pri povezivanju s poslužiteljem 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));Upotrijebite pouzdane vrijednosti jwkSetUri/issuer i instalirajte ovaj dekoder kroz stvarni ReactiveJwtDecoder bean ili izričitu konfiguraciju poslužitelja resursa. Stvaranje pokraj nepromijenjenog aktivnog dekodera ne mijenja dohvat ključeva. Ako je pouzdani JWKS URL javan i javni posrednici su dopušteni, popis HTTP proxyja nudi kandidate za host i port prijenosa bez računa.
Prikazani validator zadržava zadane vremenske provjere i provjeru izdavatelja. Zadržite zahtjeve publike i sve dodatne validatore aplikacije kada zamjenjujete dekoder.
Poznati URI ključa zaobilazi otkrivanje radi njegova lociranja. Ako druga komponenta još obavlja otkrivanje ili dohvat tokena, konfigurirajte rutu tog klijenta zasebno.
Ovo pokriva provjeru reaktivnih JWT-ova na poslužitelju resursa. Servlet poslužitelj resursa, OAuth2 prijava i klijenti poslovnih API-ja imaju druge točke povezivanja; sačuvajte neuspjeli URL ključa i fazu uz istragu.