我正在实现一项服务,该服务需要获取oauth令牌才能调用另一个服务的端点。
我将OAuth2RestTemplate设置为以下内容:
@Bean
public OAuth2ProtectedResourceDetails resourceDetails() {
ClientCredentialsResourceDetails details = new ClientCredentialsResourceDetails();
details.setClientId(clientID);
details.setClientSecret(clientSecret);
details.setAccessTokenUri(accessTokenUri);
return details;
}
@Bean
public OAuth2RestTemplate oauth2RestTemplate() {
OAuth2RestTemplate template = new OAuth2RestTemplate(resourceDetails());
AccessTokenProvider accessTokenProvider = new AccessTokenProviderChain(
Arrays.<AccessTokenProvider>asList(
new ClientCredentialsAccessTokenProvider())
);
template.setAccessTokenProvider(accessTokenProvider);
return template;
}
这有效,但不幸的是,我有时会收到未授权的401。令牌过期且没有获取新令牌时,可能会发生这种情况。
我想念什么吗?