当我遇到401错误时,我试图生成一条自定义消息,但消息从未进入响应。你能告诉我为什么会这样吗?
这是我经常得到的回应。“message”字段中的值始终是空字符串
{
"timestamp": "2021-01-17T06:56:27.622+00:00",
"status": 401,
"error": "Unauthorized",
"message": "",
"path": "/api/example"
}
这是代码:
@Component
public class JwtAuthenticationEntryPointConfig implements AuthenticationEntryPoint, Serializable {
private static final long serialVersionUID = -7858869558953243875L;
@Override
public void commence(HttpServletRequest request, HttpServletResponse response,
AuthenticationException authException) throws IOException, ServletException {
String message = response.getHeader("description")!=null ? response.getHeader("description") : "Unauthorized";
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, message);
}
}
标题:当我得到代币箱时添加的描述已过期
if (requestTokenHeader != null && requestTokenHeader.startsWith("Bearer ")) {
jwtToken = requestTokenHeader.substring(7);
tokenReverse = new StringBuilder(jwtToken).reverse().toString();
try {
username = jwtTokenUtil.getUsernameFromToken(tokenReverse);
} catch (IllegalArgumentException e) {
logger.info("Unable to get JWT Token");
} catch (ExpiredJwtException e) {
HttpServletResponse res = (HttpServletResponse) response;
res.addHeader("description", "Token has expired"); //HERE
logger.info("JWT Token has expired");
}
} else {
logger.info("JWT Token does not begin with Bearer String");
}
暂无答案!
目前还没有任何答案,快来回答吧!