存在通过 OAuth2 授权的服务(例如,vk.com)。还有。clientId
_ clientSecret
您需要编写一个守护进程来向服务 API 发出一些请求。
是否可以在后台执行此操作并在到期时自动获取 access_token?例如,许多服务在授权后不再请求用户数据。
更新。我需要保存 access_token(例如,在数据库中),然后使用OAuth2RestTemplate
.
public void run() {
// access_token = получаем из БД сохраненный access_token.
// создаем restTemplate из access_token
while (true) {
Map map = restTemplate.getForObject(..., Map.class);
}
}
经过多次尝试,食谱结果如下。
access_token
在一个新的线程中从数据库中获取;DefaultOAuth2AccessToken
;DefaultOAuth2ClientContext
并添加到它DefaultOAuth2AccessToken
;OAuth2RestTemplate
使用设置和已建立的上下文进行创建。UserRedirectRequiredException
。异常意味着密钥不再有效,您需要通过控制器向用户请求一个新密钥。