|
|
|
@ -9,10 +9,10 @@ import cn.hutool.core.util.ArrayUtil;
|
|
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
|
|
import cn.hutool.core.util.URLUtil;
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
|
|
import com.auth0.jwt.JWT;
|
|
|
|
|
import com.auth0.jwt.JWTVerifier;
|
|
|
|
|
import com.auth0.jwt.algorithms.Algorithm;
|
|
|
|
|
import com.auth0.jwt.interfaces.Claim;
|
|
|
|
|
import com.auth0.jwt.interfaces.DecodedJWT;
|
|
|
|
|
import com.ibeetl.admin.core.service.CoreBaseService;
|
|
|
|
|
import com.ibeetl.admin.core.util.PlatformException;
|
|
|
|
@ -34,6 +34,7 @@ import org.springframework.validation.annotation.Validated;
|
|
|
|
|
import javax.validation.constraints.NotNull;
|
|
|
|
|
import java.util.Date;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
|
|
import static com.ibeetl.jlw.entity.LoginTodo.jsonToEntity;
|
|
|
|
@ -233,7 +234,7 @@ public class ResourcesApplicationService extends CoreBaseService<ResourcesApplic
|
|
|
|
|
public String getKeyByCurrentUser(String linkSecretKey) {
|
|
|
|
|
if (ObjectUtil.isNotEmpty(linkSecretKey)) {
|
|
|
|
|
LoginTodo loginTodo = loginTodoService.buildByCurrentLoginUser();
|
|
|
|
|
String sign = JWT.create().withAudience(loginTodo.toJSONString()).sign(Algorithm.HMAC256(linkSecretKey));
|
|
|
|
|
String sign = JWT.create().withPayload(loginTodo.toMap()).sign(Algorithm.HMAC256(linkSecretKey));
|
|
|
|
|
// LoginTodo str = decodeApplicationUrl(linkSecretKey, sign);
|
|
|
|
|
// System.out.println(str);
|
|
|
|
|
return sign;
|
|
|
|
@ -241,43 +242,6 @@ public class ResourcesApplicationService extends CoreBaseService<ResourcesApplic
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static void main(String[] args){
|
|
|
|
|
LoginTodo loginTodo = new LoginTodo();
|
|
|
|
|
loginTodo.setUsername("测试教师");
|
|
|
|
|
loginTodo.setPassword("123qwe");
|
|
|
|
|
loginTodo.setRoleid(LoginTodo.ThirdRole.TEACHER_ROLE.getCode());
|
|
|
|
|
loginTodo.setTeacherid("1");
|
|
|
|
|
loginTodo.setStudentid(null);
|
|
|
|
|
loginTodo.setName("测试教师");
|
|
|
|
|
loginTodo.setSex("男");
|
|
|
|
|
loginTodo.setSchool("天蚕一瓶123");
|
|
|
|
|
loginTodo.setCollege("天蚕一瓶123");
|
|
|
|
|
loginTodo.setMajor(null);
|
|
|
|
|
loginTodo.setSchoolclass(null);
|
|
|
|
|
loginTodo.setStudentNo(null);
|
|
|
|
|
|
|
|
|
|
String json = JSONObject.toJSONString(loginTodo);
|
|
|
|
|
json = json.replace("schoolclass","class");//要转换
|
|
|
|
|
|
|
|
|
|
System.out.println(json);
|
|
|
|
|
|
|
|
|
|
String str = "wx_bc_14133";//这个就是密匙
|
|
|
|
|
String key = JWT.create().withAudience(json).sign(Algorithm.HMAC256(str));
|
|
|
|
|
|
|
|
|
|
System.out.println(key);
|
|
|
|
|
|
|
|
|
|
//解密
|
|
|
|
|
DecodedJWT jwt = null;
|
|
|
|
|
try {
|
|
|
|
|
JWTVerifier verifier = JWT.require(Algorithm.HMAC256(str)).build();
|
|
|
|
|
jwt = verifier.verify(key);
|
|
|
|
|
System.out.println(jwt.getAudience().get(0));
|
|
|
|
|
}catch (Exception e){
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 功能描述: <br>
|
|
|
|
|
* 解密加密的url,用于第三方应用
|
|
|
|
@ -291,8 +255,8 @@ public class ResourcesApplicationService extends CoreBaseService<ResourcesApplic
|
|
|
|
|
try {
|
|
|
|
|
JWTVerifier verifier = JWT.require(Algorithm.HMAC256(linkSecretKey)).build();
|
|
|
|
|
DecodedJWT jwt = verifier.verify(url);
|
|
|
|
|
String json = jwt.getAudience().get(0);
|
|
|
|
|
return jsonToEntity(json);
|
|
|
|
|
Map<String, Claim> claims = jwt.getClaims();
|
|
|
|
|
return jsonToEntity(claims);
|
|
|
|
|
}catch(Exception e) {
|
|
|
|
|
System.err.println(e.getMessage());
|
|
|
|
|
}
|
|
|
|
|