Spring இன் எதிர்வினை JWT டிகோடருக்கான ப்ராக்ஸி JWKS பதிவிறக்கங்கள்
கிளையண்டை NimbusReactiveJwtDecoder-இல் செலுத்தி, வளச் சேவையகத்துடன் இணைக்கும்போது ஏற்கனவே உள்ள issuer, audience மற்றும் பிற டோக்கன் சரிபார்ப்புகளைத் தக்கவைக்கவும்.
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 மற்றும் நிலையை விசாரணையுடன் வைத்திருங்கள்.