JWKS-nedlastingar via proxy for Springs reaktive JWT-dekodar
Set inn klienten i NimbusReactiveJwtDecoder og hald på dei eksisterande kontrollane av utgivar, publikum og andre token når han blir kopla 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 dei betrudde jwkSetUri/issuer-verdiane og installer denne dekodaren via den faktiske ReactiveJwtDecoder-bønna eller ein eksplisitt ressursserverkonfigurasjon. Å lage han ved sida av ein uendra aktiv dekodar endrar ikkje nøkkelhentinga. Viss den betrudde JWKS-URL-en er offentleg og offentlege mellomledd er tillatne, gir HTTP-proxylista kandidatar for vert og port for transporten utan konto.
Validatoren som blir vist, held på standard tidskontrollar og utgivarvalidering. Hald på publikumskrava og alle ekstra applikasjonsvalidatorar når du byter ut dekodaren.
Ein kjend nøkkel-URI omgår oppdaging for å lokalisere han. Viss ein annan komponent framleis utfører oppdaging eller tokeninnhenting, konfigurer ruta for den klienten separat.
Dette dekkjer reaktiv JWT-verifisering på ressursserveren. Servlet-ressursserveren, OAuth2-innlogging og forretnings-API-klientar har andre krokart; ta vare på den mislukka nøkkel-URL-en og trinnet saman med undersøkinga.