public class Tooken {
private static final long EXPIRE_TIME = 15*60*1000;
private static final String TOKEN_SECRET = "123465";
/**
* 签发JWT
* @param account
* @param userId
* @return String
*
*/
public static String createJWT(String account, String userId) {
Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET);
long nowMillis = System.currentTimeMillis()+EXPIRE_TIME;
Date now = new Date(nowMillis);
Map<String,Object> header = new HashMap<>(2);
header.put("typ","JWT");
header.put("alg","HS256");
String token = JWT.create().withHeader(header)
.withClaim("account",account)
.withClaim("userId",userId)
.withExpiresAt(now)
.sign(algorithm);
return token;
}
/**
* 验证JWT
* @param token
* @return
*/
public static boolean verify(String token) {
try{
Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET);
JWTVerifier jwtVerifier = JWT.require(algorithm).build();
DecodedJWT jwt = jwtVerifier.verify(token);
return true;
}catch (Exception e){
return false;
}
}
}