JWKS lejupielādes caur starpniekserveri Spring reaktīvajam JWT dekodētājam
Ievietojiet klientu NimbusReactiveJwtDecoder un saglabājiet esošās izdevēja, auditorijas un citu marķieru pārbaudes, pievienojot to resursu serverim.
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));Izmantojiet uzticamās jwkSetUri/issuer vērtības un instalējiet šo dekodētāju caur īsto ReactiveJwtDecoder bean vai skaidru resursu servera konfigurāciju. Tā izveide blakus nemainītam aktīvam dekodētājam nemaina atslēgu iegūšanu. Ja uzticamais JWKS URL ir publisks un publiskie starpnieki ir atļauti, HTTP starpniekserveru saraksts piedāvā kandidātus transporta resursdatoram un portam bez konta.
Parādītais validators saglabā noklusējuma laika pārbaudes un izdevēja validāciju. Aizstājot dekodētāju, saglabājiet auditorijas prasības un visas papildu lietojumprogrammas validatorus.
Zināms atslēgas URI apiet atklāšanu, lai to atrastu. Ja cita komponente joprojām veic atklāšanu vai marķieru iegūšanu, konfigurējiet tā klienta maršrutu atsevišķi.
Tas aptver reaktīvo JWT pārbaudi resursu serverī. Servlet resursu serverim, OAuth2 pieteikšanās un biznesa API klientiem ir citi pievienošanas punkti; saglabājiet neizdevušos atslēgas URL un posmu kopā ar izmeklēšanu.