继续将Controller类内容丰富。
验证jwt通过后,继续进行正常的接口访问,这里demo是以进入到test方法为例。一般在处理业务逻辑时,很有可能需要这次访问的用户信息,这就需要根据token获取用户信息数据。
@PostMapping("/test")
public Map<String,Object> test(HttpServletRequest request) {
Map<String, Object> map = new HashMap<>();
//处理自己业务逻辑
String token = request.getHeader("token");
DecodedJWT verify = JWTUtils.verify(token);
logger.info("用户id:[{}]",verify.getClaim("id").asString());
logger.info("用户名:[{}]",verify.getClaim("name").asString());
map.put("state",true);
map.put("msg","请求成功!");
return map;
}
- 要用到token的payload中的数据,则入参应该为HttpServletRequest request。由于token信息存储在请求头(Request Header)中,所以需要通过request对象把request header中的token取出来。
后续,前后端分离开发,前端将token存储在local storage或session storage中,由前端自己指定。