Por algum motivo, quando eu tento logar um usuário já cadastrado no banco de dados retorna:
o código de login é :
@Component public class PerformLoginUseCase {
@Autowired
private AuthenticationManager manager;
@Autowired
TokenService tokenService;
public TokenJwtDto performLogin(UserLoginDTO data) {
var authenticationToken = new UsernamePasswordAuthenticationToken(data.login(), data.password());
//está chamando authenticateService
Authentication authentication = manager.authenticate(authenticationToken);
User userAuthenticated = (User) authentication.getPrincipal();
String tokenJwt = tokenService.generateJwtToken(userAuthenticated);
return new TokenJwtDto(tokenJwt);
}
}
@Service public class AuthenticateService implements UserDetailsService { @Autowired private UserRepository userRepository;
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
return userRepository.findByLogin(username);
}
}
Usando system.out para acompanhar, percebi que ele estoura exatamente na chamada do método findByLogin, mas não sei por que:
public interface UserRepository extends JpaRepository<User, Long> { UserDetails findByLogin(String login);
@Query("""
SELECT u FROM User u WHERE u.login = :login
""")
User findByLoginToHandle(String login);
boolean existsByLogin(String login);
}