tengo este error y tengo el codigo identico que al instructor, pero no le hayo que puede ser.
esta es mi clase; package med.voll.api.controller;
import jakarta.validation.Valid; import med.voll.api.infra.security.DatosJWTToken; import med.voll.api.infra.security.TokenServices; import med.voll.api.usuarios.DatosAutenticacionUsuario; import med.voll.api.usuarios.Usuario; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.ResponseEntity; import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;
@RestController @RequestMapping("/login") public class AutenticacionController {
@Autowired
private AuthenticationManager authenticationManager;
@Autowired
private TokenServices tokenService;
@PostMapping
public ResponseEntity autenticarUsuario(@RequestBody @Valid DatosAutenticacionUsuario datosAutenticacionUsuario) {
Authentication authToken = new UsernamePasswordAuthenticationToken(datosAutenticacionUsuario.login(),
datosAutenticacionUsuario.clave());
var usuarioAutenticado = authenticationManager.authenticate(authToken);
var JWTtoken = tokenService.generarToken((Usuario) usuarioAutenticado.getPrincipal());
return ResponseEntity.ok(new DatosJWTToken(JWTtoken));
}
}
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2023-09-26T17:57:25.837-06:00 ERROR 8560 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
APPLICATION FAILED TO START
Description:
Field authenticationManager in med.voll.api.controller.AutenticacionController required a bean of type 'org.springframework.security.authentication.AuthenticationManager' that could not be found.
The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'org.springframework.security.authentication.AuthenticationManager' in your configuration.
Process finished with exit code 1