Я использую Spring Security OAuth2 для авторизации.Вот моя конфигурация Oauth2:
@Override
public void configure(ClientDetailsServiceConfigurer clients) throws Exception {
clients.inMemory()
.withClient(client)
.secret(passwordEncoder().encode(secret))
.accessTokenValiditySeconds(timeout)
.authorizedGrantTypes("password", "authorization_code", "refresh_token")
.scopes("read", "write");
}
@Override
public void configure(AuthorizationServerEndpointsConfigurer configurer) {
configurer
.authenticationManager(authenticationManager)
.userDetailsService(userDetailsService)
.tokenEnhancer(userTokenEnhancer)
.tokenStore(tokenStore)
.exceptionTranslator(new CustomOAuthExceptionTranslator());
}
Я принимаю три разрешенных больших типа: password
, authorization_code
, refresh_token
, и я использую реализованную пользовательскую версию UserDetailsService.Мне было интересно, возможно ли реализовать вторую версию UserDetailsService, которая могла бы быть выделенной службой при обновлении токена.Как я могу иметь оба потока?