Upakuaji wa JWKS kupitia proksi kwa dekoda ya JWT tendaji ya Spring
Dunga mteja ndani ya NimbusReactiveJwtDecoder na uhifadhi ukaguzi uliopo wa issuer, audience na tokeni nyingine unapoiunganisha na seva ya rasilimali.
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));Tumia thamani zinazoaminika za jwkSetUri/issuer na usakinishe dekoda hii kupitia bean halisi ya ReactiveJwtDecoder au usanidi wazi wa seva ya rasilimali. Kuunda kando ya dekoda hai isiyobadilika hakubadilishi upataji wa funguo. Ikiwa URL ya JWKS inayoaminika ni ya umma na wapatanishi wa umma wanaruhusiwa, orodha ya proksi za HTTP hutoa wagombea wa mwenyeji na bandari ya usafirishaji usiohitaji akaunti.
Kithibitishaji kilichoonyeshwa huhifadhi ukaguzi wa muda wa chaguo-msingi na uthibitishaji wa issuer. Hifadhi mahitaji ya audience na vithibitishaji vyote vya ziada vya programu unapobadilisha dekoda.
URI ya ufunguo inayojulikana inaepuka ugunduzi ili kuipata. Ikiwa sehemu nyingine bado inafanya ugunduzi au upataji wa tokeni, sanidi njia ya mteja huyo kando.
Hii inashughulikia uthibitishaji wa JWT tendaji kwenye seva ya rasilimali. Seva ya rasilimali ya Servlet, kuingia kwa OAuth2 na wateja wa API za biashara wana ndoano nyingine; hifadhi URL ya ufunguo iliyoshindwa na hatua pamoja na uchunguzi.