Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

[Duda] Problema con la Clave

Hola, disculpen tengo un problema con el tema de la clave.

Cuando mando la solicitud en insomnia me da el error 403 y me aparece lo siguiente en intellij Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidadgenere mi clave en https://www.browserling.com/tools/bcrypt y tambien con ayuda de codigo en java y de igual manera me sigue dando el error 403.

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

4 respuestas

Hola Kevin,

Entiendo que estás teniendo problemas con la autenticación de tu API Rest en Spring Boot. El error 403 Forbidden suele estar relacionado con problemas de autorización, y puede ser que el problema esté en la validación de la clave que estás utilizando.

Dado que estás utilizando la herramienta bcrypt para generar la clave, es importante asegurarse de que el formato y la comparación de la clave en la solicitud coincidan con lo que el servidor espera. Asegúrate de que estás enviando la clave de forma segura y que la comparación en el servidor se está realizando correctamente.

Además, es importante revisar el código en tu AuthenticationController para asegurarte de que el request body se esté recibiendo correctamente y que la validación se esté realizando contra los datos en la base de datos.

Si necesitas más ayuda, sería útil compartir el código relevante de tu AuthenticationController para poder identificar posibles problemas.

Espero que esto te ayude a solucionar tu problema. ¡Buena suerte con tu proyecto!

Espero haber ayudado y buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!

Verifica que hayas guardado los cambios en la base de datos, no basta con escribirlos es necesario aplicarlos. :)

Hola Kevin,

Tengo el mismo error, lo pudiste solucionar?

Yo solucione el problema generando el token con el mismo Spring implementando la siguiente clase:

import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

public class PasswordHashingTest {

    public static void main(String[] args) {
        String password = "123456";

        // Crea el codificador de contraseñas usando BCrypt
        PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();

        // Hashea la contraseña
        String hashedPassword = passwordEncoder.encode(password);

        // Imprime el hash generado
        System.out.println("Contraseña original: " + password);
        System.out.println("Contraseña hasheada: " + hashedPassword);

        // Verifica si la contraseña coincide con el hash generado (esto es solo para demostración)
        boolean matches = passwordEncoder.matches(password, hashedPassword);
        System.out.println("¿Contraseña coincide con el hash? " + matches);
    }
}

me imprime la contrasela hasheada,

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

que la puedes guardar en la base de datos haciendo el insert into:

update usuarios set clave = '$2a$10$ahXPRPxVhnfeR7TRuXm5Gewwv85EnczHdvZKiVVl6CaD/sZQQ2J5W'
where id = 1;

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

al ejecutarlo te actualiza la que se encuentra almacenada en la base de datos condionandola por id.

Espero que te sea de ayuda.

Saludos.