|
|
|
@ -23,7 +23,7 @@ public class TokenProvider {
|
|
|
|
|
private final static String SECRET = "MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEAghgsx+OLLThi7c+/HgCaRla8n+/QLHt++uscoK22dMeaVa3WJvRb5C5qtHGzj9V74pI96JpxdWWCN3Zr1QtanQIDAQABAkB2fWRUD1jVMBVS+rPctLnPNPMKTRdzXGv0SC5D3tRfGZqdcfsmZg8hzBVndHxngmwZS73d+hPjofcdefDDnXq1AiEAz/r1AMF7fweN70mbKgBJuTja37puJMsH2Szwrvb5jlcCIQCgIaLZ5d9J7OomL0NwH8ghba/xgBEpKzErfGbFnTfeKwIgc8ptczFFV1DWZb2eJIEqinOr79l0jwl2YiQSD+cyw1sCIHqxCvv1Wx5jPgy/zeYNE+Q5DMP3Ii7u/x+Yk436JiI9AiEAio84hFm44YTUuV7YCYsbyvnCn/vtcAaqZlczbeHlP1I=";
|
|
|
|
|
private final static long EXP_TIME = 1000 * 60 * 60 * 4;
|
|
|
|
|
|
|
|
|
|
private final static String SECRET_ZHIYUN = "zy_wh_mnjy_fp76ckwuczzmb67w0a8x0";
|
|
|
|
|
private final static String SECRET_ZHIYUN = "zy_zx_mnjy_fp76ckwuczzmb67w0a8x0";
|
|
|
|
|
|
|
|
|
|
private final static String CURRENT_TO_ZHIYUN = "jVzvfoZU_eFN0CJcFARg0K6DlzTLa7oMWB7lV_y2s7bkv2Bem0281wEwlJp5afhsmM-Ynwvh3mAUTpwblGEz1A";
|
|
|
|
|
|
|
|
|
@ -68,6 +68,43 @@ public class TokenProvider {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static JwtUser getJWTUserOne(String jwtToken) {
|
|
|
|
|
jwtToken = jwtToken.replace("Bearer ", "");
|
|
|
|
|
try {
|
|
|
|
|
Claims claims = Jwts.parser()
|
|
|
|
|
.setSigningKey(
|
|
|
|
|
new SecretKeySpec(
|
|
|
|
|
SECRET.getBytes("UTF-8"),
|
|
|
|
|
SignatureAlgorithm.HS512.getJcaName()
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
.parseClaimsJws(jwtToken)
|
|
|
|
|
.getBody();
|
|
|
|
|
|
|
|
|
|
JwtUser jwtUser = new JwtUser();
|
|
|
|
|
jwtUser.setName(claims.get("name")==null?"":claims.get("name").toString());
|
|
|
|
|
jwtUser.setUserId(claims.get("userId")==null?"":claims.get("userId").toString());
|
|
|
|
|
jwtUser.setRoleId(Integer.valueOf(claims.get("roleId")==null?"0":claims.get("roleId").toString()));
|
|
|
|
|
jwtUser.setClassId(Integer.valueOf(claims.get("classId")==null?"0":claims.get("classId").toString()));
|
|
|
|
|
jwtUser.setSchoolId(Integer.valueOf(claims.get("schoolId")==null?"0":claims.get("schoolId").toString()));
|
|
|
|
|
jwtUser.setUsername(claims.get("username")==null?"":claims.get("username").toString());
|
|
|
|
|
jwtUser.setAuthorityCodes((List<String>) claims.get("authorityCodes"));
|
|
|
|
|
return jwtUser;
|
|
|
|
|
} catch (ExpiredJwtException e1) {
|
|
|
|
|
throw new ExpiredJwtException(null, null, "token过期");
|
|
|
|
|
} catch (UnsupportedJwtException e2) {
|
|
|
|
|
throw new UnsupportedJwtException("不支持的token");
|
|
|
|
|
} catch (MalformedJwtException e3) {
|
|
|
|
|
throw new MalformedJwtException("token格式错误");
|
|
|
|
|
} catch (SignatureException e4) {
|
|
|
|
|
throw new SignatureException("签名失败");
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
throw new UnAuthorizedException("无效token");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static String createToken(JwtUser jwtUser) {
|
|
|
|
|
Key key = Keys.hmacShaKeyFor(SECRET.getBytes());
|
|
|
|
|
Date expiration = new Date(System.currentTimeMillis() + EXP_TIME);
|
|
|
|
|