使用JWT令牌需导入依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
工具类
public class JwtUtils {
private static String singKey = "leiguanfa";//设置密钥
private static Long expire = 3600*1000L;//设置过期时间为一小时以后
public static String generateJwt(Map<String,Object> claims){
String jwt = Jwts.builder()
.signWith(SignatureAlgorithm.HS256, singKey)//签名算法:第二个字符串不能过长或过短
.setClaims(claims)//设置自定义内容
.setExpiration(new Date(System.currentTimeMillis() + expire))//设置有效期
.compact();//生成令牌
return jwt;
}
public static Claims parseJwt(String jwt){
Claims str = Jwts.parser()
.setSigningKey(singKey)
.parseClaimsJws(jwt)//解析令牌
.getBody();
return str;
}
}