Я использую Oauth2Resttemplate для получения токенов доступа. Для среды Dev она работает нормально, но для другой среды, получая исключение ниже:
ERROR c.e.c.v.OnlineSubmissionValidator.validate 63 - Exception in validate method error="access_denied", error_description="Unable to obtain a new access token for resource 'null'. The provider manager is not configured to support it."
error="access_denied", error_description="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)
at org.springframework.security.oauth2.client.token.AccessTokenProviderChain.obtainAccessToken(AccessTokenProviderChain.java:107)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.acquireAccessToken(OAuth2RestTemplate.java:221)
at org.springframework.security.oauth2.client.OAuth2RestTemplate.getAccessToken(OAuth2RestTemplate.java:173)
at com.elsevier.collector.service.DefaultBookContextService.fetchProjectByIsbnOrProjNo(DefaultBookContextService.java:85)
at com.elsevier.collector.service.DefaultPublicationService.checkExistingIsbnOrProjectNo(DefaultPublicationService.java:2086)
at com.elsevier.collector.validator.OnlineSubmissionValidator.validateDuplicateIsbnsOrProjectNo(OnlineSubmissionValidator.java:476)
at com.elsevier.collector.validator.OnlineSubmissionValidator.validate(OnlineSubmissionValidator.java:52)
at com.elsevier.collector.validator.OnlineSubmissionValidator.validate(OnlineSubmissionValidator.java:37)
at com.elsevier.collector.controllers.PublicationController.fetch(PublicationController.java:76)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
При проверке выяснилось, что конечная точка токена Dev возвращается ниже отклика без RefreshToken:
{
"access_token": "<token_value>",
"scope": "<default_scope>",
"token_type": "Bearer",
"expires_in": 3600
}
В то время как конечная точка токена UAT возвращается ниже отклика с refresh_token:
{
"access_token": "<token_value>",
"refresh_token": "<refresh_token>",
"scope": "<default_scope>",
"token_type": "Bearer",
"expires_in": 3446
}