我正在使用OAuthRestTemplate客户端凭证,并且它不支持开箱即用地刷新令牌。因此,在每次对客户端进行api调用之前,我都会手动检查访问令牌,并在令牌到期时将访问令牌设置为null,如下所示。这样,spring将在给定appeacret和appKey之后再次调用访问令牌。这种方法有什么缺点吗?这种方法会引入任何可能的错误吗?
private void checkTokenExpiry() {
OAuth2ClientContext oAuth2ClientContext = oAuth2RestOperations.getOAuth2ClientContext();
if (oAuth2ClientContext == null) {
return;
}
OAuth2AccessToken accessToken = oAuth2ClientContext.getAccessToken();
if (accessToken != null && (accessToken.getExpiresIn() > 5000 || accessToken
.isExpired())) { //5 seconds
log.info("Token expired");
oAuth2RestOperations.getOAuth2ClientContext()
.setAccessToken(null); //to re-fetch the token
}
}