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 ಮತ್ತು ಹಂತವನ್ನು ತನಿಖೆಯೊಂದಿಗೆ ಇರಿಸಿ.