Spring NimbusJwtDecoder: JWK-komplekti allalaadimise proksimine
Andke servlet-dekooderile puhverserverit tundev RestTemplate ning säilitage issuer-, audience- ja täiendavad tokeni valideerijad automaatse konfiguratsiooni asendamisel.
Sissetulev bearer-päring võib jõuda ressursiserverisse, samal ajal kui JWT-kontroll ebaõnnestub väljamineval JWK-allalaadimisel. Seadistage HTTP-klient, mida see dekooder kasutab:
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));Kasutage rakenduse tegelikke jwkSetUri ja issuer ning paigaldage see dekooder tegelikku ressursiserveri konfiguratsiooni. Näide kasutab autentimata HTTP-puhverserverit servlet-stiilis Nimbus-dekooderiga. Lubatud avaliku puhverserveri marsruudil asuva avaliku JWK-URL-i jaoks pakub HTTP-puhverserverite loend võimalikke hosti- ja pordiväärtusi.
Näites olev issuer-valideerija ei asenda nõutavaid audience-kontrolle ega muid rakenduse kontrolle. Säilitage need automaatselt konfigureeritud dekooderi asendamisel; võtme allalaadimise marsruudi muutmine ei määra, milliseid tokeneid rakendus peaks aktsepteerima.
Reaktiivne dekooder kasutab teist liidest. Ka teised issuer-tuvastuse või tokeni hankimise kliendid säilitavad oma transpordikonfiguratsiooni.
Vahemällu salvestatud võtmed võivad võimaldada kontrolli õnnestumise ilma uue allalaadimiseta. Marsruudi hindamisel säilitage ebaõnnestunud võtme URL ja värskendus- või algatamisetapp.