依赖:
<dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version> </dependency>
1.放内容 String secretKey = "jfdsfdslkjafdslkjafds"; @Test public void generateJwt() { List<String> permissions = new ArrayList<>(); permissions.add("/product/add"); permissions.add("/product/delete"); Map<String, Object> claims = new HashMap<>(); claims.put("id", 9527L); claims.put("username", "liucangsong"); JwtBuilder builder = Jwts.builder(); // header, claims (payload), signature String jwt = builder.setHeaderParam(Header.TYPE, Header.JWT_TYPE) .setHeaderParam(Header.CONTENT_TYPE, "HS256") .setClaims(claims) .setExpiration(new Date(System.currentTimeMillis() + 5 * 60 * 1000)) .signWith(SignatureAlgorithm.HS256, secretKey) .compact(); System.out.println(jwt); }
2.取内容
@Test public void pJwt(){ String jwt="eyJ0eXAiOiJKV1QiLCJjdHkiOiJIUzI1NiIsImFsZyI6IkhTMjU2In0.eyJpZCI6OTUyNywiZXhwIjoxNjUxMDI3Mzc0LCJ1c2VybmFtZSI6ImxpdWNhbmdzb25nIn0.KALdAvUNVpst7KWyAslcvYLkS4eB9Hc1fKcbdHl80Ic"; JwtParser parser = Jwts.parser(); Claims claims = parser.setSigningKey(secretKey).parseClaimsJws(jwt).getBody(); Object id = claims.get("id"); Object username = claims.get("username"); Object permissions = claims.get("permissions"); System.out.println("id = " + id); System.out.println("username = " + username); System.out.println("permissions = " + permissions); }