main
黄海 2 years ago
parent 10980494d0
commit 547bb4ff1a

@ -6,8 +6,10 @@ import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiGetJsapiTicketRequest;
import com.dingtalk.api.request.OapiGettokenRequest;
import com.dingtalk.api.request.OapiSsoGettokenRequest;
import com.dingtalk.api.response.OapiGetJsapiTicketResponse;
import com.dingtalk.api.response.OapiGettokenResponse;
import com.dingtalk.api.response.OapiSsoGettokenResponse;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.redis.Redis;
import com.jfinal.plugin.redis.RedisPlugin;
@ -33,15 +35,14 @@ public class TestDingTalk {
JSONObject jo = JSONObject.parseObject(response.getBody());
jo.put("start_time", DateTime.now());
Redis.use().setex(KEY, 5400, jo.toString());//5400:一个半小时过期
System.out.println("本轮是从从阿里云获取到Token:" + jo.getString("access_token"));
return jo.getString("access_token");
} else {
String str = Redis.use().get(KEY);
JSONObject jo = JSONObject.parseObject(str);
System.out.println("本轮是从缓存中获取到Token:" + jo.getString("access_token"));
return jo.getString("access_token");
}
}
/*
JsApiToken,72002
@ -55,11 +56,31 @@ public class TestDingTalk {
req.setHttpMethod("GET");
OapiGetJsapiTicketResponse rsp = client.execute(req, access_token);
Redis.use().setex(KEY, 5400, rsp.getBody());//5400:一个半小时过期
System.out.println("本轮是从从阿里云获取到JsApiToken:" + rsp.getBody());
return rsp.getBody();
} else {
String str = Redis.use().get(KEY);
System.out.println("本轮是从缓存中获取到JsApiToken:" + str);
return str;
}
}
/*
SsoToken,72002
2023-06-06
*/
public static String getSsoToken(String corpId, String ssoSecret) throws ApiException {
final String KEY = "DingTalkSsoToken";
if (!Redis.use().exists(KEY)) {
DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/sso/gettoken");
OapiSsoGettokenRequest req = new OapiSsoGettokenRequest();
req.setCorpid(corpId);
req.setCorpsecret(ssoSecret);
req.setHttpMethod("GET");
OapiSsoGettokenResponse rsp = client.execute(req);
Redis.use().setex(KEY, 5400, rsp.getBody());//5400:一个半小时过期
return rsp.getBody();
} else {
String str = Redis.use().get(KEY);
return str;
}
}
@ -67,6 +88,7 @@ public class TestDingTalk {
public static void main(String[] args_) throws Exception {
PropKit.use("dingtalk.properties");
String corpId = PropKit.get("corpId");
String ssoSecret = PropKit.get("SSOSecret");
long agentId = PropKit.getLong("agentId");
final String appKey = PropKit.get("appKey");
String appSecret = PropKit.get("appSecret");
@ -79,5 +101,8 @@ public class TestDingTalk {
System.out.println(accessToken);
String jsApiToken = getJsApiToken(accessToken);
System.out.println(jsApiToken);
String SsoToken = getSsoToken(corpId, ssoSecret);
System.out.println(SsoToken);
}
}

@ -1,13 +1,11 @@
# 公司ID
corpId=ding0b95901147fc6be0f2c783f7214b6d69
SSOSecret=AnzvCq3MsUhOpEO4ieiig2ExPMACWY-A4IjBRTFnXQJ1XUngkQTraAbjDv4-kNPp
# 每个应用都拥有唯一的AgentId
agentId=2619270936
# AK SK
appKey=dingr94qyhpr8bflyxqz
appSecret=hnxZ93QqkGJpRyBziaR2vlbOPZo1U9eeqj73DfFuFnIxIUHNPbMR2DkIol9oGteh
# redis ip
redis_ip=10.10.14.169
# redis port

@ -1,13 +1,11 @@
# 公司ID
corpId=ding0b95901147fc6be0f2c783f7214b6d69
SSOSecret=AnzvCq3MsUhOpEO4ieiig2ExPMACWY-A4IjBRTFnXQJ1XUngkQTraAbjDv4-kNPp
# 每个应用都拥有唯一的AgentId
agentId=2619270936
# AK SK
appKey=dingr94qyhpr8bflyxqz
appSecret=hnxZ93QqkGJpRyBziaR2vlbOPZo1U9eeqj73DfFuFnIxIUHNPbMR2DkIol9oGteh
# redis ip
redis_ip=10.10.14.169
# redis port

Loading…
Cancel
Save