我使用ClientCredentialsAccessTokenProvider
获取客户端凭据的OAuth
访问令牌。但是,accessTokenURI
为https
。
建议的方法是覆盖默认RestTemplate
以提供自定义SSLSocketFactory
。
RestTemplate
上的OAuth2AccessTokenSupport
被标记为私有,没有任何设置者。
答案 0 :(得分:0)
代码如下,
Create the Request Factory,
RequestConfig timeoutConfig = RequestConfig.custom().setConnectTimeout(CONNECT_TIMEOUT).build();
CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory)
.setDefaultRequestConfig(timeoutConfig) .disableCookieManagement().setMaxConnPerRoute(CONNECTION_MAX).setMaxConnTotal(CONNECTION_MAX).build();
HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
ClientCredentialsAccessTokenProvider accessTokenProvider = new ClientCredentialsAccessTokenProvider();
accessTokenProvider.setRequestFactory(clientHttpRequestFactory);