开启左侧

企微配置回调服务

[复制链接]
在线会员 K6X3hgc7O 发表于 2023-8-28 10:15:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
一、企微设置可托域名
二、企微获得成员userID
三、企微获得用户敏感数据
四、企微设置回调效劳

文章目次


      1、简介
        一、概括二、相干文档地点
      2、企微设置消息效劳器
        一、设置消息领受参数二、参数剖析三、参数拼交划定规矩
      3、代码编辑—使用已经有库
        一、代码下载二、代码改正三、效劳代码编辑
      4、尝试



1、简介

一、概括

甚么时候需要回调效劳
正在散成企业微疑取内部体系时,咱们常常需要拆修一个回调效劳。回调效劳,能够完毕:
    自界说丰硕的效劳举动。好比,用户背使用收消息时,识别消息枢纽词汇,复兴差别的消息实质;用户面打使用菜单时,转移为指令,施行主动化任务。能够实时获得到形状变革。好比,通信录发作变革时,没有需要按时来推与通信录比照,而是及时天获得到变革的通信录结面,截至共步。
回调过程:
    企业微疑会先鉴别URL效劳可否具备剖析企业微疑拉收消息的才气。
    具体方法是,企业微疑朝URL效劳上收一条Get恳求戴署名及稀文参数到URL效劳上,假设URL效劳查抄署名颠末,并能准确前去稀文参数对于应的明笔墨符串,则考证颠末。此时正在企业微疑的设置便开端生效。后绝的营业恳求(好比使用菜单的面打工作,用户消息等),城市类似的方法(署名+稀文)背效劳URL拉收消息。URL效劳考证署名颠末后,需要将POST数据解稀,就能够获得对于应的营业消息明文。
企微设置回调效劳-1.png


企业支到消息后,需要做以下处置:
    对于msg_signature截至校验解稀Encrypt,获得明文的消息构造体(消息构造体前面章节会详道)假设需要主动 复兴消息,机关主动 照应包准确照应原次恳求
    · 企业微佩服务器正在五秒内乱支没有到照应会断失落跟尾,而且从头倡议恳求,统共沉试三次
    · 当领受胜利后,http头部前去200暗示领受ok,其余毛病码企业微疑背景会一律当作失利并倡议沉试
二、相干文档地点

一、回分配置
  1. https://developer.work.weixin.qq.com/document/path/90930
复造代码
二、领受消息取工作
  1. https://developer.work.weixin.qq.com/document/10514
复造代码
三、减解稀计划分析
  1. https://developer.work.weixin.qq.com/document/path/90968
复造代码
四、减解稀库下载取前去码
  1. https://developer.work.weixin.qq.com/document/path/90307
复造代码
2、企微设置消息效劳器

一、设置消息领受参数

企微设置回调效劳-2.png


企微设置回调效劳-3.png

  1. URL:http://8.131.239.157
  2. Token:UPN8pOCL
  3. EncodingAESKey:Wz0cWqM7VcqPOLpNrMCaaxMMif3USVLOjhvK19tEQaX
复造代码
[中链图片转存失利,源站可以有防匪链体制,倡议将图片保留下来间接上传(img-OZwjp3T2-1692458157388)(/Users/liyangda/Library/Application Support/typora-user-images/image-20230819222344569.png)]
二、参数剖析

部分会用到8个参数。
参数必需分析
urlURL是企业背景领受企业微疑拉收恳求的会见和谈战地点,撑持http或者https和谈。
tokenToken可由企业尽情挖写,用于天生署名。
encodingAesKeyEncodingAESKey用于消息体的减稀,是AES稀钥的Base64编码。
receiveid减解稀库里,ReceiveId 正在各个场景的寄义差别:
1. 企业使用的回调,暗示corpid。
2. 第三圆工作的回调,暗示suiteid。
3.团体 主体的第三圆使用的回调,ReceiveId是一个空字符串
msg_signature企业微疑减稀署名,msg_signature分离了企业挖写的token、恳求中的timestamp、nonce参数、减稀的消息体
timestamp时间戳
nonce随机数
echostr减稀的字符串。需要解稀获得消息实质明文,。
三、参数拼交划定规矩

恳求方法:GET
恳求地点
  1. http://api.3dept.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS&timestamp=13500001234&nonce=123412323&echostr=ENCRYPT_STR
复造代码
  1. http://8.131.239.157?msg_signature=ed7c74fcb19645d3c8312e703063539fe96a532c&timestamp=1692450209&nonce=1693051991&echostr=9fGql+XxePufd9E71gh4kXooAJJ+PtxH3MwwZWzxFNdZwTT3qccs6zHxFEDtGuaxJHWktTV97BiKkJI+rOhcPw==
复造代码
3、代码编辑—使用已经有库

此次接纳的是企微供给的已经由库方法,截至考证。
一、代码下载

源代码地点:https://developer.work.weixin.qq.com/document/path/90307
企微设置回调效劳-4.png


二、代码改正

因为参数施行有一点儿成就,需要对于供给的东西类截至改正。
企微设置回调效劳-5.png


改正实质
  1. // 稀钥,公家账号的app secret// 提炼稀文//                Object[] encrypt = JsonParse.extract(postData);Object[] encrypt =newObject[]{postData,postData};
复造代码
企微设置回调效劳-6.png


三、效劳代码编辑
  1. <dependency><groupId>co妹妹ons-codec</groupId><artifactId>co妹妹ons-codec</artifactId><version>1.9</version></dependency><dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20180813</version></dependency>
复造代码
代码编辑
  1. importcom.lydms.demowechat0.WechatUtils.AesException;importcom.lydms.demowechat0.WechatUtils.WXBizJsonMsgCrypt;importlombok.extern.slf4j.Slf4j;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@Slf4j@RestControllerpublicclassAllTwoController{@RequestMapping("/*")publicStringgetCheckInfo(String msg_signature,String timestamp,String nonce,String echostr)throwsAesException{String token ="UPN8pOCL";String encodingAesKey ="Wz0cWqM7VcqPOLpNrMCaaxMMif3USVLOjhvK19tEQaX";String receiveid ="ww3e40cde07cc21a01";
  2.         log.info("msg_signature:{},timestamp:{},nonce:{},echostr:{}", msg_signature, timestamp, nonce, echostr);
  3.         log.info("token:{},encodingAesKey:{},receiveid:{}", token, timestamp, receiveid);WXBizJsonMsgCrypt wxBizJsonMsgCrypt =newWXBizJsonMsgCrypt(token, encodingAesKey, receiveid);String str =wxBizJsonMsgCrypt.DecryptMsg(msg_signature, timestamp, nonce, echostr);
  4.         log.info("return:{}", str);return str;}}
复造代码
尝试代码:
  1. /**
  2. * 尝试代码
  3. *
  4. * @param args
  5. * @throws AesException
  6. */publicstaticvoidmain(String[] args)throwsAesException{//  TokenString token ="UPN8pOCL";//String encodingAesKey ="Wz0cWqM7VcqPOLpNrMCaaxMMif3USVLOjhvK19tEQaX";//String receiveid ="ww3e40cde07cc21a01";//  企业微疑减稀署名String msgSignature ="359410caca920fe74a426f5a3057ad437b3b9fa4";//  时间戳String timeStamp ="1692448043";//  随机数String nonce ="1692495025";//  减稀的字符串String echostr ="BrO11qZxqM8TBczJq17VRzSnhJff5aGXgnTvWl+yGaoAZ+dd5xg1Vxb妹妹PzMJMmkNPv6DSlpMQ6vz4lwoCXMjg==";WXBizJsonMsgCrypt wxBizJsonMsgCrypt =newWXBizJsonMsgCrypt(token, encodingAesKey, receiveid);//  剖析后的值:7695278663958312959String s =wxBizJsonMsgCrypt.DecryptMsg(msgSignature, timeStamp, nonce, echostr);System.out.println(s);}
复造代码
4、尝试

将效劳布置到设置的URL地点后:http://8.131.239.157。面打保留
企微设置回调效劳-7.png


保留胜利
企微设置回调效劳-8.png


检察用户消息
企微设置回调效劳-9.png


企微设置回调效劳-10.png
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )