public static String build(String json) {
return Jwts.builder()
.setSubject(json)
.setExpiration(new Date(System.currentTimeMillis() + TOKEN_EXPIRE_TIME))
.signWith(SignatureAlgorithm.HS512, JWT_SIGNING)
.compact();
}
/**
-
将token解析成实体类
-
@param token
-
@param clazz
-
@param
-
@return
*/
public static T get(String token, Class clazz) {
if (StringUtils.isBlank(token)) {
throw new RuntimeException(“Token为空”);
}
try {
Claims claims = Jwts.parser()
.setSigningKey(JWT_SIGNING)
.parseClaimsJws(token)
.getBody();
return JSON.parseObject(claims.getSubject(), clazz);
} catch (ExpiredJwtException e) {
log.error(“JWT过期:”, e);
throw new RuntimeException(“JWT过期”);