删除测试文件
This commit is contained in:
parent
ec18eec4ec
commit
d3d675309a
|
|
@ -1,167 +0,0 @@
|
|||
package com.rzyc.test;
|
||||
|
||||
|
||||
import cn.hutool.core.util.CharsetUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.crypto.asymmetric.KeyType;
|
||||
import cn.hutool.crypto.asymmetric.RSA;
|
||||
import cn.hutool.http.HttpRequest;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* @author dong
|
||||
* @date 2023-01-07 16:06
|
||||
* @Version V1.0
|
||||
*/
|
||||
public class MainTest {
|
||||
|
||||
/**
|
||||
* 模拟缓存服务
|
||||
*/
|
||||
private static final Map<String,String> SYSTEM_CACHE = new HashMap <>();
|
||||
|
||||
/**
|
||||
* ecology系统发放的授权许可证(appid)
|
||||
*/
|
||||
private static final String APPID = "EEAA5436-7577-4BE0-8C6C-89E9D88805EA";
|
||||
|
||||
public static void main(String[] args) {
|
||||
// testRestful("http://172.21.3.100:88","/api/system/appmanage/route",null);
|
||||
String jsonStr = "{\"params\":{\"pagesize\":20,\"curpage\":1}}";
|
||||
Map<String,Object> a = new HashMap<>();
|
||||
Map<String,Object> b = new HashMap<>();
|
||||
b.put("pagesize",20);
|
||||
b.put("curpage",1);
|
||||
|
||||
a.put("params",b);
|
||||
|
||||
System.out.println("a ---> "+JSONArray.toJSONString(a));
|
||||
|
||||
testRestful("http://172.21.3.100:88","/api/hrm/resful/getHrmdepartmentWithPage",JSONArray.toJSONString(a));
|
||||
}
|
||||
|
||||
/**
|
||||
* 第一步:
|
||||
*
|
||||
* 调用ecology注册接口,根据appid进行注册,将返回服务端公钥和Secret信息
|
||||
*/
|
||||
public static Map<String,Object> testRegist(String address){
|
||||
|
||||
//获取当前系统RSA加密的公钥
|
||||
RSA rsa = new RSA();
|
||||
String publicKey = rsa.getPublicKeyBase64();
|
||||
String privateKey = rsa.getPrivateKeyBase64();
|
||||
|
||||
// 客户端RSA私钥
|
||||
SYSTEM_CACHE.put("LOCAL_PRIVATE_KEY",privateKey);
|
||||
// 客户端RSA公钥
|
||||
SYSTEM_CACHE.put("LOCAL_PUBLIC_KEY",publicKey);
|
||||
|
||||
//调用ECOLOGY系统接口进行注册
|
||||
String data = HttpRequest.post(address + "/api/ec/dev/auth/regist")
|
||||
.header("appid",APPID)
|
||||
.header("cpk",publicKey)
|
||||
.timeout(2000)
|
||||
.execute().body();
|
||||
|
||||
// 打印ECOLOGY响应信息
|
||||
System.out.println("testRegist():"+data);
|
||||
Map<String,Object> datas = JSONUtil.parseObj(data);
|
||||
|
||||
//ECOLOGY返回的系统公钥
|
||||
SYSTEM_CACHE.put("SERVER_PUBLIC_KEY",StrUtil.nullToEmpty((String)datas.get("spk")));
|
||||
//ECOLOGY返回的系统密钥
|
||||
SYSTEM_CACHE.put("SERVER_SECRET",StrUtil.nullToEmpty((String)datas.get("secrit")));
|
||||
return datas;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 第二步:
|
||||
*
|
||||
* 通过第一步中注册系统返回信息进行获取token信息
|
||||
*/
|
||||
public static Map<String,Object> testGetoken(String address){
|
||||
// 从系统缓存或者数据库中获取ECOLOGY系统公钥和Secret信息
|
||||
String secret = SYSTEM_CACHE.get("SERVER_SECRET");
|
||||
String spk = SYSTEM_CACHE.get("SERVER_PUBLIC_KEY");
|
||||
|
||||
// 如果为空,说明还未进行注册,调用注册接口进行注册认证与数据更新
|
||||
if (Objects.isNull(secret)||Objects.isNull(spk)){
|
||||
testRegist(address);
|
||||
// 重新获取最新ECOLOGY系统公钥和Secret信息
|
||||
secret = SYSTEM_CACHE.get("SERVER_SECRET");
|
||||
spk = SYSTEM_CACHE.get("SERVER_PUBLIC_KEY");
|
||||
}
|
||||
|
||||
// 公钥加密,所以RSA对象私钥为null
|
||||
RSA rsa = new RSA(null,spk);
|
||||
//对秘钥进行加密传输,防止篡改数据
|
||||
String encryptSecret = rsa.encryptBase64(secret,CharsetUtil.CHARSET_UTF_8,KeyType.PublicKey);
|
||||
|
||||
//调用ECOLOGY系统接口进行注册
|
||||
String data = HttpRequest.post(address+ "/api/ec/dev/auth/applytoken")
|
||||
.header("appid",APPID)
|
||||
.header("secret",encryptSecret)
|
||||
.header("time","3600")
|
||||
.execute().body();
|
||||
|
||||
System.out.println("testGetoken():"+data);
|
||||
Map<String,Object> datas = JSONUtil.parseObj(data);
|
||||
|
||||
//ECOLOGY返回的token
|
||||
// TODO 为Token缓存设置过期时间
|
||||
SYSTEM_CACHE.put("SERVER_TOKEN",StrUtil.nullToEmpty((String)datas.get("token")));
|
||||
|
||||
return datas;
|
||||
}
|
||||
|
||||
/**
|
||||
* 第三步:
|
||||
*
|
||||
* 调用ecology系统的rest接口,请求头部带上token和用户标识认证信息
|
||||
*
|
||||
* @param address ecology系统地址
|
||||
* @param api rest api 接口地址(该测试代码仅支持GET请求)
|
||||
* @param jsonParams 请求参数json串
|
||||
*
|
||||
* 注意:ECOLOGY系统所有POST接口调用请求头请设置 "Content-Type","application/x-www-form-urlencoded; charset=utf-8"
|
||||
*/
|
||||
public static String testRestful(String address,String api,String jsonParams){
|
||||
|
||||
//ECOLOGY返回的token
|
||||
String token= SYSTEM_CACHE.get("SERVER_TOKEN");
|
||||
if (StrUtil.isEmpty(token)){
|
||||
token = (String) testGetoken(address).get("token");
|
||||
}
|
||||
|
||||
String spk = SYSTEM_CACHE.get("SERVER_PUBLIC_KEY");
|
||||
//封装请求头参数
|
||||
RSA rsa = new RSA(null,spk);
|
||||
//对用户信息进行加密传输,暂仅支持传输OA用户ID
|
||||
String encryptUserid = rsa.encryptBase64("1",CharsetUtil.CHARSET_UTF_8,KeyType.PublicKey);
|
||||
|
||||
//调用ECOLOGY系统接口
|
||||
// String data = HttpRequest.get(address + api)
|
||||
// .header("appid",APPID)
|
||||
// .header("token",token)
|
||||
// .header("userid",encryptUserid)
|
||||
// .body(jsonParams)
|
||||
// .execute().body();
|
||||
//调用ECOLOGY系统接口
|
||||
String data = HttpRequest.post(address + api)
|
||||
.header("appid",APPID)
|
||||
.header("token",token)
|
||||
.header("userid",encryptUserid)
|
||||
.body(jsonParams)
|
||||
.execute().body();
|
||||
System.out.println("testRestful():"+data);
|
||||
return data;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user