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

[Proyecto] Haga lo que hicimos: Autenticación API

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

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

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

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

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

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

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

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

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

1 respuesta

Hola, Wilder, espero que estés bien

Veo que estás trabajando en la implementación de la autenticación para una API en Spring Boot. Vamos a revisar algunos puntos clave en tu código:

  1. Clase Usuario:

    • Asegúrate de que la clase Usuario implemente correctamente la interfaz UserDetails. Parece que ya has sobrescrito los métodos necesarios como getPassword, getUsername, etc.
    • Verifica que los roles y las autoridades estén configurados correctamente en el método getAuthorities.
  2. Repositorio UsuarioRepository:

    • Tu método findByLogin parece estar bien definido. Asegúrate de que el nombre del método coincida con el nombre del campo en la base de datos para que Spring Data JPA pueda generar la consulta automáticamente.
  3. Servicio AutenticacionService:

    • En el método loadUserByUsername, asegúrate de manejar el caso en que el usuario no sea encontrado. Puedes lanzar una excepción UsernameNotFoundException si el resultado es null.
    @Override
    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        return repository.findByLogin(username)
            .orElseThrow(() -> new UsernameNotFoundException("Usuario no encontrado"));
    }
    
  4. Configuración de Seguridad SecurityConfigurations:

    • Asegúrate de que hayas configurado correctamente la clase de seguridad para usar tu AutenticacionService.
    • Configura los endpoints que requieren autenticación y los que no.

Si ya has revisado estos puntos y sigues teniendo problemas, verifica los logs de la aplicación para obtener más pistas sobre lo que podría estar fallando.

Espero haber ayudado y buenos estudios!