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() {

    }
}