Dolazni bearer zahtev može stići do servera resursa dok verifikacija JWT-a ne uspe na odlaznom preuzimanju JWK-a. Konfigurišite HTTP klijent koji taj dekoder koristi:

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));

Koristite stvarne jwkSetUri i issuer aplikacije i instalirajte ovaj dekoder u stvarnu konfiguraciju servera resursa. Primer koristi neautentifikovani HTTP proxy sa Nimbus dekoderom u servlet stilu. Za javni JWK URL na dozvoljenoj ruti javnog proxyja, lista HTTP proxyja nudi moguće vrednosti hosta i porta.

Validator issuer u primeru nije zamena za obavezne provere audience ili druge provere aplikacije. Zadržite ih pri zameni automatski konfigurisanog dekodera; promena rute preuzimanja ključa ne određuje koje tokene aplikacija treba da prihvati.

Reaktivni dekoder koristi drugo sučelje. Drugi klijenti za otkrivanje issuer ili pribavljanje tokena takođe zadržavaju sopstvenu transportnu konfiguraciju.

Keširani ključevi mogu omogućiti uspešnu verifikaciju bez novog preuzimanja. Zadržite URL neuspešnog ključa i fazu osvežavanja ili inicijalizacije pri proceni rute.

Povezani članci