Используя Spring Boot, вам не нужен весь класс конфигурации SalesforceConfiguration
.
Вы можете использовать следующие зависимости:
<dependency>
<groupId>org.springframework.security.oauth.boot</groupId>
<artifactId>spring-security-oauth2-autoconfigure</artifactId>
<version>${look-for-the-latest}</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-oauth2-client</artifactId>
</dependency>
Добавить свойства конфигурации в application.yml
:
security:
oauth2:
client:
username: the-username
password: the-password
client-id: the-client-id
client-secret: the-client-secret
grant-type: password,refresh_token
scope: read
access-token-uri: http://sales-force-domain/oauth/token
И тогда вы можете определить свой OAuth2RestTemplate
следующим образом:
@Bean
public OAuth2RestTemplate oAuth2RestTemplate(final OAuth2ProtectedResourceDetails details) {
return new OAuth2RestTemplate(details);
}
Чтобы использовать его, просто делайте то, что вы уже делаете, введите OAuth2RestTemplate
вQueryExecutor
. Токен обновления будет обработан Spring, как только вы определили его как grant-type
в application.yml
.
В этом репо у меня есть рабочая версия этой конфигурации,потерпите меня, потому что это также демонстрирует, как вручную создать эту конфигурацию.