Proxy-JWKS-aftellings vir Spring se reaktiewe JWT-dekodeerder
Voeg die kliënt by NimbusReactiveJwtDecoder in en behou die bestaande uitreiker-, gehoor- en ander tokenkontroles wanneer jy dit by die hulpbronbediener aansluit.
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));Gebruik die vertroude jwkSetUri/issuer-waardes en installeer hierdie dekodeerder via die werklike ReactiveJwtDecoder-bean of eksplisiete konfigurasie van die hulpbronbediener. Om dit langs 'n onveranderde aktiewe dekodeerder te skep, verander nie sleutelonttrekking nie. As die vertroude JWKS-URL publiek is en publieke tussengangers toegelaat word, verskaf die HTTP-proxylys kandidate vir die gasheer en poort van die vervoer sonder rekening.
Die getoonde valideerder behou die standaard tydkontroles en uitreikervalidasi. Behou die gehoorvereistes en alle bykomende valideerders van die toepassing wanneer jy die dekodeerder vervang.
'n Bekende sleutel-URI omseil ontdekking om dit te vind. As 'n ander komponent steeds ontdekking of tokenverkryging doen, konfigureer daardie kliënt se roete afsonderlik.
Dit dek reaktiewe JWT-verifikasie op die hulpbronbediener. Die Servlet-hulpbronbediener, OAuth2-aanmelding en besigheids-API-kliënte het ander hake; hou die mislukte sleutel-URL en die stadium by die ondersoek.