Spring NimbusJwtDecoder: JWK ಸೆಟ್ ಡೌನ್ಲೋಡ್ ಅನ್ನು ಪ್ರಾಕ್ಸಿ ಮಾಡಿ
servlet ಡಿಕೋಡರ್ಗೆ ಪ್ರಾಕ್ಸಿ-ಅರಿವಿನ RestTemplate ನೀಡಿ ಮತ್ತು ಸ್ವಯಂ-ಸಂರಚನೆಯನ್ನು ಬದಲಿಸುವಾಗ issuer, audience ಹಾಗೂ ಹೆಚ್ಚುವರಿ ಟೋಕನ್ ಮೌಲ್ಯೀಕರಣಕಾರರನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ.
ಒಳಬರುವ bearer ವಿನಂತಿ ಸಂಪನ್ಮೂಲ ಸರ್ವರ್ಗೆ ತಲುಪಬಹುದು, ಆದರೆ ಹೊರಹೋಗುವ JWK ಡೌನ್ಲೋಡ್ನಲ್ಲಿ JWT ಪರಿಶೀಲನೆ ವಿಫಲವಾಗುತ್ತದೆ. ಆ ಡಿಕೋಡರ್ ಬಳಸುವ HTTP ಕ್ಲೈಂಟ್ ಅನ್ನು ಸಂರಚಿಸಿ:
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));ಅಪ್ಲಿಕೇಶನ್ನ ನಿಜವಾದ jwkSetUri ಮತ್ತು issuer ಬಳಸಿ ಮತ್ತು ಈ ಡಿಕೋಡರ್ ಅನ್ನು ನಿಜವಾದ ಸಂಪನ್ಮೂಲ-ಸರ್ವರ್ ಸಂರಚನೆಯಲ್ಲಿ ಸ್ಥಾಪಿಸಿ. ಉದಾಹರಣೆ servlet ಶೈಲಿಯ Nimbus ಡಿಕೋಡರ್ ಜೊತೆ ದೃಢೀಕರಣವಿಲ್ಲದ HTTP ಪ್ರಾಕ್ಸಿ ಬಳಸುತ್ತದೆ. ಅನುಮತಿಸಲಾದ ಸಾರ್ವಜನಿಕ-ಪ್ರಾಕ್ಸಿ ಮಾರ್ಗದಲ್ಲಿರುವ ಸಾರ್ವಜನಿಕ JWK URL ಗಾಗಿ HTTP ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಸಂಭಾವ್ಯ host ಮತ್ತು port ಮೌಲ್ಯಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಉದಾಹರಣೆಯ issuer ಮೌಲ್ಯೀಕರಣಕಾರನು ಕಡ್ಡಾಯ audience ಅಥವಾ ಇತರ ಅಪ್ಲಿಕೇಶನ್ ಪರಿಶೀಲನೆಗಳಿಗೆ ಬದಲಿಯಲ್ಲ. ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸಂರಚಿಸಿದ ಡಿಕೋಡರ್ ಬದಲಿಸುವಾಗ ಅವುಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ; ಕೀ-ಡೌನ್ಲೋಡ್ ಮಾರ್ಗವನ್ನು ಬದಲಿಸುವುದು ಅಪ್ಲಿಕೇಶನ್ ಯಾವ ಟೋಕನ್ಗಳನ್ನು ಸ್ವೀಕರಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸುವುದಿಲ್ಲ.
ರಿಯಾಕ್ಟಿವ್ ಡಿಕೋಡರ್ ಬೇರೆ ಇಂಟರ್ಫೇಸ್ ಬಳಸುತ್ತದೆ. issuer ಪತ್ತೆ ಅಥವಾ ಟೋಕನ್ ಸಂಪಾದನೆಯ ಇತರ ಕ್ಲೈಂಟ್ಗಳೂ ತಮ್ಮ ಸ್ವಂತ ಸಾರಿಗೆ ಸಂರಚನೆಯನ್ನು ಉಳಿಸಿಕೊಳ್ಳುತ್ತವೆ.
ಸಂಗ್ರಹಿಸಿದ ಕೀಗಳು ಹೊಸ ಡೌನ್ಲೋಡ್ ಇಲ್ಲದೆ ಪರಿಶೀಲನೆ ಯಶಸ್ವಿಯಾಗಲು ಕಾರಣವಾಗಬಹುದು. ಮಾರ್ಗವನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವಾಗ ವಿಫಲವಾದ ಕೀ URL ಮತ್ತು ರಿಫ್ರೆಶ್ ಅಥವಾ ಇನಿಶಿಯಲೈಸೇಶನ್ ಹಂತವನ್ನು ಉಳಿಸಿಕೊಳ್ಳಿ.