原始碼
// 生成jwt令牌 @Test public void testGenJwt(){ Map<String, Object> claims = new HashMap<>(); //儲存測試資料 claims.put("id",1); claims.put("name","ZTZGTEDXT"); String jwt = Jwts.builder() .signWith(SignatureAlgorithm.HS256, "itheima") //設定簽名演算法 .setClaims(claims) //自定義內容(載荷部分) .setExpiration(new Date(System.currentTimeMillis() + 3600 * 1000)) //有效期為1h,new Date()當前時間,System.currentTimeMillis()當前時間的毫秒值 .compact(); System.out.println(jwt); }
版本不適配,更改版本後:
jdk:17
pom.xml
<!-- jwt令牌依賴--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>0.11.5</version> </dependency>
出現新報錯
嘶……這是,太短了?
將signWith部分更改到50字元後,又出現新報錯
補充依賴為
<!-- jwt令牌依賴--> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api</artifactId> <version>0.11.5</version> </dependency> <dependency> <!-- --> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-impl</artifactId> <version>0.11.5</version> </dependency> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-jackson</artifactId> <version>0.11.5</version> <scope>runtime</scope> </dependency>
載入,再次執行程式碼
令牌生成成功
——————
無關:jwt官網地址: https://jwt.io/