Login por request Spring Security

Estou criando uma API Rest para um aplicativo usando spring. Agora quero fazer o sistema de autenticação com JPA e um banco de dados postgres.

O que eu precisava é o seguinte:

Um endpoint POST onde o aplicativo envia um JSON com o Username e Password e o spring security libera o acesso caso esteja registrado no banco. Semelhante ao formLogin, mas por request.

Como eu poderia fazer algo assim?

Minha configuração de segurança do Spring:

@EnableWebSecurity
public class SpringWebSecurityConfiguration extends WebSecurityConfigurerAdapter{

    @Autowired
    private ImplementUserDetailsService userDetailsService;
    
    @Override
    protected void configure(HttpSecurity http) throws Exception{
        http.csrf().disable().authorizeRequests()
        .antMatchers(HttpMethod.POST, "/login/register").permitAll()
        .anyRequest().authenticated()
        .and().logout().logoutRequestMatcher(new AntPathRequestMatcher("/logout"));
    }
    
    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception{
        auth.userDetailsService(userDetailsService)
        .passwordEncoder(new BCryptPasswordEncoder());
    }

    @Override
    public void configure(WebSecurity web) throws Exception{
        web.ignoring().antMatchers("/materialize/**", "/style/**");
    }
    
}

Neste caso, libero a solicitação de cadastro de novos usuários para que o aplicativo possa se cadastrar no banco de dados.

A requisição que quero usar será esta:

@PostMapping
@ResponseStatus(HttpStatus.ACCEPTED)
public Client authClient(@RequestBody ClientRequest client) {
    return clientRepository.findByName(client.getName());
}

Resumindo: eu quero que essa requisição seja usada na configuração de segurança do spring para dar acesso ao usuário ao invés de usar o .formLogin

Variáveis ​​do meu cliente:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;

@Column(name = "name")
private String name;
@Column(name = "email")
private String email;
@Column(name = "password")
private String password;

Oque eu poderia usar nesse caso ?