企业微信服务商开发(四)
经过企业微信服务商开发(三)配置的回调URL,接下来可以开发安装测试了,安装测试有两种方式。
测试安装应用
应用创建成功后,服务商可自行授权测试该应用。
每个应用目前仅允许10个不同企业微信授权测试;
用于测试授权的企业微信,不能再进行正式应用的授权;
目前有下面两种测试方式:
- 方法1
在服务商管理端“本地应用”栏,找到并点击进入上一步创建的应用,点击页面右上角的“安装测试”按钮,即可进入测试授权环节。
该测试授权流程必须响应并处理授权成功的通知的回调消息。
这种方式安装完成,会回调指令那URL,来处理企业安装应用完成,这里特意提醒一下,在处理回调的时候最好是用异步,先给微信返回success
,异步处理回调数据。
谨记,在正式对外发布应用时一定要改回来。
在spring-boot
创建一个InstallController
,处理授权设置,授权成功redirect_uri
处理。
InstallController.java
1 | import com.itwork.common.vo.SmartResp; |
两种安装测试方法都不复杂,方法2一般是常用开发手段,企业授权通常都会通过服务商的网站发起授权。推荐使用第二种方法。
以上开发配置完成,企业就可以通过下面的两种方式来安正式的安装应用,当然以下的两种方式是在应用正式发布审核通过,才可以安装。
企业授权应用
企业微信的系统管理员可以授权安装第三方应用,安装后企业微信后台会将授权凭证、授权信息等推送给服务商后台。
授权可以有两种发起方式:
- 从服务商网站发起
- 从企业微信应用市场发起
以上两种授权发起方式并不冲突,服务商可以同时支持。
从服务商网站发起
系统管理员在第三方服务商网站找到适用的应用后,可在服务商网站发起授权请求。此方式下第三方服务商需构造授权链接,引导用户进入授权页面完成授权过程,并取得临时授权码。流程如图示。
注:
获取预授权码
预授权码是应用实现授权托管的安全凭证,见获取预授权码。引导用户进入授权页
第三方服务商在自己的网站中放置“企业微信应用授权”的入口,引导企业微信管理员进入应用授权页。授权页网址为:
1
https://open.work.weixin.qq.com/3rdapp/install?suite_id=SUITE_ID&pre_auth_code=PRE_AUTH_CODE&redirect_uri=REDIRECT_URI&state=STATE
跳转链接中,第三方服务商需提供suite_id、预授权码、授权完成回调URI和state参数。
其中redirect_uri是授权完成后的回调网址,redirect_uri需要经过一次urlencode作为参数;state可填a-zA-Z0-9的参数值(不超过128个字节),用于第三方自行校验session,防止跨域攻击。
授权成功,返回临时授权码
用户确认授权后,会进入回调URI(即redirect_uri),并在URI参数中带上临时授权码、过期时间以及state参数。第三方服务商据此获得临时授权码。回调地址为:
1
redirect_uri?auth_code=xxx&expires_in=600&state=xx
临时授权码10分钟后会失效,第三方服务商需尽快使用临时授权码换取永久授权码及授权信息。
每个企业授权的每个应用的永久授权码、授权信息都是唯一的,第三方服务商需妥善保管。后续可以通过永久授权码获取企业access_token,进而调用企业微信相关API为授权企业提供服务。
从企业微信应用市场发起
企业可以在应用市场找到想要使用的应用并授权安装,具体流程如图示。
注:
- 回调临时授权码的详细说明见授权成功通知
- 利用临时授权码获取永久授权码见获取永久授权码;
- 临时授权码10分钟后会失效,第三方服务商需尽快使用临时授权码换取永久授权码及授权信息。
每个企业授权的每个应用的永久授权码、授权信息都是唯一的,第三方服务商需妥善保管。后续可以通过永久授权码获取企业access_token,进而调用企业微信相关API为授权企业提供服务。
授权配置开发完成,企业就可以安装应用,企业安装成功,然后登录企业微信后台管理应用
获取示例源码
请关注微信公众号:「特想学英语」并回复:企业微信
原文作者: dgb8901,yinxing
原文链接: https://www.itwork.club/2019/03/27/corp-develop-4/
版权声明: 转载请注明出处
为您推荐
体验小程序「简易记账」
关注公众号「特想学英语」