一、登录钉钉后台,在开发管理配置服务器出口IP

二、在后台事件与回调中刷新aes_key和签名 token

三、后台代码实现(注意在后台事件与回调下面还有一个请求地址为请求该方法)
@RestController
@RequestMapping("dingding/event")
public class DingDingEvent {
private String aeskey = "填写自己应用的";
private String token = "填写自己应用的";
private String ownerkey = "填写自己应用的";
@PostMapping
public Map<String, String> dealData(@RequestParam(value = "msg_signature", required = false) String msg_signature,
@RequestParam(value = "timestamp", required = false) String timeStamp,
@RequestParam(value = "nonce", required = false) String nonce,
@RequestBody(required = false) JSONObject json) throws DingCallbackCrypto.DingTalkEncryptException {
String encrypt = json.getString("encrypt");
DingCallbackCrypto callbackCrypto = new DingCallbackCrypto(token, aeskey, ownerkey);
final String decryptMsg = callbackCrypto.getDecryptMsg(msg_signature, timeStamp, nonce, encrypt);
JSONObject eventJson = JSON.parseObject(decryptMsg);
String eventType = eventJson.getString("EventType");
if ("check_url".equals(eventType)) {
} else if ("user_add_org".equals(eventType)) {
} else if ("bpms_task_change".equals(eventType)) {
} else if ("bpms_instance_change".equals(eventType)) {
}
System.out.println(decryptMsg);
Map<String, String> successMap = callbackCrypto.getEncryptedMap("success");
return successMap;
}
}
四、至此钉钉事件订阅配置完成(加解密工具附上)去下载