OAuth2RestTemplate“"Access token denied."
OAuth2RestTemplate ""Access token denied."
正在尝试使用第 3 方提供商设置 oauth2 身份验证,但由于某种原因它似乎没有将 client_id 传递给服务器。
@Bean(name = "oauth2RestTemplate")
public OAuth2RestTemplate oauth2RestTemplate() {
ArrayList<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
messageConverters.add(new MappingJackson2HttpMessageConverter(objectMapper()));
messageConverters.add(new ByteArrayHttpMessageConverter());
messageConverters.add(new StringHttpMessageConverter());
HttpComponentsClientHttpRequestFactory baseRequestFactory = new HttpComponentsClientHttpRequestFactory();
baseRequestFactory.setConnectTimeout(60000);
baseRequestFactory.setReadTimeout(60000);
BufferingClientHttpRequestFactory httpRequestFactory = new BufferingClientHttpRequestFactory(baseRequestFactory);
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
interceptors.add(loggingRequestInterceptor());
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(clientCredentialsResourceDetails(), oauth2Context());
restTemplate.setMessageConverters(messageConverters);
restTemplate.setRequestFactory(httpRequestFactory);
restTemplate.setInterceptors(interceptors);
return restTemplate;
}
@Bean
public OAuth2ClientContext oauth2Context()
{
OAuth2ClientContext context = new DefaultOAuth2ClientContext();
return context;
}
@Bean
public OAuth2ProtectedResourceDetails clientCredentialsResourceDetails()
{
ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
resourceDetails.setAccessTokenUri(uri");
resourceDetails.setClientId("client_id");
resourceDetails.setClientSecret("clientsecret");
return resourceDetails;
}
获取 OAuth2AccessDeniedException
错误="access_denied", error_description="Access token denied."
error="invalid_client", error_description="client_id was not supplied", code="62", correlationid="e0efacc2-4829-4dd7-8296-48c222992a84"
升级了 spring 和 http 客户端版本并且它有效
正在尝试使用第 3 方提供商设置 oauth2 身份验证,但由于某种原因它似乎没有将 client_id 传递给服务器。
@Bean(name = "oauth2RestTemplate")
public OAuth2RestTemplate oauth2RestTemplate() {
ArrayList<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
messageConverters.add(new MappingJackson2HttpMessageConverter(objectMapper()));
messageConverters.add(new ByteArrayHttpMessageConverter());
messageConverters.add(new StringHttpMessageConverter());
HttpComponentsClientHttpRequestFactory baseRequestFactory = new HttpComponentsClientHttpRequestFactory();
baseRequestFactory.setConnectTimeout(60000);
baseRequestFactory.setReadTimeout(60000);
BufferingClientHttpRequestFactory httpRequestFactory = new BufferingClientHttpRequestFactory(baseRequestFactory);
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
interceptors.add(loggingRequestInterceptor());
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(clientCredentialsResourceDetails(), oauth2Context());
restTemplate.setMessageConverters(messageConverters);
restTemplate.setRequestFactory(httpRequestFactory);
restTemplate.setInterceptors(interceptors);
return restTemplate;
}
@Bean
public OAuth2ClientContext oauth2Context()
{
OAuth2ClientContext context = new DefaultOAuth2ClientContext();
return context;
}
@Bean
public OAuth2ProtectedResourceDetails clientCredentialsResourceDetails()
{
ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
resourceDetails.setAccessTokenUri(uri");
resourceDetails.setClientId("client_id");
resourceDetails.setClientSecret("clientsecret");
return resourceDetails;
}
获取 OAuth2AccessDeniedException 错误="access_denied", error_description="Access token denied."
error="invalid_client", error_description="client_id was not supplied", code="62", correlationid="e0efacc2-4829-4dd7-8296-48c222992a84"
升级了 spring 和 http 客户端版本并且它有效