Claims如何获取里面的信息
一、首先你想拿到Claims里的用户信息的前提是你里面有存储东西
例子:
这里就是个演示,实际按需要去搞
User user = xxxx;//你的用户实体类
Map<String, Object> test = new HashMap<>();
test.put("id", user.getId());
test.put("name", user.getName());
String token = JWTUtil.createJWT(test);
return R.ok().put("token", token);
这样我就建好了一个登录传过去的token值(这里面包括了我们的用户信息),jwt这里就略过。
二、自然就是我们要拿Claims里的数据了
public R test(HttpServletRequest request) {
String token = request.getHeader(AuthConsts.AUTHORIZATION_HEADER);
Claims claims = JWTUtil.parseJWT(appConfig.getJwtSecret(), token);
System.out.println("这是id"+claims.get("id", Integer.class));
System.out.println("这是名称"+claims.get("name", String.class));
return R.data(claims);
}
输出> 这是id 1
输出> 这是名称 DadiaoMan
总结: 需要就使用拿就用 claims.get(“你存的名称”,这个数据的类型);
新手学习记录,有错请指出。多多包涵!