Cannot invoke FilterUtil.generateToken because "this.filterUtil" is null

Столкнулся с проблемой, что по всей видимости при создании конструктора AuthenticationFilter в security config'е контекст не понимает какой конструктор использовать и передает вместе с AuthenticationManager FilterUtil = null, убрать all args в AuthenticationManager я так же не могу, так как мне нужно автовайрить FilterUtil

фильтер

@RequiredArgsConstructor
@AllArgsConstructor
public class AuthenticationFilter extends UsernamePasswordAuthenticationFilter {

    private final AuthenticationManager authenticationManager;
    private FilterUtil filterUtil;

    @Override
    public Authentication attemptAuthentication(HttpServletRequest request,
                                                HttpServletResponse response) throws AuthenticationException {

        return authenticationManager.authenticate(
                new UsernamePasswordAuthenticationToken(
                        request.getParameter("username"),
                        request.getParameter("password"))
        );
    }

    @SneakyThrows
    @Override
    protected void successfulAuthentication(HttpServletRequest request,
                                            HttpServletResponse response,
                                            FilterChain chain,
                                            Authentication authentication) throws IOException {

        UserDetailsImpl user = (UserDetailsImpl) authentication.getPrincipal();

        Map<String, String> tokens = filterUtil.generateToken(
                request.getRequestURL().toString(), user);

        response.setContentType(APPLICATION_JSON_VALUE);

        new ObjectMapper().writeValue(response.getOutputStream(), tokens);
    }
}

ошибка в этой строчке -

Map<String, String> tokens = filterUtil.generateToken(
                    request.getRequestURL().toString(), user);

конфигурация security с конструктором AuthenticationFilter

@Override
    protected void configure(HttpSecurity http) throws Exception {
        AuthenticationFilter authenticationFilter =
                new AuthenticationFilter(authenticationManager());

        authenticationFilter.setFilterProcessesUrl("/api/user/login");

        http
                .csrf().disable()
                .sessionManagement().sessionCreationPolicy(STATELESS)
                .and()
                .addFilter(authenticationFilter)
                .addFilterBefore(new AuthorizationFilter(), UsernamePasswordAuthenticationFilter.class);
    }

ошибка

Cannot invoke "com.microservice.messenger.auth.filter.util.FilterUtil.generateToken(String, com.microservice.messenger.auth.service.impl.UserDetailsImpl)" because "this.filterUtil" is null
    at com.microservice.messenger.auth.filter.AuthenticationFilter.successfulAuthentication(AuthenticationFilter.java:52) ~[main/:na]

Ответы (0 шт):