У меня есть пользовательский фильтр аутентификации spring sec 5, который работает и заполняет AuthenticationToken / SpringContext, и после успешной проверки поток перенаправляется на определенную страницу «успеха».
Теперь мы хотим получитьэта пользовательская аутентификация подключена к серверу авторизации Spring-Oauth2, поэтому, когда пользователь должен пройти аутентификацию, он вызывает эту обычную аутентификацию (вместо того, чтобы вызывать регулярную сборку usr / pwd authn)
Каков наилучший способ добиться этого? Имейте следующее в настоящее время
Заранее спасибо
@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter {
@Value("${config.oauth2.clientid}")
private String clientid;
@Value("${config.oauth2.clientSecret}")
private String clientSecret;
@Value("${config.oauth2.privateKey}")
private String privateKey;
@Value("${config.oauth2.publicKey}")
private String publicKey;
@Autowired
private CustomURLFilter customfilter;
//custom authentication filter extends AbstractAuthenticationProcessingFilter
@Override
public void configure(AuthorizationServerSecurityConfigurer security) throws Exception {
security.tokenKeyAccess("permitAll()").checkTokenAccess("isAuthenticated()");
security.tokenEndpointAuthenticationFilters((List<Filter>) customfilter);
}
@Bean
public JwtTokenStore tokenStore() {
//return new JwtTokenStore(tokenEnhancer());
return new JwtTokenStore(accessTokenConverter());
}
@Bean
public JwtAccessTokenConverter accessTokenConverter() {
JwtAccessTokenConverter converter = new JwtAccessTokenConverter();
converter.setSigningKey(privateKey);
converter.setVerifierKey(publicKey);
return converter;
}
@Bean
@Primary
public DefaultTokenServices tokenService() {
DefaultTokenServices defaultTokenServices = new DefaultTokenServices();
defaultTokenServices.setTokenStore(tokenStore());
defaultTokenServices.setSupportRefreshToken(true);
return defaultTokenServices;
}
}