Spring NimbusJwtDecoder: den JWK-Set-Download iwwer e Proxy leeden
Gitt dem Servlet-Decoder e proxybewosste RestTemplate a behält d'Issuer-, Audience- an zousätzlech Token-Validatoren, wann Dir d'Autokonfiguratioun ersetzt.
Eng erakommend Bearer-Ufro kann de Ressourceserver erreechen, während d'JWT-Validéierung bei engem erausgängige JWK-Download feelgeet. Konfiguréiert den HTTP-Client, deen dësen Decoder benotzt:
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));Benotzt déi richteg jwkSetUri an issuer vun der Applikatioun a installéiert dësen Decoder an der tatsächlecher Ressourceserver-Konfiguratioun. D'Beispill benotzt en net authentifizéierte HTTP-Proxy mam Nimbus-Decoder am Servlet-Stil. Fir eng ëffentlech JWK-URL op engem erlaabten ëffentleche Proxy-Wee bitt d'HTTP-Proxy-Lëscht méiglech Host- a Portwäerter.
Den Issuer-Validator am Beispill ersetzt net déi erfuerderlech Audience- oder aner Applikatiounsprüfungen. Behält se, wann Dir en automatesch konfiguréierten Decoder ersetzt; d'Ännerung vum Schlëssel-Download-Wee bestëmmt net, wéi eng Tokenen d'Applikatioun akzeptéiere soll.
En reaktiven Decoder benotzt eng aner Schnëttstell. Aner Cliente fir Issuer-Entdeckung oder Token-Erreeche behalen och hir eege Transportkonfiguratioun.
Gecachte Schlësselen kënnen d'Validéierung ouni en neien Download geléngen. Behält d'URL vum feelgeschloene Schlëssel an d'Erfrëschungs- oder Initialiséierungsphas beim Bewäerten vum Wee.