企业微信开发:自建应用:接收消息(企业内部服务器)/回调配置
创始人
2025-01-20 21:03:33
0次

概述

在企业微信的自建应用中,用户触发了某些行为(发送消息、进行菜单操作或者外部联系人变更等),要发送相关信息给企业内部服务器。

备注:接收消息 和 回调,在本文中指代相同的行为,即企业微信服务器向企业内部服务器发送消息。之所以有不同的说法,是由于企业微信官方开发文档和管理后台的说法差异导致的。

企业微信的开发文档,参考:回调配置。

使用情景

  • 自定义丰富的服务行为。比如,用户向应用发消息时,识别消息关键词,回复不同的消息内容;用户点击应用菜单时,转化为指令,执行自动化任务。
  • 可以及时获取到状态变化。比如,通讯录发生变化时,不需要定时去拉取通讯录对比,而是实时地获取到变化的通讯录节点,进行同步。

企业微信-管理页面,配置接收消息

这里的接收消息,指的是企业内部服务器接收企业微信服务器发送的消息。

在这里插入图片描述

点击 设置API接收,进入如下配置页面:
在这里插入图片描述

配置说明

配置API接收消息,需要有三个配置项,分别是:URL, Token, EncodingAESKey。

URL:企业服务器地址

URL为回调服务地址,由开发者搭建,用于接收通知消息或者事件。
在这里插入图片描述

Token:签名密钥

Token用于计算签名,由英文或数字组成且长度不超过32位的自定义字符串。

开发者提供的URL是公开可访问的,这就意味着任何人拿到这个URL,都可以向该接口推送消息。为了保证URL服务的安全性,需要解决两个问题:

  • 确认请求来源是企业微信;
  • 确认消息内容没有被篡改;

解决办法:数字签名。

具体为:约定Token作为密钥,仅开发者和企业微信知道,在传输中不可见,用于计算签名。企业微信在推送消息时,将消息内容与Token计算出签名,并将消息内容和签名一起传递给企业内部服务器。企业内部服务器接收到推送消息时,也按相同算法计算出签名。如果为同一签名,则可信任来源为企业微信,并且内容是完整的(没有被篡改)。

在这里插入图片描述

  • 如果非企业微信来源,由于攻击者没有正确的Token,无法算出正确的签名;
  • 如果消息内容被篡改,由于开发者会将接收的消息内容与Token重算一次签名,该值与参数的签名不一致,则会拒绝该请求。

EncodingAESKey:消息加密密钥

EncodingAESKey 用于消息内容加密,由英文或数字组成且长度为43位的自定义字符串。

由于消息是在公开的因特网上传输,消息内容是可被截获的,如果内容未加密,则截获者可以直接阅读消息内容。若消息内容包含一些敏感信息,就非常危险了。

EncodingAESKey 就是在这个背景基础上提出的,将发送的内容进行加密,并组装成一定格式后再发送。

在这里插入图片描述

回调服务实现

配置回调服务时,需要能同时支持HttpGet以及HttpPost两种能力,

  • 企业微信会先判断URL服务是否具备解析企业微信推送消息的能力。
    具体方式是,企业微信往URL服务上发一条Get请求带签名及密文参数到URL服务上,如果URL服务检查签名通过,并能正确返回密文参数对应的明文字符串,则验证通过。此时在企业微信的配置就开始生效。
  • 后续的业务请求(比如应用菜单的点击事件,用户消息等),都会类似的方式(签名+密文)向服务URL推送消息。URL服务验证签名通过后,需要将POST数据解密,就可以得到对应的业务消息明文。

在这里插入图片描述

官方文档中,包含进一步的示例:

  • 支持 Http Get 请求,验证URL有效性
  • 支持 Http Post 请求,接收业务数据

具体实现细节,请参考官方文档:回调服务需要实现哪些功能

相关内容

热门资讯

每日必看!江岸多玩到底能开挂吗... 每日必看!江岸多玩到底能开挂吗(辅助挂),江岸多玩原来真的有辅助挂讲义1、江岸多玩脚本辅助下载、江岸...
玩家交流!颖河竞技怎么开挂(外... 玩家交流!颖河竞技怎么开挂(外挂),颖河竞技好像是有外挂教材一、颖河竞技游戏安装教程牌型概率发牌机制...
最新通报!皮皮四川麻将软件下载... 最新通报!皮皮四川麻将软件下载(辅助挂),皮皮四川麻将果然有辅助挂模块1、操作简单,无需皮皮四川麻将...
一分钟揭秘!52游戏开挂脚本(... 一分钟揭秘!52游戏开挂脚本(透视挂),52游戏切实有透视挂法子52游戏脚本下载中分为三种模型:52...
一分钟快速了解!堆堆乐开挂破解... 一分钟快速了解!堆堆乐开挂破解(外挂),堆堆乐竟然真的有外挂方针1、下载好堆堆乐正确养号方法之后点击...
重大通报!汇城贵州麻将开挂脚本... 重大通报!汇城贵州麻将开挂脚本(开挂),汇城贵州麻将原来真的有开挂法门1、重大通报!汇城贵州麻将开挂...
盘点一款!七色城透视挂件(外挂... 盘点一款!七色城透视挂件(外挂),七色城切实是真的有外挂经验1、全新机制【七色城ai辅助工具激活码】...
今日头条!多多休闲透视软件下载... 今日头条!多多休闲透视软件下载(外挂),多多休闲确实是真的有外挂攻略1、首先打开多多休闲辅助器下载最...
关于!钱柜麻将真的有透视吗(辅... 关于!钱柜麻将真的有透视吗(辅助器),钱柜麻将一贯是有辅助器练习钱柜麻将能透视中分为三种模型:钱柜麻...
今日焦点!河北家乡棋牌辅助工具... 今日焦点!河北家乡棋牌辅助工具(外挂),河北家乡棋牌果然是有外挂手册小薇(辅助器软件下载)致您一封信...