Uso de Spring Boot con JWT y seguridad de sprin ... cuando se lanza una excepción desde el filtro de servlet como no autorizado, prohibido. No recibir mensaje en respuesta. al imprimir el seguimiento de la pila, se muestra pero no se obtiene la respuesta final
{ "timestamp": "2020-11-26T09:09:21.684+00:00", "status": 500, "error": "Internal Server Error", "message": "", "path": "/api/users/profile" } @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { String header = request.getHeader(JwtConstant.AUTHORIZATION); if (StringUtils.isNotBlank(header) && header.startsWith(JwtConstant.BEARER)) { String authToken = header.replace(JwtConstant.BEARER, ""); Claims claims = jwtTokenUtil.getJwtClaims(authToken); String username = claims.getSubject(); UserDetails userDetails = userDetailsService.loadUserByUsername(username); UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, "", getAuthoritiesFromString(claims)); authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(request)); logger.info("authenticated user " + username + ", setting security context"); SecurityContextHolder.getContext().setAuthentication(authentication); } filterChain.doFilter(request, response); } public Claims getJwtClaims(String token) { Claims claims = null; try { claims = Jwts.parserBuilder().setSigningKey(getPublicKey()).build().parseClaimsJws(token).getBody(); } catch (ExpiredJwtException e) { throw new CustomException(env.getProperty(ExceptionMessage.TOKEN_EXPIRED),e, ErrorCode.TOKEN_EXPIRE); } catch (SignatureException | MalformedJwtException e) { throw new CustomException(env.getProperty(ExceptionMessage.TOKEN_INVALID),e, ErrorCode.TOKEN_INVALID); } catch (Exception e) { throw new CustomException(env.getProperty(ExceptionMessage.TOKEN_PARSING),e, ErrorCode.INTERNAL_SERVER_ERROR); } return claims; }Estoy usando la autenticación jwt. cuando la solicitud contiene token. entonces primero recibo reclamos de token. pero si el token está vencido, no es válido, entonces quiero lanzar una excepción personalizada ... pero no puedo obtener un código y mensaje de excepción personalizados