Boa noite, estou com um pequeno probleminha para realizar a autenticação do meu projeto, quando envio o json para /auth, aparece este erro Encoded password does not look like BCrypt, pesquisei em alguns forúns e o pessoal relatava que era referente ao tamanho do campo no banco de dados ( estou usando MYsql), apaguei e criei novamente minhas tabelas de usuario e perfil, adicionei a anotação @Length(min = 3, max = 240), mas eu tenho a impressão que o problema não é isto... Realizando alguns testes para printar algumas mensagens na tela, consegui constatar alguns detalhes, a consulta no banco está correta, os dados enviados pelo formularioDTO tbm estão chegando corretamente, o problema ocorre neste trecho de código:
@PostMapping public ResponseEntity<?> autenticar(@RequestBody @Valid LoginForm form) {
UsernamePasswordAuthenticationToken dadosLogin = form.converter();
try {
Authentication authentication = authManager.authenticate(dadosLogin); // problema ococrre nesta linha
String token = tokenService.gerarToken(authentication);
return ResponseEntity.ok(new TokenDto(token, "Bearer"));
} catch (AuthenticationException e) {
return ResponseEntity.badRequest().build();
}
}
Para ser mais exato, coloquei alguns system.outs e o antes do Authentication authentication = authManager.authenticate(dadosLogin); printa normal, porém, o system.out depois que declaro Authentication já não printa, nem chega a fazer a chamada do metodo gerarToken, o que pode estar ocorrendo? A senha do banco não está batendo? Fiz como foi explicado na aula para cria-la, criei o BCryptPasswordEncoder.encode("senha") e salvei o hash gerado no banco como senha.
O Authentication devo importar do import org.springframework.security.core.Authentication ?