前端集成被动传参模式
集成示意

- Filez文档中台和业务系统需要约定一个secret用来就算请求url的hmac
- 业务系统前端需要调用在线编辑/预览服务时,请求业务系统的服务端。由业务系统的服务端根据secret来生成在线编辑/预览的url。url如下面的格式
http(s)://${zOffice_domain}/docs/app/driver-callback?repoId=${repoId}&docId=${docId}&action=edit¶ms=${params}&ts=${ts}&HMAC=${hmac}
全部请求参数查看请求参数
- Filez文档中台server收到请求后,首先会根据HMAC值验证请求是否是正确,确保相关参数不会被篡改。
- 根据ts(时间戳)验证请求是否过期,以保证在线编辑/预览的请求不会被任意传播。缺省情况,一个在线编辑/预览请求url地址的有效期是10秒。需要业务系统和Filez文档中台时间同步。
- 带着params定义的参数,回调三方集成标准方式中业务系统实现的回调接口profiles API获取当前编辑用户信息。
- 带着params定义的参数,回调三方集成标准方式中业务系统实现的回调接口metaAPI获取当前编辑文件的meta信息,包括权限信息。
- 带着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说明 |
| ts | 是 | URL生成的时间戳,精度毫秒 |
| 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默认值)