跳到主要内容

前端集成被动传参模式

集成示意

集成示意图

  1. Filez文档中台和业务系统需要约定一个secret用来就算请求url的hmac
  2. 业务系统前端需要调用在线编辑/预览服务时,请求业务系统的服务端。由业务系统的服务端根据secret来生成在线编辑/预览的url。url如下面的格式
http(s)://${zOffice_domain}/docs/app/driver-callback?repoId=${repoId}&docId=${docId}&action=edit&params=${params}&ts=${ts}&HMAC=${hmac}

全部请求参数查看请求参数

  1. Filez文档中台server收到请求后,首先会根据HMAC值验证请求是否是正确,确保相关参数不会被篡改。
  2. 根据ts(时间戳)验证请求是否过期,以保证在线编辑/预览的请求不会被任意传播。缺省情况,一个在线编辑/预览请求url地址的有效期是10秒。需要业务系统和Filez文档中台时间同步。
  3. 带着params定义的参数,回调三方集成标准方式中业务系统实现的回调接口profiles API获取当前编辑用户信息。
  4. 带着params定义的参数,回调三方集成标准方式中业务系统实现的回调接口metaAPI获取当前编辑文件的meta信息,包括权限信息。
  5. 带着params定义的参数,回调三方集成标准方式中业务系统实现的回调接口GET contentAPI获取当前编辑的文件流。

(详细接口信息请阅读《Filez文档中台-集成版 三方标准集成接口说明》)

被动传参模式

请求地址:

GET http(s)://${zOffice-server-IP}:${zOffice-server-port}/docs/app/driver-callback

请求参数定义如下

参数名是否必选描述
repoId第三方服务在zOffice中的唯一标识ID,第三方服务自行定义,需同时在zOffice配置文件中声明
docId文档在第三方系统中的唯一ID
action标识打开文档的行为,取值edit或view,默认为view
params需要回传的信息,格式key=value;key2=value2,详见下面的params说明
tsURL生成的时间戳,精度毫秒
HMAC请求URL加盐哈希值,用于验证请求地址是否被篡改

示例

http://luoshuhost:8001/docs/app/driver-callback?  
repoId=thirdpart-rest&
docId=demo-docx&
action=edit&
params=3rd-party-token=xxx;id=demo-docx-123;x-webhook-header=xxx&
ts=1685673093648&
HMAC=8b48d4833bd2e22203eb890c91a6fe08df6056bf3bda126ab31e5a9d9c04aad5

params

params中传递的信息会在调用三方接口时,同时在header,cookie,queryParams中回传。

比如当params=x-param-1=aaa;x-param-2=bbb时,三方接口为/v2/context/docId/content时,三方实际收到的请求如下

请求地址: /v2/context/docId/content?x-param-1=aaa&x-param-2=bbb

请求头:

x-param-1: aaa
x-param-2: bbb

Cookie: x-param-1=aaa;x-param-2=bbb

注意: 需要在header中回传的参数,必须开头是x-(可以通过修改特殊配置headerPrefix默认值)