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

Benotzt déi vertrauenswürdeg jwkSetUri/issuer-Wäerter an installéiert dësen Decoder iwwer de richtege ReactiveJwtDecoder-Bean oder eng explizit Ressourceserver-Konfiguratioun. En niewent engem onverännerte aktiven Decoder ze schafen, ännert d'Schlësselofruffung net. Wann d'vertrauenswürdeg JWKS-URL ëffentlech ass an ëffentlech Vermëttler erlaabt sinn, liwwert d'HTTP-Proxylëscht Kandidaten fir den Host an de Port vum Transport ouni Kont.

De gewisenen Validator behält d'Standardzäitkontrollen an d'Aussteller-Validéierung. Behält d'Publikumsufuerderungen an all zousätzlech Applikatiounsvalidatoren, wann Dir den Decoder ersetzt.

Eng bekannt Schlëssel-URI ëmgeet d'Entdeckung fir se ze fannen. Wann eng aner Komponent nach ëmmer Entdeckung oder Tokenbeschafung mécht, konfiguréiert de Wee vun deem Client separat.

Dëst deckt d'reaktiv JWT-Verifikatioun um Ressourceserver of. Den Servlet-Ressourceserver, den OAuth2-Login an d'Geschäfts-API-Clients hunn aner Uschlossplazen; behält déi feelgeschloen Schlëssel-URL an d'Etapp bei der Untersuchung.

Ähnlech Artikelen