Gaunama bearer užklausa gali pasiekti išteklių serverį, nors JWT tikrinimas nepavyksta atliekant išeinantį JWK atsisiuntimą. Suconfigurekite HTTP klientą, kurį naudoja tas dekoderis:

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

Naudokite tikruosius programos jwkSetUri ir issuer ir įdiekite šį dekoderį į tikrąją išteklių serverio konfigūraciją. Pavyzdyje naudojamas neautentifikuotas HTTP proxy su servlet stiliaus Nimbus dekoderiu. Viešam JWK URL leidžiamame viešojo proxy maršrute HTTP proxy sąrašas pateikia galimas hosto ir porto reikšmes.

Pavyzdyje esantis issuer validatorius nepakeičia privalomų audience ar kitų programos patikrinimų. Išsaugokite juos keisdami automatiškai sukonfigūruotą dekoderį; rakto atsisiuntimo maršruto pakeitimas neapibrėžia, kuriuos tokenus programa turėtų priimti.

Reaktyvusis dekoderis naudoja kitą sąsają. Kiti issuer aptikimo ar tokenų gavimo klientai taip pat išlaiko savo transporto konfigūraciją.

Talpykloje saugomi raktai gali leisti patikrinimui pavykti be naujo atsisiuntimo. Vertindami maršrutą išsaugokite nepavykusio rakto URL ir atnaujinimo ar inicijavimo etapą.

Susiję straipsniai