本文内容

获取企业授权 company_token(第三方企业应用)

流程

第三方企业应用通过如下流程获取企业授权凭证 company_token:

  1. 申请所需权限,创建版本申请上架应用商店。
  2. 获取临时授权码 tmp_auth_code。
  3. 获取获应用授权 app_token。
  4. 使用 app_token 和临时授权码 tmp_auth_code,获取永久授权码 permanent_auth_code。
  5. 使用 app_token 和 permanent_auth_code,获取 company_token。

企业授权时序如下图:

img

(图1:企业授权时序图)

Step1 申请应用所需权限,上架应用商店

1、开发者后台创建应用后,在“权限申请“模块将所需权限添加申请,创建版本并申请上架应用商店。

img

(图2:开发者后台-权限申请)

img

(图3:开发者后台-应用发布-版本管理与发布-创建版本)

img

(图4:开发者后台-应用发布-版本管理与发布-申请上架)

Step2 获取临时授权码 tmp_auth_code

第三方企业应用在应用商店,被企业选择安装/更新版本时,会触发WPS协作开放平台生成 tmp_auth_code,平台会通过应用授权变更事件推送 tmp_auth_code 至应用开发者配置的事件消息推送的地址。

应用需在开发者后台-事件订阅主动订阅此事件,否则无法正常获取 tmp_auth_code。

请注意,临时授权码 tmp_auth_code 与应用申请的 scope 相关。因此,应用每次收到开放平台推送的临时授权码 tmp_auth_code,都应当响应并走一遍企业授权,获取新的永久授权码 permanent_auth_code,并使用新的 permanent_auth_code 获取新的 company_token。

Step3 获取应用授权 app_token

详细可见获取应用授权 app_token(第三方企业应用)

Step4 获取永久授权码 permanent_auth_code

使用第 2 步的 tmp_auth_code 和第 3 步的 app_token,获取永久授权码 permanent_auth_code。

使用说明:

  • 永久授权码 permanent_auth_code 与应用版本存在绑定关系。一个版本可能存在多个 permanent_auth_code(多次请求获取),但其所关联的企业授权范围是一致的。
  • 应用成功获取永久授权码 permanent_auth_code 时,即标志应用在企业内安装/更新版本成功。故应用开发者需注意完成此步骤,否则应用无法正常使用。
  • 应用可保存/更新永久授权码 permanent_auth_code,用于获取和更新该企业的企业授权凭证 company_token。

请求说明

请求地址 https://openapi.wps.cn/auth/v1/company/permanent_auth_code
请求方法 GET
签名方式 WPS-3
支持应用类型 第三方企业应用
权限要求

请求头

Header 名称 是否必填 说明
Content-type 目前固定为:"application/json"
Content-Md5 当 HTTP 请求的 Body 有数据时,计算 Body 的 MD5 值,否则计算空字符串的 MD5 值。再将 MD5 值转为十六进制字符串形式。即:Format("%x", md5Byte)
Date RFC1123 格式的日期,例: Wed, 23 Jan 2013 06:43:08 GMT
X-Auth X-Auth 计算方法参考下方《签名说明》

查询参数(query)

参数 参数类型 是否必填 说明
app_token string 应用授权凭证
tmp_auth_code string 临时授权码

请求地址示例

[GET] https://openapi.wps.cn/auth/v1/company/permanent_auth_code?app_token=fe43123&tmp_auth_code=1232sd432

响应体

名称 类型 说明
result integer 状态码,非 0 表示失败,参照《状态码说明》
permanent_auth_code string 永久授权码

响应体示例

{
  "result": 0,
  "permanent_auth_code": "11234ss567accsa"
}

Step5 获取 company_token

使用第 3 步的 app_token 和第 4 步的 permanent_auth_code,获取企业授权凭证 company_token。

请求说明

请求地址 https://openapi.wps.cn/auth/v1/company/isv/token
请求方法 GET
签名方式 WPS-3
支持应用类型 第三方企业应用
权限要求

请求头

Header 名称 是否必填 说明
Content-type 目前固定为:"application/json"
Content-Md5 当 HTTP 请求的 Body 有数据时,计算 Body 的 MD5 值,否则计算空字符串的 MD5 值。再将 MD5 值转为十六进制字符串形式。即:Format("%x", md5Byte)
Date RFC1123 格式的日期,例: Wed, 23 Jan 2013 06:43:08 GMT
X-Auth X-Auth 计算方法参考下方《签名说明》

查询参数(query)

参数 参数类型 是否必填 说明
app_token string 应用授权凭证
permanent_auth_code string 永久授权码

请求地址示例

[GET] https://openapi.wps.cn/auth/v1/company/isv/token?app_token=fe43123&permanent_auth_code=1232sd432

响应体

名称 类型 说明
result integer 状态码,非 0 表示失败,参照《状态码说明》
token object 凭证信息
 ∟ company_token string 企业授权凭证
 ∟ expires_in integer 凭证有效期,单位为秒

响应体示例

{
  "token": {
    "company_token": "xxx",
    "expires_in": 86400
  },
  "result": 0
}

测试应用的企业授权流程

由于测试应用创建时即被默认安装至开发者企业,故测试应用的企业授权流程触发时机,与正式应用存在差异。测试应用的企业授权流程说明如下:

  1. 需在【事件订阅】配置事件接收地址。
  2. 需在【权限申请】模块至少申请 1 个权限,此时会触发审核发起提醒。

温馨提示:由于仅申请权限才可触发申请审核操作,因此为保证测试流程顺利,请尽量分多次进行权限申请,以便多次调试获取临时授权码

  1. 点击发起申请审核。
  2. 企业超管在企业管理后台-应用审核页面进行审核(work.wps.cn/xz/app/audit (opens new window))。
  3. 审核通过时,开放平台会触发企业授权,即推送临时授权码到应用事件订阅地址。
  4. 应用接收后即可完成企业授权流程,后续授权流程与正式应用一致。
本文内容