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

Kasutage usaldusväärseid jwkSetUri/issuer väärtusi ja paigaldage see dekooder tegeliku ReactiveJwtDecoder-binaani või ressursiserveri selgesõnalise konfiguratsiooni kaudu. Selle loomine muutmata aktiivse dekooderi kõrvale ei muuda võtmete hankimist. Kui usaldusväärne JWKS-i URL on avalik ja avalikud vahendajad on lubatud, pakub HTTP-puhverserverite loend kandidaate kontota transpordi hosti ja pordi jaoks.

Kuvatud valideerija säilitab vaikimisi ajakontrollid ja väljaandja valideerimise. Dekooderi asendamisel säilitage vaatajaskonna nõuded ja kõik täiendavad rakenduse valideerijad.

Tuntud võtme-URI möödub selle leidmiseks avastamisest. Kui mõni teine komponent teeb endiselt avastamist või tokenite hankimist, seadistage selle kliendi marsruut eraldi.

See hõlmab reaktiivsete JWT-de kontrollimist ressursiserveris. Servleti ressursiserveril, OAuth2-sisselogimisel ja äri-API klientidel on teised ühenduskohad; hoidke ebaõnnestunud võtme-URL ja etapp uurimise juures.

Seotud artiklid