diff --git a/tlias-web-management/pom.xml b/tlias-web-management/pom.xml index 68609e8..3fdff64 100644 --- a/tlias-web-management/pom.xml +++ b/tlias-web-management/pom.xml @@ -69,6 +69,12 @@ jaxb-runtime 2.3.3 + + + io.jsonwebtoken + jjwt + 0.9.1 + diff --git a/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java b/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java index 7681695..809a303 100644 --- a/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java +++ b/tlias-web-management/src/test/java/com/inmind/TliasWebManagementApplicationTests.java @@ -1,8 +1,14 @@ package com.inmind; +import io.jsonwebtoken.Claims; +import io.jsonwebtoken.Jwts; +import io.jsonwebtoken.SignatureAlgorithm; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; @SpringBootTest @@ -26,4 +32,29 @@ class TliasWebManagementApplicationTests { System.out.println(ossAccessKeyId); } + //生成令牌 + @Test + void testJWT(){ + //1.通过工具类Jwts生成jwt令牌,设置签名算法和秘钥 + Map claims = new HashMap<>(); + claims.put("id", "1"); + claims.put("name", "wangwu"); + String jwt = Jwts.builder().signWith(SignatureAlgorithm.HS256, "inmind") + .setClaims(claims)//设置载荷(自定义数据,用户信息数据) +// .setExpiration(new Date(System.currentTimeMillis() + 60 * 60 * 1000))//设置过期时间(有效时间为1小时) + .setExpiration(new Date(System.currentTimeMillis()))//设置过期时间(有效时间为1小时) + .compact(); + System.out.println(jwt); + } + + //解析令牌 + @Test + void testParseJWT(){ + Claims claims = Jwts.parser() + .setSigningKey("inmind")//设置签名秘钥(解析JWT时,最重要的就是输入正确的签名秘钥) + .parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoid2FuZ3d1IiwiaWQiOiIxIiwiZXhwIjoxNzYwNDIzMDQ1fQ.b1IIm_M-chlu-T4J_HQOvic1GILcw1aWaYX2iHa2PM4") + .getBody(); + System.out.println(claims); + } + }