<dependency><groupId>io.jsonwebtoken</groupId><artifactId>jjwt</artifactId><version>0.9.1</version>
</dependency>
//生成tokenMap<String, Object> claims = new HashMap<String, Object>();claims.put("id", user.getId());String jwtToken = Jwts.builder().setClaims(claims) //payload,存放数据的位置,不能放置敏感数据,如:密码等.signWith(SignatureAlgorithm.HS256, secret) //设置加密方法和 secret加密盐.setExpiration(new DateTime().plusHours(1200).toDate()) //设置过期时间,12小时后过期.compact();
try {if (StringUtils.isEmpty(token)) {return null;}// 通过token解析数据Map<String, Object> body = Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody();User user = User.builder().id(Long.valueOf(body.get("id").toString())).build();} catch (ExpiredJwtException e) {log.info("token已过期 token:" + token, e);} catch (Exception e) {log.error("token不合法! token" + token, e);}