Проблема с отправкой гранта_типа с помощью Spring-boot-starter-oauth2-client и RestClientJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Проблема с отправкой гранта_типа с помощью Spring-boot-starter-oauth2-client и RestClient

Сообщение Anonymous »

Я пытаюсь использовать Spring-boot-starter-oauth2-client для получения токена-носителя, где служба принимает grant_type=client_credentials, а не тип разрешения-авторизации.

Код: Выделить всё

curl -s -X POST -H "Content-Type: application/x-www-form-urlencoded" -u theusername:thepassword  "https://thirdpartyservice.com/token?scope=resolve+download&grant_type=client_credentials" | jq -r '.access_token'

Это сработает, мы можем получить токен.
Следуя документу о безопасности Spring, я настраиваю:

Код: Выделить всё

spring:
application:
name: client-application
security:
oauth2:
client:
registration:
my-client:
provider: the-provider
client-id: theusername
client-secret: thepassword
authorization-grant-type: client_credentials
#grant_type: client_credentials
scope: resolve+download
provider:
the-provider:
token-uri: https://thirdpartyservice.com/token
logging:
level:
root: DEBUG

Код: Выделить всё

@Configuration
public class RestClientConfig {

@Bean
public RestClient restClient(OAuth2AuthorizedClientManager authorizedClientManager) {
OAuth2ClientHttpRequestInterceptor interceptor = new OAuth2ClientHttpRequestInterceptor(authorizedClientManager);
return RestClient.builder()
.requestInterceptor(interceptor)
.build();
}

}

Код: Выделить всё

return restClient.get()
.uri("https://resource...")
.attributes(clientRegistrationId("my-client"))
.retrieve()
.body(String.class);
Проблема: к сожалению, это не работает, поставщик токенов возвращает ошибку 400, поскольку он ожидает грант_типа (тип подчеркивания гранта).
Но кажется, Spring Security предлагает только «authorization-grant-type»
Вопрос: Как передать Grant_type с помощью RestClient и Spring-boot-starter-oauth2-client?

Подробнее здесь: https://stackoverflow.com/questions/793 ... restclient
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»