Я подключаюсь к SalesForce rest API, и Spring oauth2template работает очень хорошо. Я использую Spring Boot, так что это в основном просто автоматическое подключение Oauth2RestTemplate и настройка свойств oauth2, но есть проблема, и я не уверен, что это ошибка или что-то, что я не настроил должным образом. Случай, когда токен истекает на стороне SalesForce. У меня все еще есть старый токен в контексте oauth2, поэтому, если я хочу, чтобы инфраструктура получила новый токен, мне нужно вручную обнулить accesstoken и установить его как нулевой в контексте, чтобы getAccesstoken вызывал acquAccessToken в классе OAuth2RestTemplate. Я знаю, что это неправильно, но я подозреваю, что это потому, что я получаю недостающую информацию о токене, когда впервые получаю токен от SalesForce. Это ответ, когда я впервые получаю токен
{
"access_token": "<LONG_VALUE>",
"instance_url": "<SALESFORCE_SERVER>",
"id": "<ID_URL>",
"token_type": "Bearer",
"issued_at": "1538640612182",
"signature": "<SIGNATURE_ID>"
}
Я не могу получить значение refresh_token от SalesForce. Я думаю, именно поэтому мой OAuth2AccessToken не имеет срока годности. Когда я вызываю getExpiration, чтобы увидеть дату, она становится нулевой.
Так что я могу сделать здесь? Есть ли какая-либо другая конфигурация, которую мне здесь не хватает? Мне не нравится продолжать взламывать фреймворк, когда он должен обрабатывать все для меня, особенно приобретать новый токен, когда он истекает.