var transport = reactor.netty.http.client.HttpClient.create()
    .proxy(spec -> spec
        .type(reactor.netty.transport.ProxyProvider.Proxy.HTTP)
        .host("proxy.example")
        .port(8080));
var webClient = org.springframework.web.reactive.function.client.WebClient
    .builder()
    .clientConnector(new org.springframework.http.client.reactive
        .ReactorClientHttpConnector(transport))
    .build();

var decoder = org.springframework.security.oauth2.jwt.NimbusReactiveJwtDecoder
    .withJwkSetUri(jwkSetUri)
    .webClient(webClient)
    .build();
decoder.setJwtValidator(org.springframework.security.oauth2.jwt.JwtValidators
    .createDefaultWithIssuer(issuer));

Ишенимдүү jwkSetUri/issuer маанилерин колдонуп, бул декодерди чыныгы ReactiveJwtDecoder бинин же ресурс серверинин ачык конфигурациясы аркылуу орнотуңуз. Аны өзгөртүлбөгөн активдүү декодердин жанында түзүү ачкыч алууну өзгөртпөйт. Эгер ишенимдүү JWKS URL коомдук болсо жана коомдук ортомчуларга жол берилсе, HTTP прокси тизмеси эсепсиз транспорттун хосту жана порту үчүн талапкерлерди сунуштайт.

Көрсөтүлгөн валидатор демейки убакыт текшерүүлөрүн жана issuer текшерүүсүн сактайт. Декодерди алмаштырганда audience талаптарын жана колдонмонун бардык кошумча валидаторлорун сактаңыз.

Белгилүү ачкыч URI аны табуу үчүн аныктоону айланып өтөт. Эгер башка компонент дагы эле аныктоо же токен алууну аткарса, ошол кардардын маршрутун өзүнчө конфигурациялаңыз.

Бул ресурс сервериндеги реактивдүү JWT текшерүүсүн камтыйт. Servlet ресурс серверинин, OAuth2 кирүүнүн жана бизнес API кардарларынын башка илгичтери бар; ийгиликсиз ачкыч URL'ин жана этапты иликтөө менен бирге сактаңыз.

Тектеш макалалар