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 మరియు దశను విచారణతో పాటు ఉంచండి.

సంబంధిత వ్యాసాలు