首先注入以下依赖:
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
然后在创建的JwtUtils写入以下代码用以生成tokens:
private static long expire = 604800;
private static String secret = "ahshchxhshdjskxncmskzvsdxhciwnxc";
public static String generateToken(String username) {
Date now = new Date();
Date expiration = new Date(now.getTime() + 1000 * expire);
return Jwts.builder()
.setHeaderParam("type","JWT")
.setSubject(username)
.setIssuedAt(now)
.setExpiration(expiration)
.signWith(SignatureAlgorithm.HS512,secret)
.compact();
其中expire是有效期,secret是32位密钥。
解析token:
private static Claims getClaimsByToken(String token)
{
return Jwts.parser()
.setSigningKey(secret)
.parseClaimsJws(token)
.getBody();
}