Vi que alguien mas tenía la misma duda pero no está resuelta aun.
@Component
public class SecurityFilter extends OncePerRequestFilter {
@Autowired
private TokenService tokenService;
@Autowired
private UsuarioRepository usuarioRepository;
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {
// Obtener el token del header
var authHeader = request.getHeader("Authorization");
if (authHeader != null) {
var token = authHeader.replace("Bearer ", "");
var nombreUsuario = tokenService.getSubject(token); // extract username
if (nombreUsuario != null) {
// Token valido
var usuario = usuarioRepository.findByLogin(nombreUsuario);
var authentication = new UsernamePasswordAuthenticationToken(usuario, null,
usuario.getAuthorities()); // Forzamos un inicio de sesion
SecurityContextHolder.getContext().setAuthentication(authentication);
}
}
filterChain.doFilter(request, response);
}
}
La linea de codigo donde aparece filterChain.doFilter(request, response); lo tiene dentro del if y en insomnia muesta 200 solmante sin mostrar el token pero luego el lo saca del if y ahi si le muestra el toke PERO A MI NOOO me muesta un error 403 y no me explico porque.
Intenté terminar el curso pese a lo sucedido para ver si en algun punto el error se arreglaba pero no se arreglo y sigo sin poder resolverlo.
En los logs del programa me aparece esto:
2023-10-01T19:11:47.741+09:00 WARN 15892 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/octet-stream' is not supported]
Intenté buscar en internet pero no pude resolver mi duda.
De antemano, gracias.