企业微信第三方应用,需要企业微信的系统管理员去授权安装第三方应用, 安装后企业微信后台会将授权凭证、授权信息等推送给服务商后台。
授权可以有两种发起方式: 以上两种授权发起方式并不冲突,服务商可以同时支持。 我们今天就说下 从服务商网站发起授权的方式 系统管理员在第三方服务商网站找到适用的应用后,可在服务商网站发起授权请求。
此方式下第三方服务商需构造授权链接,引导用户进入授权页面完成授权过程,并取得临时授权码。
流程如图示。
注: - 获取预授权码
预授权码是应用实现授权托管的安全凭证,见获取预授权码。 - 引导用户进入授权页
第三方服务商在自己的网站中放置“企业微信应用授权”的入口,引导企业微信管理员进入应用授权页。授权页网址为:
- 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参数。第三方服务商据此获得临时授权码。回调地址为:
- redirect_uri?auth_code=xxx&expires_in=600&state=xx
- 临时授权码10分钟后会失效,第三方服务商需尽快使用临时授权码换取永久授权码及授权信息。
每个企业授权的每个应用的永久授权码、授权信息都是唯一的,第三方服务商需妥善保管。后续可以通过 永久授权码 获取 企业access_token,进而调用企业微信相关API为授权企业提供服务。
|