OAuth2AccessDeniedException: невозможно получить новый токен доступа для ресурса 'null'. Менеджер провайдеров не настроен на его поддержку - PullRequest
0 голосов
/ 29 января 2020

Мы используем 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]
...