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

Uża l-valuri jwkSetUri/issuer fdati u installa dan id-dekoder permezz tal-bean ReactiveJwtDecoder reali jew konfigurazzjoni espliċita tas-server tar-riżorsi. Il-ħolqien tiegħu ħdejn dekoder attiv mhux mibdul ma jbiddilx l-irkupru tal-keys. Jekk l-URL JWKS fdato huwa pubbliku u l-intermedjarji pubbliċi huma permessi, il-lista tal-proxy HTTP tipprovdi kandidati għall-host u l-port tat-trasport mingħajr kont.

Il-validatur muri jżomm il-verifiki tal-ħin default u l-validazzjoni tal-issuer. Żomm ir-rekwiżiti tal-udjenza u l-validaturi kollha addizzjonali tal-applikazzjoni meta tibdel id-dekoder.

URI tal-key magħruf jevita l-iskoperta biex jinstab. Jekk komponent ieħor għadu jagħmel skoperta jew akkwist ta' tokens, ikkonfigura r-rotta ta' dak il-klijent b'mod separat.

Dan ikopri l-verifika tal-JWT reattivi fis-server tar-riżorsi. Is-server tar-riżorsi Servlet, id-dħul OAuth2 u l-klijenti tal-API tan-negozju għandhom hook oħra; żomm l-URL tal-key li falliet u l-istadju mal-investigazzjoni.

Artikli relatati