Oi José! Tudo bem?
Fui testar por aqui e o que aconteceu foi que você não usou a anotação @Service
na classe AuthenticationService
. Com isso, o Spring Security não estava conseguindo identificar sua implementação de UserDetailsService
para efetuar o login. Depois disso, quando rodei, passou a ter um problema na de conversão de classes. Aí vi que, na mesma classe, você estava retornando uma classe do tipo org.springframework.security.core.userdetails.User
, provavelmente importou sem querer, e por isso tava dando erro. Troquei o retorno do método para:
return user;
E aí funcionou!
Tem outras mudanças que fiz enquanto estava tentando rodar, que queria te sugerir também: em várias classes, você estava usando tanto o @Autowired
quanto passando os parâmetros pelo construtor. Basta usar uma dessas formas para fazer a injeção de dependências corretamente. Pode ser que usar as duas cause algum bug inesperado. Além disso, nos repositories, você estava utilizando a anotação @Repository
também, mas ela não é necessária, pois já vem quando estendemos da classe JpaRepository
.
Espero ter ajudado! Qualquer dúvida, estou por aqui.
Abraços e bons estudos!