集成应用免登对接示例

概述

任务简介

本文档说明如何将简道云当前登录用户的用户名动态传递给 FineBI,实现不同用户单击「进入应用」后分别以各自对应的 FineBI 账号登录,保留 FineBI 内的数据权限隔离。

本文仅讲解具体实现示例,接口理论请参考:集成应用免登对接说明

整体流程

理解此方案的核心机制,有助于正确完成各步骤配置。整体流程如下:

1)用户在简道云单击「进入应用」,简道云将用户跳转到配置的「应用首页」(即中转服务),并在 URL 中附加 code 参数。

2)中转服务接收请求后,提取 code,调用简道云 API 换取当前简道云企业成员的编号。

3)中转服务将用户重定向至 FineBI 免登地址,URL 中携带获取到的简道云企业成员编号,作为 FineBI 用户名。

4)FineBI 识别 URL 参数,以该用户名自动完成登录。

示例环境说明

本文所有操作步骤基于以下示例环境演示。实际操作时,请将表格中的示例值替换为你自己环境的实际值。

内容

示例说明

用户要求

FineBI 用户名与简道云成员编号保持一致

  • 简道云中存在成员编号为「F000020」的用户
  • FineBI中存在用户名为「F000020」的用户

环境要求

FineBI 工程和中转服务满足以下条件:

  • 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)保存自定义详情页设置。用户查看该表单数据时,嵌入的外部页面以当前登录用户的身份自动完成认证,无需额外登录。

文档内容是否对您有帮助?
有帮助
没帮助没帮助
如需获取即时帮助,请联系技术支持
咨询
扫码领取100+零代码资料简道云官方微信号400-111-0890
图标在线咨询
立即体验