У меня есть приложение Spring, которое действует как клиент OAuth2. Я реализовал 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 . Когда я искал содержимое в этой таблице, я заметил, что он сохраняет только маркер доступа? Мне было интересно, почему токен обновления не сохраняется, а токен обновления должен быть все же дольше, чем токен доступа.