Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não consigo fazer o login - Encoded password does not look like BCrypt - estou usando o MySQL

**Não consigo fazer o login, sempre da esse erro

Segui os passos de pegar o código no System.out.println(new BCryptPasswordEncoder().encode("123456")); Que deu por ex = $2a$10$Cu2ko5FaMJKWX.WmtIlse./vdMh8aUHOShQ4akOIvJ.hmhZp/eWM6

Ai altero no MySQL a senha para : '$2a$10$Cu2ko5FaMJKWX.WmtIlse./vdMh8aUHOShQ4akOIvJ.hmhZp/eWM6'

Rodo o código e continua dando o mesmo erro.**

Classe SecurityConfigurations: @EnableWebSecurity @Configuration public class SecurityConfigurations extends WebSecurityConfigurerAdapter {

@Autowired
private AutenticacaoService autenticacaoService;

//Configuracoes de autenticacao
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    auth.userDetailsService(autenticacaoService).passwordEncoder(new BCryptPasswordEncoder());
}

//Configuracoes de autorizacao
@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests()
            .antMatchers(HttpMethod.GET, "/topicos").permitAll()
            .antMatchers(HttpMethod.GET, "/topicos/*").permitAll()
            .anyRequest().authenticated()
            .and().formLogin();
}


//Configuracoes de recursos estaticos(js, css, imagens, etc.)
@Override
public void configure(WebSecurity web) throws Exception {
}

// public static void main(String[] args) { // // System.out.println(new BCryptPasswordEncoder().encode("123456")); // }

}

Autenticação service

@Service public class AutenticacaoService implements UserDetailsService {

@Autowired
private UsuarioRepository repository;

@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    Optional<Usuario> usuario = repository.findByEmail(username);
    if (usuario.isPresent()) {
        return usuario.get();
    }

    throw new UsernameNotFoundException("Dados inválidos!");
}

}

*Usuario *

@Entity public class Usuario implements UserDetails {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
private String email;
private String senha;

@ManyToMany(fetch = FetchType.EAGER)
private List<Perfil> perfis = new ArrayList<>();

public Usuario() {
}

@Override
public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((id == null) ? 0 : id.hashCode());
    return result;
}

@Override
public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    Usuario other = (Usuario) obj;
    if (id == null) {
        if (other.id != null)
            return false;
    } else if (!id.equals(other.id))
        return false;
    return true;
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getNome() {
    return nome;
}

public void setNome(String nome) {
    this.nome = nome;
}

public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

public String getSenha() {
    return senha;
}

public void setSenha(String senha) {
    this.senha = senha;
}

@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
    return this.perfis;
}

@Override
public String getPassword() {
    return this.senha;
}

@Override
public String getUsername() {
    return this.email;
}

@Override
public boolean isAccountNonExpired() {
    return true;
}

@Override
public boolean isAccountNonLocked() {
    return true;
}

@Override
public boolean isCredentialsNonExpired() {
    return true;
}

@Override
public boolean isEnabled() {
    return true;
1 resposta
solução!

Criei um novo BD e fiz todos os inserts novamente e deu certo.