Кіріс bearer сұранысы ресурс серверіне жетуі мүмкін, бірақ JWT тексеруі сыртқа шығатын JWK жүктеуінде сәтсіз аяқталады. Осы декодер қолданатын HTTP клиентін конфигурациялаңыз:

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

Қосымшаның нақты jwkSetUri және issuer мәндерін пайдаланыңыз және осы декодерді нақты ресурс-сервер конфигурациясына орнатыңыз. Мысалда servlet стиліндегі Nimbus декодерімен аутентификациясыз HTTP прокси қолданылады. Рұқсат етілген жалпыға ортақ прокси бағытындағы жалпыға ортақ JWK URL үшін HTTP прокси тізімі ықтимал хост және порт мәндерін ұсынады.

Мысалдағы issuer валидаторы міндетті audience немесе қосымшаның басқа тексерулерін алмастырмайды. Автоматты конфигурацияланған декодерді ауыстырғанда оларды сақтаңыз; кілтті жүктеу бағытын өзгерту қосымшаның қандай токендерді қабылдауы керегін анықтамайды.

Реактивті декодер басқа интерфейсті қолданады. Issuer-ды анықтау немесе токен алу клиенттері де өздерінің тасымалдау конфигурациясын сақтайды.

Кэштегі кілттер жаңа жүктеусіз тексерудің сәтті болуына мүмкіндік береді. Бағытты бағалау кезінде сәтсіз кілт URL-ін және жаңарту немесе инициализация кезеңін сақтаңыз.

Қатысты мақалалар