Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

error en el login

tengo una duda, al registar un nuevo usuario en texto plano si registra, pero al hacer el login en insomnia aparece un error

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

pero me sale esto:
Ingrese aquí la descripción de esta imagen para ayudar con l

y en el intellij me aparece esto:

2026-01-17T23:08:54.352-05:00 WARN 3424 --- [api] [nio-8080-exec-1] o.s.s.c.bcrypt.BCryptPasswordEncoder : Encoded password does not look like BCrypt

1 respuesta

Hola Juan, espero que estés bien

Parece que estás enfrentando un problema con la autenticación de usuarios en tu aplicación Spring Boot. El mensaje de advertencia que ves en IntelliJ indica que la contraseña almacenada no está en el formato esperado de BCrypt. Aquí tienes algunos pasos que podrías seguir para resolver este problema:

  1. Verifica el almacenamiento de contraseñas: Asegúrate de que las contraseñas se estén almacenando en la base de datos utilizando BCrypt. Cuando registras un nuevo usuario, la contraseña debe ser codificada con BCryptPasswordEncoder antes de guardarla.

    @Autowired
    private BCryptPasswordEncoder passwordEncoder;
    
    public void registrarUsuario(Usuario usuario) {
        usuario.setContrasenia(passwordEncoder.encode(usuario.getContrasenia()));
        // guarda el usuario en la base de datos
    }
    
  2. Revisa la lógica de autenticación: Asegúrate de que al intentar iniciar sesión, la contraseña proporcionada se esté comparando correctamente con la contraseña codificada almacenada en la base de datos.

    @Autowired
    private BCryptPasswordEncoder passwordEncoder;
    
    public boolean verificarContrasenia(String contraseniaIngresada, String contraseniaAlmacenada) {
        return passwordEncoder.matches(contraseniaIngresada, contraseniaAlmacenada);
    }
    
  3. Actualiza las contraseñas existentes: Si las contraseñas ya almacenadas no están codificadas con BCrypt, considera actualizar las contraseñas existentes para que utilicen este formato.

  4. Configura correctamente Spring Security: Asegúrate de que tu configuración de seguridad esté correctamente establecida para utilizar BCryptPasswordEncoder.

    @Bean
    public BCryptPasswordEncoder passwordEncoder() {
        return new BCryptPasswordEncoder();
    }
    

Siguiendo estos pasos, deberías poder resolver el problema de autenticación. Espero que esto te ayude y buenos estudios!