我有一个充当 OAuth2 客户端的 Spring 应用程序。我实现了一个 JdbcClientTokenServices 来为每个成功进行身份验证的用户保留令牌。
@Bean
public OAuth2RestTemplate restTemplate(OAuth2ClientContext clientContext) {
OAuth2RestTemplate template = new OAuth2RestTemplate(resource(), clientContext);
AccessTokenProviderChain accessTokenProvider = new AccessTokenProviderChain(
Collections.<AccessTokenProvider>singletonList(
new AuthorizationCodeAccessTokenProvider()
));
accessTokenProvider.setClientTokenServices(clientTokenServices());
accessTokenProvider.supportsRefresh(resource());
template.setAccessTokenProvider(accessTokenProvider);
return template;
}
@Bean
public JdbcClientTokenServices clientTokenServices() {
return new JdbcClientTokenServices(dataSource);
}
此代码使用oauth_client_token表。当我在此表中查找内容时,我注意到它只保存了访问令牌?我想知道为什么刷新令牌也没有保存,因为无论如何刷新令牌应该比访问令牌寿命更长。