Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

146
Vistas
No recibir mensaje en la excepción interna de primavera

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

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Esto se debe a los cambios realizados en SpringBoot desde la versión 2.3. Consulte esta sección. Los mensajes de error ya no se incluyen en las respuestas de forma predeterminada. Agregue esta línea a su aplicación.propiedades:

 server.error.include-message=always
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda