Мы используем OAuth2RestTemplate для получения токена доступа. Это работает для среды разработки, но не для другой среды. Ниже приведена конфигурация:
ClientCredentialsResourceDetails resourceDetails = new ClientCredentialsResourceDetails();
resourceDetails.setAccessTokenUri(accessTokenUri);
resourceDetails.setClientId(clientId);
resourceDetails.setClientSecret(clientSecret);
resourceDetails.setGrantType("client_credentials");
return resourceDetails;
При проверке было обнаружено, что конечная точка маркера Dev возвращает приведенный ниже ответ без refre sh токен:
{
"access_token": "<token_value>",
"scope": "<default_scope>",
"token_type": "Bearer",
"expires_in": 2760
}
В то время как среда UAT возвращает ниже ответ с refre sh токен:
{
"access_token": "<token_value>",
"refresh_token": "<refresh_token>",
"scope": "<default_scope>",
"token_type": "Bearer",
"expires_in": 3600
}
Исключение:
2020-01-28 16:09:37 [http-nio-8082-exec-4] ERROR c.e.c.controllers.PublicationController.resolvePublication 390 - An error occurred...
org.springframework.security.oauth2.client.resource.OAuth2AccessDeniedException: Unable to obtain a new access token for resource 'null'. The provider manager is not configured to support it.
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.refreshAccessToken(AccessTokenProviderChain.java:170) ~[spring-security-oauth2-2.0.10.RELEASE.jar:na]
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainAccessToken(AccessTokenProviderChain.java:107) ~[spring-security-oauth2-2.0.10.RELEASE.jar:na]
at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:221) ~[spring-security-oauth2-2.0.10.RELEASE.jar:na]
at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:173) ~[spring-security-oauth2-2.0.10.RELEASE.jar:na]