package com.ltkj.framework.config; import com.ltkj.common.utils.StringUtils; import io.jsonwebtoken.*; import java.util.Date; import java.util.Map; /** * @Author: 西安路泰科技有限公司/赵佳豪 * @Date: 2022/11/17 9:48 * 生成token工具类 */ public class JwtUtils { //秘钥 private static final String TOOKRN_SECRET = "ltkj"; //过期时间 private static final long TOKEN_TIME_OUT = 1000 * 60 * 60 * 24 * 7; //生成token public static String getToken(Map params) { long currentTimeMillis = System.currentTimeMillis(); return Jwts.builder() .signWith(SignatureAlgorithm.HS512, TOOKRN_SECRET)//加密方式 .setExpiration(new Date(currentTimeMillis + TOKEN_TIME_OUT))//过期时间 .addClaims(params) .compact(); } //获取token信息 public static Claims getClaims(String token) { return Jwts.parser() .setSigningKey(TOOKRN_SECRET) .parseClaimsJws(token).getBody(); } //判断token是否有效 public static boolean verifyToken(String token) { if (StringUtils.isEmpty(token)) { return false; } try { Claims claims = Jwts.parser().setSigningKey("ltkj").parseClaimsJws(token) .getBody(); } catch (ExpiredJwtException e) { return false; } return true; } }