JWKS-letöltések proxy-n keresztül a Spring reaktív JWT-dekóderéhez
Illessze be a klienst a NimbusReactiveJwtDecoderbe, és őrizze meg a meglévő kibocsátó-, közönség- és egyéb tokenellenőrzéseket, amikor az erőforrás-kiszolgálóhoz csatlakoztatja.
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));Használja a megbízható jwkSetUri/issuer értékeket, és telepítse ezt a dekódert a tényleges ReactiveJwtDecoder beanen vagy az erőforrás-kiszolgáló kifejezett konfigurációján keresztül. Ha változatlan aktív dekóder mellé hozza létre, az nem változtatja meg a kulcslekérést. Ha a megbízható JWKS URL nyilvános, és a nyilvános közvetítők engedélyezettek, a HTTP-proxy lista jelölteket kínál a fiók nélküli átvitel hosztjához és portjához.
A bemutatott ellenőrző megtartja az alapértelmezett időellenőrzéseket és a kibocsátó érvényesítését. A dekóder cseréjekor tartsa meg a közönségkövetelményeket és az alkalmazás minden további ellenőrzőjét.
Egy ismert kulcs-URI megkerüli a felderítést a megtalálásához. Ha egy másik összetevő továbbra is felderítést vagy tokenbeszerzést végez, állítsa be külön az adott kliens útvonalát.
Ez a reaktív JWT-ellenőrzést fedi le az erőforrás-kiszolgálón. A Servlet erőforrás-kiszolgálónak, az OAuth2-bejelentkezésnek és az üzleti API-klienseknek más horgai vannak; őrizze meg a sikertelen kulcs URL-jét és a szakaszt a vizsgálatnál.