JWKS-nedlastinger via proxy for Springs reaktive JWT-dekoder
Sett inn klienten i NimbusReactiveJwtDecoder og behold de eksisterende kontrollene av utsteder, publikum og andre tokens når den kobles til ressursserveren.
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));Bruk de betrodde jwkSetUri/issuer-verdiene, og installer denne dekoderen via den faktiske ReactiveJwtDecoder-bønnen eller en eksplisitt ressursserverkonfigurasjon. Å opprette den ved siden av en uendret aktiv dekoder endrer ikke nøkkelhentingen. Hvis den betrodde JWKS-URL-en er offentlig og offentlige mellommenn er tillatt, gir HTTP-proxylisten kandidater for vert og port for transporten uten konto.
Validatoren som vises, beholder standard tidskontroller og utsteder-validering. Behold publikumskravene og alle ekstra applikasjonsvalidatorer når du erstatter dekoderen.
En kjent nøkkel-URI omgår oppdagelse for å lokalisere den. Hvis en annen komponent fortsatt utfører oppdagelse eller tokeninnhenting, konfigurer ruten for den klienten separat.
Dette dekker reaktiv JWT-verifisering på ressursserveren. Servlet-ressursserveren, OAuth2-innlogging og forretnings-API-klienter har andre kroker; ta vare på den mislykkede nøkkel-URL-en og trinnet sammen med undersøkelsen.