嵌入式BI工具如何让SaaS产品具有 “安全感”和“敏锐感”(3)

发布时间:2023/01/03 09:01 发布者:lenka.guo

返回博客中心

Wyn商业智能提供了基于GraphQL的丰富的API接口,允许通过API和动态参数来根据用户上下文信息获取相应的数据和生成文档。具体嵌入方式可以根据SaaS系统情况进行合理调整。

嵌入式BI工具如何让SaaS产品具有 “安全感”和“敏锐感”(1)

嵌入式BI工具如何让SaaS产品具有 “安全感”和“敏锐感”(2)

嵌入式BI工具如何让SaaS产品具有 “安全感”和“敏锐感”(3)

API文档授权

7.1 获取文档ID

POST /api/graphql?token=77c9bfccf16659f2ab62cf7796b640156f13cea35bc30cde1597ddb4457720c7

Content-Type: application/json

{"query": "query { documenttypes(key:"rdl") { documents { id, title, type} } }"}

Picture1.png

7.2获取角色名称

GET /admin/api/accountmanagement/api/v1/roles?token=77c9bfccf16659f2ab62cf7796b640156f13cea35bc30cde1597ddb4457720c7

Picture2.png

7.3给文档分享角色权限

(参数用到第一步返回的报表ID,以及第二步要分享的角色名称)

POST /api/graphql?token=77c9bfccf16659f2ab62cf7796b640156f13cea35bc30cde1597ddb4457720c7

Content-Type: application/json

{"query":"mutation {
updatePermissions( documentId: "f30ce97b-7369-424e-8b39-8ffa6b305838" , grant: [ { role:"1", ops: [ Read, Update ]}] )
}"}

Picture3.png

如需通过带Token的URL进行集成,可继续参考以下步骤。

8、拼接URL

8.1 获取文档ID

POST /api/graphql?token=77c9bfccf16659f2ab62cf7796b640156f13cea35bc30cde1597ddb4457720c7

Content-Type: application/json

{"query": "query { documenttypes(key:"rdl") { documents { id, title, type} } }"}

Picture4.png

8.2 生成Token (参考3 生成Token的内容中 关于参数的定义)

POST /connect/token?token=77c9bfccf16659f2ab62cf7796b640156f13cea35bc30cde1597ddb4457720c7

Content-Type: application/x-www-form-urlencoded

grant_type=password&username=admin&password=admin&client_id=integration&client_secret=eunGKas3Pqd6FMwx9eUpdS7xmz&access-token-lifetime=86400

Picture5.png

8.3 拼接生成URL

http://localhost:51980/dashboards/view/【报表ID】?theme=default&lng=zh-CN&token=【TOKEN】

9、用户身份信息集成 (单点登录)

对于SaaS平台通常都有独立的用户认证体系,而在Wyn中可以将用户信息集成,实现多个平台账户统一身份认证,统一管理,以下是关于单点登录的介绍:

9.1整体流程

Picture6.png

9.2 自定义安全提供程序简介

在Wyn提供的自定义安全提供程序接口中,我们需要根据调用时请求的token,完成相应的认证与授权逻辑,这个token根据业务需要,可以来源于一个统一的身份认证平台,或是由某个加密协议,将用户信息保存在token中实现权限的传递。

而如何解析这个token,并实现Wyn中用户的授权,就是需要在安全提供程序中 实现的内容。

9.3 自定义安全提供程序-用户校验

当用户从画面上登录,或者通过前述的connect/token api调用获取Wyn的登录token时,会使用GenerateTokenAsync方法,实现用户的校验

而对于集成了自定义安全提供程序的SAAS平台,我们可以将当前使用者的token作为用户名和密码,发起登录请求:

Picture7.png A picture containing text, monitor, screenshot, screen Description automatically generated

可以看到在SAAS平台中用户的token就传递到了Wyn的认证程序中,而这个token又是哪个角色,拥有哪些权限,可以通过向认证平台发起请求的方式获取。

9.4 自定义安全提供程序-上下文授权

上文中说明了如何在Wyn中实现用户的认证及登录,而对于SAAS平台,每个用户的上下文信息(数据库连接信息,角色等)就需要从统一身份认证的接口中提供,我们既可以将它拼在Wyn的token中加密保存,也可以根据获取到的token动态从身份认证接口中获取:

GetUserInfo接口:

Picture8.png

登录成功:

Picture10.png

这样我们就可以通过在用户认证服务中集中配置,配合单点登录组件的认证逻辑,实现对各个租户的数据库及权限的统一管控。



Wyn 商业智能软件| 下载试用

Wyn 是西安葡萄城自主研发的嵌入式商业智能软件,能帮助企业用户发现更多的数据潜在价值,为管理者制定决策提供数据支撑。Wyn 具备完整的嵌入式分析能力,能够与其他软件深度集成,也可独立部署使用,快速提升数据展示和分析能力。

Wyn 支持公有云、私有云和本地部署等多种部署方式,并能在Java、.net、PHP等开发平台中使用。您可以将其与ERP、CRM、OA等业务系统,以及钉钉、企业微信等APP进行深度集成,持续交付BI和报表功能,助力您的客户发现数据的价值。

了解更多关于 Wyn 嵌入式商业智能软件的内容,请点击此处访问官网,立即下载体验。