Что такое error="access_denied", error_description="Ошибка при запросе токена доступа" при создании OAuth2RestTemplate
Мне нужна помощь с ошибкой при попытке доступа к токену oAuth2 с помощью OAuth2RestTemplate
Мой код Java указан ниже.
Я использую Spring версии 4.3.4 и Spring Security oAuth версии 2.3.4
Спасибо!
ClientCredentialsResourceDetails returnValue = new ClientCredentialsResourceDetails();
returnValue.setAccessTokenUri(xxx);
returnValue.setClientId(yyy);
returnValue.setGrantType("client_credentials");
returnValue.setClientSecret(zzz);
AccessTokenRequest atr = new DefaultAccessTokenRequest();
OAuth2RestTemplate restTemplate = new OAuth2RestTemplate(returnValue , new DefaultOAuth2ClientContext(atr));
restTemplate.setRequestFactory(getClientHttpRequestFactory());
logger.debug(restTemplate.getAccessToken());
Когда я создаю тестовый класс JUnit и запускаю его, я получаю следующую трассировку ошибки. API REST oAuth2 работает с использованием SOAP UI.
error="access_denied", error_description="Error requesting access token."
at org.springframework.security.oauth2.client.token.OAuth2AccessTokenSupport.retrieveToken(OAuth2AccessTokenSupport.java:145)
at org.springframework.security.oauth2.client.token.grant.client.ClientCredentialsAccessTokenProvider.obtainAccessToken(ClientCredentialsAccessTokenProvider.java:44)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainNewAccessTokenInternal(AccessTokenProviderChain.java:148)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainAccessToken(AccessTokenProviderChain.java:121)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:221)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:173)
1 ответ
Вы не забыли добавить тип контента? (Конечно, для вашей ложной стороны ответа)
.withHeader(header("Content-Type", "application/json;charset=UTF-8"))