I는 다음과 같은 방법으로 네트워크 프록시를 설정하려고했지만 방법 중 어느 것도봄에 프록시를 설정하는 방법 oauth2 OAuth2AccessToken 요청 또는 OAuth2AccessTokenSupport restTemplate 변수를 재정의하는 방법?
1 작동되지 않는다 : -Dhttp.proxyHost = -Dhttp.proxyPort = 같은 JVM 변수를 설정 .......
2 : 콩을 만들었습니다.
@Bean
public RestTemplate restTemplate() {
final String proxyHost = "######"; // host
final int proxyPort = ####; // port
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setProxy(new Proxy(Type.HTTP, new InetSocketAddress(proxyHost, proxyPort)));
return new RestTemplate(factory);
}
그러나이 구성은 OAuth2AccessTokenSupport.restTemplate에 의해 무시됩니다.
따라서 아래 메서드는 항상 새로 만든 나머지 템플릿 개체를 반환합니다.
org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport 것은
protected RestOperations getRestTemplate() {
if (restTemplate == null) {
synchronized (this) {
if (restTemplate == null) {
RestTemplate restTemplate = new RestTemplate();
restTemplate.setErrorHandler(getResponseErrorHandler());
restTemplate.setRequestFactory(requestFactory);
restTemplate.setInterceptors(interceptors);
this.restTemplate = restTemplate;
}
}
}
if (messageConverters == null) {
setMessageConverters(new RestTemplate().getMessageConverters());
}
return restTemplate;
}
친절하게 나를 무시하거나 OAuth 클라이언트 응용 프로그램에서 나머지 템플릿에 프록시를 설정하는 데 도움이됩니다.
제안 사항은 무엇입니까? – Karthikeyan