第三方应用开发 服务端API 应用授权 成员授权应用
成员授权应用

目录

  • 概述
  • 支持成员授权的场景
  • 成员授权的基本流程
  • 第三方应用适配
  • 应用版本付费
  • 成员授权模式的接口变更
  •       新增的服务端API
  •       新增的JS-API
  •       变更的服务端API
  •       变更的回调事件
  •  

    概述

    应用安装作为企业管理的一部分,限制了必须是管理员才有权限操作。一方面,这里严格保证了企业信息的安全可控,但同时也一定程度上导致企业运行效率的下降。企业员工需要使用某个第三方应用时,需要向管理员推荐应用,等待管理员添加,并沟通配置对应的应用可见范围,最终实现应用可用的时间周期是比较长的。
    为了能让应用快速在小团队或者个人使用起来,企业微信从3.1.8版本开始,支持了员工个人授权的方式,即允许员工在没有管理员的参与下,以员工身份安装应用,用于个人使用。比如,项目管理应用可以提升个人或者小团队的效率,员工可以授权安装到个人的工作台,同时分享给其他人共同协作。目前,所有服务商都可以对接成员授权方式,而企业还处于灰度阶段,部分企业还没有下文提及的成员授权开关,我们将会逐步扩大灰度范围。

    企业信息安全考虑
    允许员工个人授权带来的问题是,企业如何管控这里的信息安全。这里提供了几种机制:
    第一,企业可配置总开关,是否允许员工个人授权。管理员可在“应用管理—应用设置”中,进行配置。
    第二,第三方应用首次被员工授权时,企业管理员会收到安装应用提醒,管理员可根据需求进行查看和管理。
    第三,企业管理员可在应用详情页查看并管理第三方应用的授权方式。应用为成员授权方式时,管理员可以查看当前已授权使用的员工列表;同时也可对授权方式进行切换,将成员授权切换到管理员授权,切换后仅管理员设置的可见范围内的员工可使用该应用,之前个人授权的员工若不在可见范围内将不能继续使用。
    第四,针对特定的第三方应用,支持管理员删除该应用,并同时禁用该应用被员工个人授权。管理员可在“应用管理—应用设置—应用详情页”中,进行操作。

    企业管理成员授权应用

    支持成员授权的场景

    目前以下几种场景支持成员授权应用。

    注:前置条件需要满足企业开启了员工个人授权,并且该应用未被禁用员工个人授权。
    下述的场景中,对于第三方应用以及行业方案都适用。
    1. 企业微信移动端的应用市场
      成员从企业微信工作台点击“添加应用”进入应用市场,可直接添加授权某个第三方应用或者行业方案。
    2. 成员在企业微信打开第三方应用的oauth2链接
      如果成员未授权第三方应用,打开第三方应用的oauth2链接时,会进入授权安装的流程,授权完成之后,企业微信再颁发oauth2的code并跳转到redirect_uri上。
    3. 成员在企业微信打开第三方小程序应用
      如果成员未授权第三方小程序应用,小程序调用wx.qy.login获取用户身份时,会进入授权安装的流程,安装完成之后,成员需要重新打开小程序。
      注意,如果第三方的小程序关联了多个应用,需要第三方在调用wx.qy.login时,传入suiteId参数,详情参见wx.qy.login

    4. 成员扫描第三方应用的推广二维码
      如果成员未授权第三方应用,可通过扫描第三方应用的推广二维码进入授权安装的流程。

    成员授权的基本流程

    1. 企业未授权安装第三方应用,首个成员进行授权安装时,整个授权流程与管理员授权流程类似,相当于该成员代替管理员为企业做了安装授权,不同点为应用的可见范围仅包含成员自己以及部分接口返回结果有些差异(详见成员授权模式的接口变更)。
    2. 当企业成员授权已授权安装该第三方应用,其他成员再进行授权时,相当于已有的可见范围多添加了一位成员,此时企业微信会回调成员关注事件

    员工授权安装应用

    第三方应用适配

    针对成员授权模式,企业微信做了兼容,在企业成员授权第三方应用后,服务商可获取企业的信息(企业名称和企业ID)、已授权成员的基本信息、已授权成员的应用权限(在服务商后台创建应用时所勾选的权限)。同时,为了让成员更好地使用第三方应用,建议服务商进行以下适配:

    1. 功能和界面的适配
      当企业以成员授权模式安装第三方应用后,第三方应用的功能和界面可进行相应地适配,以更好地满足成员个人或者小团队使用的场景。
      此外,成员授权模式下,不返回系统管理员列表,只返回管理员配置的应用管理员列表。若第三方应用限制了仅系统管理员才能打开和使用应用,则需进行对应的调整,例如允许成员打开和使用应用,或展示相应的提示和引导。
    2. 接入模板消息
      成员授权模式下,为了使第三方应用可以更好地在企业内扩散使用,企业微信提供了模板消息的能力。企业成员在第三方应用内,使用企业微信选人界面完成选人后,第三方应用可针对已选择的成员中未授权的成员发送一次模板消息,用以触达未授权的成员。
      模板消息可以在服务商后台的应用详情页进行配置,其中每个应用支持配置10套模板消息。
      模板消息配置

    应用版本付费

    成员授权第三方应用时,默认授权基础免费版,且成员不可以选择付费版本。当成员授权的应用满足以下任一情况时,企业微信团队会推送消息通知管理员进行付费。

    1. 应用的试用时间到期(针对基础免费版的情况)
    2. 应用的使用服务到期(针对企业已购买付费版的情况)
    3. 应用的使用人数达到上限

    成员授权的应用,仅管理员可以进行付费,付费流程同管理员授权模式下的付费流程一致。

    成员授权模式的接口变更

    企业微信尽可能做到两种授权模式的兼容,以在第三方服务商不做任何修改的情况下,也能平稳地为企业用户提供服务。尽管如此,我们在成员授权模式下提供了新的能力,例如第三方应用可以给不在可见范围的成员推送模板消息,这在管理员授权模式下是不允许的。所以我们建议第三方服务商关注我们的接口变更情况,包括新增与变更的接口,以提供更好的用户体验。以下是具体的变更情况。

     

    新增的服务端API

    接口支持何种授权模式
    获取成员授权列表成员授权
    查询成员用户是否已授权成员授权
    获取选人ticket对应的用户成员授权

    新增的JS-API

    接口支持何种授权模式
    返回ticket的选人接口成员授权 或 管理员授权
    创建群聊并发送消息成员授权 或 管理员授权
    打开群聊并发送消息成员授权 或 管理员授权
    注:支持成员授权模式,是指在成员授权模式下才允许调用接口;同时支持成员与管理员授权模式,则指无论哪种授权模式下都允许调用接口。

    变更的服务端API

    接口变更点
    获取永久授权码新增返回字段auth_info.agent.auth_mode,表示授权模式,0为管理员授权,1为成员授权
    获取企业授权信息新增返回字段auth_info.agent.auth_mode,表示授权模式,0为管理员授权,1为成员授权
    发送应用模板消息发送应用消息接口的基础上,第三方应用支持一种新的消息类型:模板消息;成员授权模式下,可对未授权的用户推送模板消息,查看详情
    获取应用的管理员列表成员授权模式下,不返回系统管理员列表,只返回管理员配置的应用管理员列表
    读取成员成员授权模式下,读取成员时所属部门列表、主部门都只返回根部门id,即1;不返回部门内order
    获取部门成员成员授权模式下,应用无任何部门权限,调用时将返回60011错误
    获取部门成员详情成员授权模式下,应用无任何部门权限,调用时将返回60011错误
    获取部门列表成员授权模式下,应用无任何部门权限,调用时将返回60011错误

     

    变更的回调事件

    回调事件变更点
    成员通知事件成员授权模式下,用户所属部门或者主部门只返回根部门id,即1
    变更授权通知管理员对应用的授权模式进行切换时,会触发变更授权通知的回调

     

    上一篇
    企业授权应用
    下一篇
    自建应用代开发