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

Error de autenticacion de login en Spring boot 3

Buenas tardes, tengo error al momento de autentificar mi usuario como user: juan y la clave: 123456 encriptada como hahs me sale error en insomia 403 Forbidden

POST /login HTTP/1.1 Host: localhost:8080 Cookie: JSESSIONID=35279A3D732080741143F6FE9CAC0375 Content-Type: application/json User-Agent: insomnia/2023.5.8 Accept: / Content-Length: 39

| { | "login":"juan", | "clave:":"123456" | }

  • Mark bundle as not supporting multiuse

< HTTP/1.1 403 < X-Content-Type-Options: nosniff < X-XSS-Protection: 0 < Cache-Control: no-cache, no-store, max-age=0, must-revalidate < Pragma: no-cache < Expires: 0 < X-Frame-Options: DENY < Content-Length: 0 < Date: Thu, 14 Sep 2023 18:03:51 GMT

he tratado de solucionarlo la aplicacion esta bien baje varias de repositorio el problema parece estar en bd pero tambien esta funcionando nomal, espero me puedan ayudar

1 respuesta

Hola,

Por lo que entiendo, estás teniendo problemas con la autenticación en tu aplicación Spring Boot. El error 403 Forbidden sugiere que el servidor entendió la solicitud, pero se niega a autorizarla. Esto puede ser debido a varias razones.

  1. Roles y permisos: Verifica si el usuario 'juan' tiene los permisos correctos para acceder al recurso que estás intentando acceder. Si estás utilizando Spring Security, asegúrate de que los roles y permisos estén configurados correctamente.

  2. Problemas de CORS: Si estás haciendo la solicitud desde un dominio diferente, podrías estar experimentando un problema de CORS. Asegúrate de que tu aplicación Spring Boot esté configurada para permitir solicitudes CORS desde el dominio correcto.

  3. Error en la solicitud: Tu solicitud POST parece estar bien formada, pero asegúrate de que la clave "clave" no tenga un error de tipografía. En tu ejemplo, parece que hay un ":" extra después de "clave". Debería ser "clave", no "clave:".

  4. Encriptación de la contraseña: Dices que la contraseña está encriptada como hash. Asegúrate de que la contraseña se esté desencriptando correctamente antes de compararla con la contraseña ingresada por el usuario.

Un ejemplo de cómo podrías desencriptar la contraseña sería:

BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode("123456");

boolean isPasswordMatch = passwordEncoder.matches("123456", hashedPassword);
if(isPasswordMatch) {
    // Autenticar al usuario
} else {
    // Lanzar error de autenticación
}

Espero que estas sugerencias te ayuden a resolver tu problema. Recuerda, la depuración es una parte normal del desarrollo, así que no te desanimes.

Espero haber ayudado y buenos estudios!