集成应用免登对接示例
概述
任务简介
本文档说明如何将简道云当前登录用户的用户名动态传递给 FineBI,实现不同用户单击「进入应用」后分别以各自对应的 FineBI 账号登录,保留 FineBI 内的数据权限隔离。
本文仅讲解具体实现示例,接口理论请参考:集成应用免登对接说明
整体流程
理解此方案的核心机制,有助于正确完成各步骤配置。整体流程如下:
1)用户在简道云单击「进入应用」,简道云将用户跳转到配置的「应用首页」(即中转服务),并在 URL 中附加 code 参数。
2)中转服务接收请求后,提取 code,调用简道云 API 换取当前简道云企业成员的编号。
3)中转服务将用户重定向至 FineBI 免登地址,URL 中携带获取到的简道云企业成员编号,作为 FineBI 用户名。
4)FineBI 识别 URL 参数,以该用户名自动完成登录。

示例环境说明
本文所有操作步骤基于以下示例环境演示。实际操作时,请将表格中的示例值替换为你自己环境的实际值。
内容 | 示例说明 |
用户要求 | FineBI 用户名与简道云成员编号保持一致
|
环境要求 | FineBI 工程和中转服务满足以下条件:
|
地址信息 | FineBI工程地址:https://demo.fanruan.com 中转服务地址:https://demo.fanruan.com/help/sso.php |
前提条件
开始配置前,请确认以下条件已满足。
简道云端
1)检查操作用户权限:仅简道云企业创建者与系统管理员支持配置集成应用
2)检查简道云版本:企业版及以上简道云支持集成应用功能。版本升级可点击:商务咨询。
FineBI 端
1)检查操作用户权限:仅 FineBI 超级管理员支持配置后台单点登录
2)检查中转服务所在环境:中转服务已开启 HTTPS 并配置可信域名(本文将中转服务放在了 FineBI 工程中,确保 FineBI 工程满足该条件即可)
3)确保 FineBI 关闭「点击劫持攻击防护」:允许 FineBI 页面被嵌入简道云中显示

简道云与 FineBI
检查用户匹配情况:简道云成员编号与 FineBI 用户名一一对应。

第一步:在 FineBI 配置后台单点登录插件
此步骤开启 FineBI 对 URL 参数免登的支持。
1)在 FineBI 中进入「管理系统 > 插件管理」,安装「后台单点登录」插件。
2)安装完成后,进入「管理系统 > 系统管理 > 集成后台单点登录」页面。
3)在登录方案中选择「示例接口」,单击「保存」。
4)完成后,FineBI 接受通过 ?fine_username=用户名 参数传入的用户名进行免登。
注:本文为测试示例,因此使用了 FineBI 用户名明文传递方案,用户名暴露在 URL 和访问日志中,安全性相对较低。
在生产环境中,建议改用 FineBI 的 RSA 加密方案。详情请参见:后台单点登录RSA示例代码

第二步:在简道云创建集成应用
此步骤获取用于服务端身份验证的 Suite ID 和 Suite Secret。
1)登录简道云,进入「管理后台 > 基本信息 > 产品中心」页面。
2)单击「+ 集成更多应用」创建新的集成应用。

3)系统弹出「配置集成应用」对话框,填写配置信息,单击「创建」。
配置项 | 填写说明 |
应用名称 | 填写:FineBI |
应用描述 | 填写:集成 FineBI,以当前登录用户身份免登访问 |
可信域名 | 填写:demo.fanruan.com 中转服务所在的域名。本文将 sso 中转服务文件上传到了 FineBI 所在服务器,因此域名与 FineBI 工程一致 |
应用首页 | 填写:https://demo.fanruan.com/help/sso.php 中转服务的接收地址。本文将 sso 中转服务文件上传到了 FineBI 工程的 help 文件夹下 |

4)单击「编辑」按钮,进入集成应用配置详情页。
5)复制自动生成的 Suite ID 和 Suite Secret,请将两项凭证妥善保存,供中转服务配置使用。

第三步:部署中转服务
此步骤在企业服务端部署中转服务,完成简道云 code 的接收、用户信息的获取和到 FineBI 的跳转。
1)准备 sso.php 文件
点击下载并解压,获得 sso.php 文件:sso.zip
修改以下内容并保存。
- your_suite_secret_here:替换为第二步中获取的 Suite Secret
- https://你的FineBI域名/webroot/decision:替换为你的 FineBI 实际访问地址

2)上传 sso.php 文件
将 sso.php 文件上传到 FineBI 工程的 webroot/help 文件夹下。
如果 FineBI 是多节点集群,有多个 bi-web 服务,需要分别上传到每个 bi-web 节点的 help 文件夹下。
3)验证 sso.php 文件配置成功
访问 https://你的FineBI域名/help/sso.php
页面返回「缺少 code 参数」即说明文件部署成功,等待简道云传入 code 后可完整跑通。

第四步:启用集成应用
此步骤开启集成能力,并完整验证从简道云点击到进入 FineBI 的全流程。
在产品中心的 FineBI 集成应用卡片右侧,将开关切换至开启状态。

第五步:免登录效果展示
1)用户编号为「F000020」的用户,在简道云「产品中心」中单击「进入应用」。
2)浏览器地址跳转至中转服务地址,URL 中包含 code 参数。
3)中转服务处理完成后,浏览器跳转至 FineBI 。
3)FineBI 以当前简道云登录用户编号「F000020」作为用户名,自动完成登录。

第六步:仪表盘或表单嵌入FineBI看板
完成集成应用创建后,可以在简道云的仪表盘或表单页面中嵌入外部系统的页面,实现免登录访问。
在仪表盘中嵌入外部页面
1)编辑目标仪表盘,添加「嵌入页面」组件。
2)设置第三方系统的页面地址。系统自动识别该地址是否属于已配置的集成应用(根据可信域名匹配)。匹配成功后,嵌入页面自动通过集成应用实现单点登录。
3)保存仪表盘。用户访问该仪表盘时,嵌入的外部页面以当前登录用户的身份自动完成认证,无需额外登录。

在表单数据详情中嵌入外部页面
1)编辑目标表单,进入「扩展功能>数据详情」。
2)设置「自定义详情页」,添加「嵌入页面」组件。
3)设置第三方系统的页面地址。系统自动识别该地址是否属于已配置的集成应用(根据可信域名匹配)。匹配成功后,嵌入页面自动通过集成应用实现单点登录。
4)保存自定义详情页设置。用户查看该表单数据时,嵌入的外部页面以当前登录用户的身份自动完成认证,无需额外登录。


400-111-0890
在线咨询