企业微信服务商开发(三)
在企业微信服务商开发(二)中我们已经将开发的环境搭建起来了,接下来,
配置各URL
在配置以下的各URL,其中通用开发参数设置
、数据回调URL
、指令回调URL
微信是要做URL校验的,所以配置的URL必须在公网可以访问到,微信以GET请求到该URL上,并携带了四个参数:msg_signature
、timestamp
、nonce
、echostr
通过微信提供的加解密工具JAVA库来校验是否来自微信的合法请求。
参数 | 必须 | 说明 |
---|---|---|
msg_signature | 是 | 企业微信加密签名,msg_signature结合了企业填写的token、请求中的timestamp、nonce参数、加密的消息体 |
timestamp | 是 | 时间戳 |
nonce | 是 | 随机数 |
echostr | 是 | 加密的字符串。需要解密得到消息内容明文,解密后有random、msg_len、msg、CorpID四个字段,其中msg即为消息内容明文 |
安装完成回调域名
在第三方应用授权流程中,授权成功后会302跳转到该域名下的url(详见从服务商网站发起授权应用),返回临时授权码。企业微信跳转URL时,会检查该URL是否在此处填下的域名之下,以杜绝伪造攻击。
可信域名
设置可信域名后支持应用的OAuth2授权、JSSDK调用等,这个可信域名是网页应用中是可以设置的,如果第三方应用是关联的小程序,则不用可信域名设置。
业务设置URL
该URL为服务商侧的管理后台链接,授权企业的管理员可从企业微信后台的应用详情页免登录直接跳转该链接(暂时不涉及到该URL,下文会讲到)
通用开发参数设置
用于接收跟应用无关的系统消息(如注册完成)。(填写URL时需要正确响应企业微信验证URL的请求。请参考接收消息)
在创建好的spring-boot
项目中创建一个WxCpPortalController
作为通用的开发参数接收类:
WxCpPortalController.java
1 | import com.alibaba.fastjson.JSON; |
token
、aseKey
和下面URL用到的最好统一用一个,方便管理。
数据回调URL
用于接收托管企业微信应用的用户消息和用户事件。URL支持使用$CORPID$
模板参数表示corpid,推送事件时企业微信会自动将其替换为授权企业的corpid。(关于如何回调,请参考接收消息。注意验证时$CORPID$
模板参数会替换为当前服务商的corpid,校验时也应该使用corpid初始化解密库)
再创建一个WxCpDataController
用来接收数据回调URL。
WxCpDataController.java
1 | import com.itwork.weixin.cp.config.WxCpConfiguration; |
指令回调URL
系统将会把此应用的授权变更事件以及ticket参数等推送给此URL,ticket说明详见API接口说明。
(填写URL时需要正确响应企业微信验证URL的请求。请参考接收消息)
再创建一个WxCpDirectiveController
用来接收指令回调URL。
WxCpDirectiveController.java
1 | import com.itwork.weixin.cp.config.WxCpConfiguration; |
各URL配置到这里,顺利的话就配置完成了,接下来企业安装授权。
获取示例源码
请关注微信公众号:「特想学英语」并回复:企业微信
原文作者: dgb8901,yinxing
原文链接: https://www.itwork.club/2019/03/27/corp-develop-3/
版权声明: 转载请注明出处
为您推荐
体验小程序「简易记账」
关注公众号「特想学英语」