1. 坐标依赖
<dependencies>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.6.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
</dependencies>
2. 代码
package com.sunmone.test;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtBuilder;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.junit.Test;
import java.util.Date;
public class TestJwt {
@Test
public void CreatToken() {
JwtBuilder jwt = Jwts.builder()
.signWith(SignatureAlgorithm.HS256, "sunmone")
.setId("123456")
.setSubject("tom")
.setIssuer("Jack")
.setIssuedAt(new Date())
.setExpiration(new Date(System.currentTimeMillis() + (1000 * 60)))
.claim("name","Rose")
.claim("admin",true);
String token = jwt.compact();
System.out.println(token);
}
@Test
public void AnalysisToken(){
String token = "eyJhbGciOiJIUzI1NiJ9.eyJqdGkiOiIxMjM0NTYiLCJzdWIiOiJ0b20iLCJpc3MiOiJKYWNrIiwiaWF0IjoxNjUzNjQ3NDAyLCJleHAiOjE2NTM2NDc0NjIsIm5hbWUiOiJSb3NlIiwiYWRtaW4iOnRydWV9.CDzUuBtCJqdvrrC8ui2C36Wkeif3fyTTFFfZ370ROfM";
Claims claims = Jwts.parser().setSigningKey("sunmone").parseClaimsJws(token).getBody();
System.out.println("jti :" + claims.getId());
System.out.println("sub :" + claims.getSubject());
System.out.println("iss :" + claims.getIssuer());
System.out.println("iat :" + claims.getIssuedAt().toLocaleString());
System.out.println("exp :" + claims.getExpiration().toLocaleString());
System.out.println("name :" + claims.get("name"));
System.out.println("admin :" + claims.get("admin"));
}
}