Spring NimbusJwtDecoder: dlulisa ukulandwa kwesethi ye-JWK nge-proxy
Nika i-servlet decoder i-RestTemplate eyazi i-proxy futhi ugcine abahloli be-issuer, i-audience kanye nabahloli bamathokheni angeziwe lapho ushintsha i-auto-configuration.
Isicelo se-bearer esingenayo singafinyelela kuseva yezinsiza ngenkathi ukuqinisekiswa kwe-JWT kuhluleka ekulandeni kwe-JWK okuphumayo. Hlela i-HTTP client esetshenziswa yileso decoder:
var factory = new org.springframework.http.client.SimpleClientHttpRequestFactory();
factory.setProxy(new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example", 8080)));
var rest = new org.springframework.web.client.RestTemplate(factory);
var decoder = org.springframework.security.oauth2.jwt.NimbusJwtDecoder
.withJwkSetUri(jwkSetUri)
.restOperations(rest)
.build();
decoder.setJwtValidator(
org.springframework.security.oauth2.jwt.JwtValidators
.createDefaultWithIssuer(issuer));Sebenzisa i-jwkSetUri ne-issuer yangempela yohlelo bese ufaka le decoder kuhlelo lwangempela lwe-resource-server. Isibonelo sisebenzisa i-proxy ye-HTTP engaqinisekisiwe ne-decoder ye-Nimbus yesitayela se-servlet. Nge-URL ye-JWK yomphakathi emzileni we-proxy yomphakathi ovunyelwe, uhlu lwe-proxy ye-HTTP lunikeza amanani e-host ne-port angaba khona.
Isihloli se-issuer esisibonelweni asithathi indawo yezivivinyo ze-audience ezidingekayo noma ezinye izivivinyo zohlelo. Zigcine lapho ushintsha i-decoder ehlelwe ngokuzenzakalela; ukushintsha umzila wokulanda ukhiye akukuchazi ukuthi yimaphi amathokheni okufanele uhlelo luwamukele.
I-decoder ye-reactive isebenzisa enye i-interface. Amanye amaklayenti okuthola i-issuer noma okuthola amathokheni nawo agcina ukuhlelwa kwawo kwezokuthutha.
Okhiye abagciniwe bangenza ukuqinisekiswa kuphumelele ngaphandle kokulanda okusha. Gcina i-URL yokhiye ohlulekile kanye nesigaba sokuvuselela noma sokuqalisa lapho uhlola umzila.