Spring NimbusJwtDecoder: tgħaddi t-tniżżil tas-sett JWK permezz ta' proxy
Agħti lid-dekoder servlet RestTemplate li jaf bil-proxy u żomm il-validaturi tal-issuer, audience u token addizzjonali meta tissostitwixxi l-konfigurazzjoni awtomatika.
Talba bearer li tidħol tista' tasal għas-server tar-riżorsi waqt li l-verifika JWT tfalli fi tniżżil JWK ħiereġ. Ikkonfigura l-klijent HTTP li juża dak id-dekoder:
var factory = new org.springframework.http.client.SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
var rest = new org.springframework.web.client.RestTemplate(factory);
var decoder = org.springframework.security.oauth2.jwt.NimbusJwtDecoder
.withJwkSetUri(jwkSetUri)
.restOperations(rest)
.build();
decoder.setJwtValidator(
org.springframework.security.oauth2.jwt.JwtValidators
.createDefaultWithIssuer(issuer));Uża l-jwkSetUri u issuer reali tal-applikazzjoni u installa dan id-dekoder fil-konfigurazzjoni reali tas-server tar-riżorsi. L-eżempju juża proxy HTTP mhux awtentikat mad-dekoder Nimbus fi stil servlet. Għal URL JWK pubbliku fuq rotta tal-proxy pubbliku permessa, il-lista tal-proxy HTTP tipprovdi valuri kandidati tal-host u tal-port.
Il-validatur tal-issuer fl-eżempju mhuwiex sostitut għall-kontrolli tal-audience meħtieġa jew kontrolli oħra tal-applikazzjoni. Żommhom meta tissostitwixxi dekoder ikkonfigurat awtomatikament; it-tibdil tar-rotta tat-tniżżil taċ-ċavetta ma jiddefinixxix liema tokens l-applikazzjoni għandha taċċetta.
Dekoder reattiv juża interface ieħor. Klijenti oħra ta' skoperta tal-issuer jew akkwist ta' tokens iżommu wkoll il-konfigurazzjoni tat-trasport tagħhom.
Ċavetti fil-cache jistgħu jġibu l-verifika tirnexxi mingħajr tniżżil ġdid. Żomm l-URL taċ-ċavetta li falliet u l-fażi tat-tiġdid jew tal-inizjalizzazzjoni meta tevalwa r-rotta.