JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。
一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名。 创建模块 引入pom依赖
在这里插入代码片 <dependencies> <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.0</version> </dependency> </dependencies>简单使用
在这里插入代码片 public class JWTTest { public static void main(String[] args) { long currentTimeMillis = System.currentTimeMillis(); Date date = new Date(currentTimeMillis+5000); // 生成jwt令牌 JwtBuilder jwtBuilder = Jwts.builder().setId("666") //设置唯一编号 .setSubject("叶仙人") //设置主题 可以是JSON数据 .setIssuedAt(new Date()) //设置签发日期 .setExpiration(date) //用于设置过期时间 ,参数为Date类型数据 .claim("roles","admin") //设置角色 自定义claims .signWith(SignatureAlgorithm.HS256, "itywh");//设置签名 使用HS256算法,并设置SecretKey(字符串) //构建 并返回一个字符串,每次运行结果不一样 String jwtToken = jwtBuilder.compact(); System.out.println(jwtToken); //解析token Claims claims = Jwts.parser().setSigningKey("itywh").parseClaimsJws(jwtToken).getBody(); System.out.println(claims); //{jti=666, sub=叶仙人, iat=1602156088, exp=1602156093, roles=admin} } }