|
|
|
|
@ -17,12 +17,26 @@ public class TokenUtil {
|
|
|
|
|
/**
|
|
|
|
|
* token秘钥
|
|
|
|
|
*/
|
|
|
|
|
private static final String TOKEN_SECRET = "apiManager";
|
|
|
|
|
|
|
|
|
|
private static String TOKEN_SECRET;
|
|
|
|
|
/**
|
|
|
|
|
* 设置过期时间
|
|
|
|
|
*/
|
|
|
|
|
private static final long EXPIRE_DATE = 30 * 60 * 100000;
|
|
|
|
|
private static long EXPIRE_DATE;
|
|
|
|
|
|
|
|
|
|
static {
|
|
|
|
|
String SystemType = PropertiesUtil.getValue("SystemType");
|
|
|
|
|
if (SystemType == null || SystemType.equals("0") || SystemType.equals("2")) {
|
|
|
|
|
TOKEN_SECRET = "apiManager";
|
|
|
|
|
} else if (SystemType.equals("1")) {
|
|
|
|
|
TOKEN_SECRET = "5267915";
|
|
|
|
|
}
|
|
|
|
|
String tokenOutTime = PropertiesUtil.getValue("tokenOutTime");
|
|
|
|
|
if (tokenOutTime.isEmpty()) {
|
|
|
|
|
tokenOutTime = "30";
|
|
|
|
|
}
|
|
|
|
|
EXPIRE_DATE = Long.parseLong(tokenOutTime) * 60 * 1000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static boolean verify(String token) {
|
|
|
|
|
/**
|
|
|
|
|
@ -32,46 +46,14 @@ public class TokenUtil {
|
|
|
|
|
try {
|
|
|
|
|
Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET);
|
|
|
|
|
JWTVerifier verifier = JWT.require(algorithm).build();
|
|
|
|
|
DecodedJWT jwt = verifier.verify(token);
|
|
|
|
|
verifier.verify(token);
|
|
|
|
|
return true;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("验证token异常", e);
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
public static String reToken(String token) {
|
|
|
|
|
/**
|
|
|
|
|
* @desc 验证token,通过返回true
|
|
|
|
|
* @params [token]需要校验的串
|
|
|
|
|
**/
|
|
|
|
|
try {
|
|
|
|
|
Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET);
|
|
|
|
|
JWTVerifier verifier = JWT.require(algorithm).build();
|
|
|
|
|
DecodedJWT jwt = verifier.verify(token);
|
|
|
|
|
String Man = jwt.getClaim("Man").toString().replaceAll("\\\"","");
|
|
|
|
|
String Manid = jwt.getClaim("Manid").toString().replaceAll("\\\"","");
|
|
|
|
|
String Manno = jwt.getClaim("Manno").toString().replaceAll("\\\"","");
|
|
|
|
|
//过期时间
|
|
|
|
|
Date date = new Date(System.currentTimeMillis() + EXPIRE_DATE);
|
|
|
|
|
//秘钥及加密算法
|
|
|
|
|
//设置头部信息
|
|
|
|
|
Map<String, Object> header = new HashMap<>();
|
|
|
|
|
header.put("typ", "JWT");
|
|
|
|
|
header.put("alg", "HS256");
|
|
|
|
|
//携带username,password信息,生成签名
|
|
|
|
|
token = JWT.create()
|
|
|
|
|
.withHeader(header)
|
|
|
|
|
.withClaim("Man", Man)
|
|
|
|
|
.withClaim("Manid", Manid)
|
|
|
|
|
.withClaim("Manno", Manno)
|
|
|
|
|
.withExpiresAt(date)
|
|
|
|
|
.sign(algorithm);
|
|
|
|
|
return token;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取token异常", e);
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static String reToken(String token, HttpServletRequest request) {
|
|
|
|
|
/**
|
|
|
|
|
* @desc 验证token,通过返回true
|
|
|
|
|
@ -81,12 +63,9 @@ public class TokenUtil {
|
|
|
|
|
Algorithm algorithm = Algorithm.HMAC256(TOKEN_SECRET);
|
|
|
|
|
JWTVerifier verifier = JWT.require(algorithm).build();
|
|
|
|
|
DecodedJWT jwt = verifier.verify(token);
|
|
|
|
|
String Man = jwt.getClaim("Man").toString().replaceAll("\\\"","");
|
|
|
|
|
String Manid = jwt.getClaim("Manid").toString().replaceAll("\\\"","");
|
|
|
|
|
String Manno = jwt.getClaim("Manno").toString().replaceAll("\\\"","");
|
|
|
|
|
//log.info("Man======={}",Man);
|
|
|
|
|
//log.info("Manid======={}",Manid);
|
|
|
|
|
//log.info("Manno======={}",Manno);
|
|
|
|
|
String Man = jwt.getClaim("Man").toString().replaceAll("\\\"", "");
|
|
|
|
|
String Manid = jwt.getClaim("Manid").toString().replaceAll("\\\"", "");
|
|
|
|
|
String Manno = jwt.getClaim("Manno").toString().replaceAll("\\\"", "");
|
|
|
|
|
//过期时间
|
|
|
|
|
Date date = new Date(System.currentTimeMillis() + EXPIRE_DATE);
|
|
|
|
|
//秘钥及加密算法
|
|
|
|
|
@ -94,7 +73,6 @@ public class TokenUtil {
|
|
|
|
|
Map<String, Object> header = new HashMap<>();
|
|
|
|
|
header.put("typ", "JWT");
|
|
|
|
|
header.put("alg", "HS256");
|
|
|
|
|
//携带username,password信息,生成签名
|
|
|
|
|
token = JWT.create()
|
|
|
|
|
.withHeader(header)
|
|
|
|
|
.withClaim("Man", Man)
|
|
|
|
|
@ -103,10 +81,10 @@ public class TokenUtil {
|
|
|
|
|
.withExpiresAt(date)
|
|
|
|
|
.sign(algorithm);
|
|
|
|
|
HttpSession session = request.getSession();
|
|
|
|
|
session.setAttribute("token", token);
|
|
|
|
|
session.setAttribute("Man", Man);
|
|
|
|
|
session.setAttribute("Manid", Manid);
|
|
|
|
|
session.setAttribute("Manno", Manno);
|
|
|
|
|
session.setAttribute("token", token);
|
|
|
|
|
return token;
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
log.error("获取token异常", e);
|
|
|
|
|
|