一、引入依赖

		<dependency>
            <groupId>com.auth0</groupId>
            <artifactId>java-jwt</artifactId>
            <version>3.4.0</version>
        </dependency>

二、生成token

	@Test
    void contextLoads() {
        Calendar instance = Calendar.getInstance();
        instance.add(Calendar.SECOND,3600);
        //生成令牌
        String token = JWT.create()
                //省略了Header,Header可以不写
                .withClaim("userid",110)    //Payload
                .withClaim("username","chenshao")   //Payload
                .withExpiresAt(instance.getTime())  //设置过期时间
                .sign(Algorithm.HMAC256("!asdqewqweqwdasx"));  //加密算法,秘钥
        System.out.println(token);
    }

生成结果如下:

JTW——02,第一个jwt程序-LMLPHP

三、解析令牌数据

    @Test
    public void test () {
        //创建验证对象
        JWTVerifier jwtVerifier = JWT.require(Algorithm.HMAC256("!asdqewqweqwdasx")).build();   //跟上面的秘钥一样
        DecodedJWT verify = jwtVerifier.verify("eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2OTkzNDkwNTksInVzZXJpZCI6MTEwLCJ1c2VybmFtZSI6ImNoZW5zaGFvIn0.aIIONTgQHsnquGRpkrygtp3bHGj-HW0Ql7ZTwE-tQMI");
        System.out.println(verify.getClaim("userid").asInt());
        System.out.println(verify.getClaim("username").asString());
    }

解析结果如下:

JTW——02,第一个jwt程序-LMLPHP

四、补充

JTW——02,第一个jwt程序-LMLPHP

03-28 03:28