package pwc.taxtech.atms.security; import io.jsonwebtoken.JwtBuilder; import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import org.junit.Test; import org.nutz.lang.Times; import pwc.taxtech.atms.common.CommonUtils; import java.util.Calendar; import java.util.Date; public class JwtGneratorTest { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 2999); Date now = new Date(); JwtBuilder jwtBuilder = Jwts.builder(); // 设置Subject为登录用户名 jwtBuilder.setSubject("longi"); jwtBuilder.setExpiration(calendar.getTime()); jwtBuilder.setIssuedAt(now); // 设置时钟误差偏移量,即10分钟 Date notBefore = Times.nextSecond(now, -600); jwtBuilder.setNotBefore(notBefore); jwtBuilder.setId(CommonUtils.getUUID()); jwtBuilder.claim("appId", "longi"); // 设置body.username为数据库用户名 jwtBuilder.signWith(SignatureAlgorithm.HS512, "TXppQjFlZFBSbnJzMHc0Tg=="); System.out.println(jwtBuilder.compact()); } @Test public void tt() { } }