1、添加依赖
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
2、创建生成JWT令牌
public void testGeneJWT(){
Map<String, Object> claims = new HashMap<>();
//用于存放自定义内容
claims.put("id",1);
claims.put("name", "tom");
String jwt = Jwts.builder()
.signWith(SignatureAlgorithm.HS256, "itheima")//签名算法
.setClaims(claims)//自定义内容(载荷)
.setExpiration(new Date(System.currentTimeMillis() + 3600 * 1000))//设置令牌有效期1小时
.compact();//封装成jwt令牌
System.out.println(jwt);
}
3、JWT令牌的校验
public void parseJWT(){
Claims claims = Jwts.parser()
.setSigningKey("itheima")//输入密钥
.parseClaimsJws("eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidG9tIiwiaWQiOjEsImV4cCI6MTY4NTU1NTQ0OX0.w3v6awrSNtvFjKlUgp-RvFQ3TqSXEms5MA38eBEczlE")
//输入待校验的JWT令牌
.getBody();//获取自定义存放的信息以及令牌时效
System.out.println(claims);
}