第三方应用管理
在「三方集成」页面注册第三方应用,获取 appId 与 appSecret,并配置报表白名单、最大有效期和续打进度权限。
概述
第三方系统(业务系统、门户、工作台)要以免登录方式嵌入报表、导出报表文件或读取报表目录,必须先在平台中注册为「第三方应用」,得到一组 appId / appSecret。第三方后端用 appSecret 生成签名,平台验签通过后才放行,签名规则见 嵌入签名与令牌。
功能入口
管理后台左侧菜单 系统 > 「三方集成」(页面标题为「第三方应用」)。访问该页面需要 external-app 系统权限。页面标题旁的「接入说明」按钮会弹出场景总览、签名规则、多语言代码示例与注意事项。
操作步骤
新增应用
- 点击页面右上角「新增应用」。
- 填写表单(字段见下表),点击「创建」。
- 创建成功后表单收起,对话框显示「应用 ID」与「密钥」,并提示「密钥仅显示这一次,关闭后无法再查看(只能重置)」。点击「复制密钥」保存,再点击「完成」。
注意:建议在创建成功的这个界面保存密钥。列表中的「密钥」列只显示掩码;有权限的管理员可点击掩码旁的眼睛图标(提示「查看当前密钥」)查看完整密钥(后台会记录审计日志),也可用「重置密钥」重新生成(旧密钥立即失效)。
重置、编辑与删除
- 「重置密钥」:生成新的 32 位随机密钥并显示一次;旧密钥签出的请求验签失败。
- 「编辑」:可修改除应用 ID 以外的全部字段;应用 ID 创建后不可修改。
- 「删除」:删除应用,并清理该应用当前所有活跃的嵌入会话。
- 状态改为「禁用」后,该应用的签名一律被拒绝(提示「应用已禁用」)。
属性说明
| 属性 | 说明 | 取值/默认值 |
|---|---|---|
| 应用ID | 第三方接入时识别应用的唯一标识,创建后不可修改;必填 | 2 到 100 个字符,以字母开头,只能包含字母、数字、下划线和连字符 |
| 应用名称 | 必填 | 不超过 200 个字符 |
| 应用描述 | 可选 | 不超过 1000 个字符 |
| 状态 | 启用或禁用 | 启用(0)、禁用(1);默认启用 |
| 默认有效期 | 建议第三方生成签名时采用的有效期,单位分钟;平台只保存该值,不据此拒绝或截断签名 | 默认 600 |
| 最大有效期 | 嵌入会话的最长存活时间,单位分钟;会话有效期取「签名过期时间」与「当前时间加最大有效期」中较早者 | 默认 1440,上限 43200(30 天) |
| 报表白名单 | 允许该应用访问的报表 ID,多个用英文逗号分隔;留空表示不限制。同时限制报表目录、标签查询的返回范围 | 最长 4000 个字符 |
| 续打进度管理 | 是否允许该应用调用 /api/embed/print/reset、/api/embed/print/manual-set 重置或手动设置续打进度 |
默认关闭 |
生成的外部用户
第三方以某个 account 首次访问时,平台会自动创建一个内部用户,之后按同一账号复用:
| 项 | 说明 |
|---|---|
| 内部账号 | ext__{appId}__{account}(双下划线分隔) |
| 姓名 | 取签名中的 userName,每次访问若有变化会同步更新 |
| 密码 | 空,外部用户不能用账号密码登录 |
| 是否管理员 | 否 |
| 来源 | 在用户管理中显示为「外部集成」 |
注意:在用户管理中把某个外部用户「停用」后,该账号再嵌入访问会被拒绝(提示「用户已被停用」)。删除该用户则下次验签会自动重新创建。
示例
注册一个 ERP 系统:
| 字段 | 值 |
|---|---|
| 应用ID | erp-system |
| 应用名称 | ERP 系统 |
| 报表白名单 | rpt_sales,rpt_stock |
| 最大有效期 | 60 |
保存后,erp-system 只能访问 rpt_sales、rpt_stock(以及这两张报表内嵌或钻取链接到的报表,可达深度最多 3 层),会话最长存活 60 分钟。
注意事项
注意:
appSecret只能保存在第三方的服务端,不得写进前端页面或移动端安装包。
提示:白名单中报表所内嵌的报表(仪表盘「嵌入报表」区块)以及单元格链接钻取到的报表,会沿模板自动获得授权,最多传递 3 层,无需逐个补进白名单;模板修改后需重新发布,且授权判定最多有 1 分钟缓存延迟。