最近更新时间:2023.05.26 20:15:22
首次发布时间:2021.02.23 10:42:07
支持外部嵌入仪表盘时采用 OpenAPI 方式鉴权,由嵌入方控制申请 OpenAPI token 达到自定义权限控制的目的,并且可以避免在点击仪表盘跳转到系统时需要重复登陆的问题。
首先参考OPEN API概述申请获取clientID / secret,使用clientID / secret换取jwtToken。
嵌入PC端页面
// 在嵌入的iframe url上带上jwtToken; // 注意OpenAPI鉴权路由前缀使用/bi-open/而不是/bi/; // SaaS环境 <iframe src=`uri/bi/datawind-open/.......?a=b&jwtToken=${jwtToken}` /> // 私有化部署 <iframe src=`uri/bi-open/.......?a=b&jwtToken=${jwtToken}` />
嵌入移动端页面
// 在移动端嵌入的iframe url上带上jwtToken; // SaaS环境 <iframe src=`uri/bi/datawind-h5/.......?a=b&jwtToken=${jwtToken}` /> // 私有化部署 <iframe src=`uri/bi-h5/.......?a=b&jwtToken=${jwtToken}` />
嵌入方:将系统的仪表盘以包括不限于 iframe 的方式嵌入在自己平台暴露给用户访问的平台方
浏览用户:浏览嵌入方页面的用户实体,该用户可能会查看到嵌入的仪表盘页面
智能数据洞察用户:智能数据洞察平台上的用户实体
系统管理员:智能数据洞察的系统管理员(拥有全站最高权限)
需求描述
嵌入方需要在自己的平台上展示智能数据洞察产品的仪表盘,并且嵌入方自行掌控权限控制(或不做权限控制)。例如,嵌入方有BI展示页面,在该页面嵌入了产品仪表盘。当浏览用户访问该展示页面时,嵌入方判断浏览用户有该页面的访问权限,则无条件显示该页面上的仪表盘,而忽略该浏览用户在智能数据洞察产品上的真实权限(或者该浏览用户甚至不存在于智能数据洞察平台)。
使用流程
(1)系统管理员申请 Binding type 为 system 的 client ID / secret
(2)览用户浏览嵌入方时,嵌入方申请智能数据洞察系统 token,并将proxyUser设置为当前浏览用户对应的智能数据洞察系统用户。
DELETE /aeolus/api/open/v2/dashboard/dashboards
只能删除有管理权限的看板,不支持删除他人的个人看板,不支持删除目录。
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
Authorization | string | 是 | 用于后端做认证鉴权,格式:Bearer jwt_token,其中jwt_token通过jwt申请接口申请 |
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
dashboards | array[int] | 否 | 需要删除的的看板ID列表 |
名称 | 类型 | 描述 | ||
---|---|---|---|---|
code | string | 返回码,定义参考“错误码”定义 | ||
msg | string | 提示信息 | ||
data | object | 数据内容 | ||
results | array[object] | 删除结果信息 | ||
dashboard | int | 看板ID | ||
success | bool | 是否成功删除 | ||
reason | string | 失败原因,仅success为False有效 |
{ "code": "aeolus/ok", "data": { "results": [ { "dashboard": 146028, "reason": "资源已被删除", "success": false }, { "dashboard": 146031, "reason": null, "success": true } ] }, "msg": "成功" }