版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
添加如下依赖:
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.0</version>
</dependency>
小工具代码:
package org.mochou.mymall.admin.util;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.ExpiredJwtException;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.springframework.stereotype.Service;
import java.util.Date;
@SuppressWarnings("all")
@Service
public class JwtUtil {
//私钥
final static String base64EncodedSecretKey = "admin";
//过期时间,十分钟
final static long TOKEN_EXP = 1000 * 60 * 10;
public String getToken(String userName) {
return Jwts.builder()
.setSubject(userName)
.claim("roles", "user")
.setIssuedAt(new Date())
.setExpiration(new Date(System.currentTimeMillis() + TOKEN_EXP))
.signWith(SignatureAlgorithm.HS256, base64EncodedSecretKey)
.compact();
}
/**
* 检查token,只要不正确就会抛出异常
**/
public boolean checkToken(String token) {
try {
final Claims claims = Jwts.parser().setSigningKey(base64EncodedSecretKey).parseClaimsJws(token).getBody();
//return claims;
return true;
} catch (ExpiredJwtException e1) {
//throw new Exception("登录信息过期,请重新登录");
return false;
} catch (Exception e) {
//throw new Exception("用户未登录,请重新登录");
return false;
}
}
}