Token工具类–使用hutools
package cyh.utils;
@Slf4j
public class MyJwtUtil {
private MyJwtUtil() {
}
private static final String TOKEN_KEY = "MDk4ZjZiY2Q0NjIxZDM3M2NhZGU0ZTgzMjYyN2I0ZjY";
private static final String UID_KEY = "uid";
private static final String ROLE_KEY = "role";
private static final String EXPIRE_TIME_KEY = "expire_time";
private static final long EXPIRE_TIME = 1000 * 60 * 60 * 24 * 7;
public static String getToken(Long uid, String key) {
Map<String, Object> map = new HashMap<>(10);
map.put(UID_KEY, uid);
map.put(ROLE_KEY, key);
map.put(EXPIRE_TIME_KEY, System.currentTimeMillis() + EXPIRE_TIME);
return JWTUtil.createToken(map, TOKEN_KEY.getBytes());
}
public static Boolean verifyToken(String token) {
Long payload = Long.parseLong(JWTUtil.parseToken(token).getPayload(EXPIRE_TIME_KEY).toString());
if (!JWTUtil.verify(token, TOKEN_KEY.getBytes()) || payload < System.currentTimeMillis()) {
return false;
}
return true;
}
public static Long getUid(String token) {
JWT jwt = JWTUtil.parseToken(token);
Object payload = jwt.getPayload(UID_KEY);
if (Objects.isNull(payload)) {
return null;
}
return Long.parseLong(payload.toString());
}
public static String getRoleUser(String reqToken) {
JWT jwt = JWTUtil.parseToken(reqToken);
Object payload = jwt.getPayload(ROLE_KEY);
if (Objects.isNull(payload)) {
return null;
}
return payload.toString();
}
}