pom文件中添加依赖
<dependency>
<groupId>com.auth0</groupId>
<artifactId>java-jwt</artifactId>
<version>3.2.0</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.7.0</version>
</dependency>
工具类
package io.gte.twintowers.utils;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import java.util.Date;
public class JwtUtil {
private static final String KEY = "fgjlhuifgyhhhhhhhhsssssghas";
private static final long TTL = 86400000;//失效时间为1天
private static final long DISABLE = 3000;//失效时间为3秒
/**
* 设置token认证
* @param id 登录用户id
* @return
*/
public static String createJwt(String id){
long now = System.currentTimeMillis();
long exp=now+TTL;
JwtBuilder jwtBuilder = Jwts.builder().setId(id)
.setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS256, KEY);
//设置失效时间
jwtBuilder.setExpiration(new Date(exp));
String token = jwtBuilder.compact();
return token;
}
public static String exitJwt(String id){
long now = System.currentTimeMillis();
long exp=now+DISABLE;
JwtBuilder jwtBuilder = Jwts.builder().setId(id)
.setIssuedAt(new Date())
.signWith(SignatureAlgorithm.HS256, KEY);
//设置失效时间
jwtBuilder.setExpiration(new Date(exp));
String token = jwtBuilder.compact();
return token;
}
public static Claims parseJwt(String token){
Claims claims = Jwts.parser().setSigningKey(KEY).parseClaimsJws(token).getBody();
return claims;
}
}