概述

当客户系统有统一登录认证协议,但并未使用标准行业规范(例如:OAuth2/CAS/LDAP等协议),而是使用自建协议。产品提供了灵活易用的可视化配置界面,方便客户快速实现统一登录平台单点登录到Smartbi应用
前置条件:

  1. 统一登录平台需单点登录到Smartbi,未使用行业标准协议,但提供了自建协议接口:
    1. 必须提供至少一个接口RESTful API
    2. 接口返回值是JSON格式字符串
  2. 建议统一登录平台跟Smartbi用户一致;可参考xx做用户同步
    1. 如果用户不一致时,支持使用Smartbi固定账号登录,但一般不建议这么使用。
  3. 部署自建协议单点登录扩展包,参考xxx

适用场景:

  1. 统一登录平台通过连接单点登录到Smartbi首页。
  2. 统一登录平台通过连接单点登录打开Smartbi集成页面,包括打开资源、创建资源、打开模块等。
  3. 统一登录平台通过连接单点登录打开Smartbi移动端首页
  4. 未登录时,浏览器输入Smartbi连接自动跳转到统一登录平台的登录页面。
  5. 通过Smartbi前端注销则注销整个统一登录平台。

名词解释

单点登录逻辑

单点登录使用限制及主要能力

单点登录配置

入口

入口:运维设置/单点登录设置,需要操作权限:"运维设置/模块配置与管理"(操作权限参考xx)

使用流程及配置信息说明

1、参考Smartbi"单点登录设置"中的"Smartbi单点登录地址",在"统一登录平台"中添加Smartbi的访问连接。

  1. 其中"单点登录应用范围",可以选择应用单点登录的页面,如果不应用,则打开该页面会继续使用Smartbi的账号密码进行登录验证。
  2. 访问连接可基于实际情况选择使用"Smartbi单点登录地址"或者是应用范围中的页面。
  3. 当应用范围中未包含需要单点登录处理的页面时,可通过"自定义"添加,添加到"自定义"中的页面,未登录时,也会正常跳转到"统一登录平台"的登录页面。


2、基于"统一登录平台"的单点登录接口配置文档,在Smartbi中依次配置单点登录接口信息。

依次配置 前置授权请求(可选)统一登录接口(必须)、独立获取用户信息接口(可选)、统一注销接口(可选),如有疑问,可参考后续"自建协议场景配置示例"。

2.1、前置授权请求(可选),主要解决类似OAuth2协议,请求Smartbi连接后需要重定向到"统一登录平台"获取授权码(code)的场景,开启"前置授权请求"设置项后可配置使用。



2.2、大部分自建协议会提供2个接口,一个接口获取token,一个接口基于token获取用户信息,产品默认支持该场景,直接配置即可。

2.3、部分情况下,自建协议只有一个接口,统一登录平台在打开Smartbi的连接中直接携带token,Smartbi通过自建协议接口验证token合法性,并在该接口直接获取登录用户信息

2.4、可选择配置统一注销地址:当点击Smartbi注销按钮,需要同步注销统一登录平台时,可选择配置

2.5、产品提供了灵活的配置设置,可基于实际接口文档自由选择,如有疑问可参考后续实际配置示例章节

  1. 随意增减参数个数
  2. 自定义参数名称,基于接口实际参数名称填写
  3. 选择入参设置方式:可设置到header,request(body)、cookie、session
  4. 选择参数来源及参数值:
    1. 可配置静态值、动态时间戳、或者是上个接口的返回值等
      1. "上个接口返回"用来获取上一个接口的返回值,并传递到当前接口中,第一个接口获取token。
      2. "Smartbi单点地址"用来获取单点登录Smartbi时使用的Smartbi连接地址,一般在前置请求需要回调url时使用。


3、可选择配置登录用户处理规则:

4、可选择配置逃生通道:

5、可选接口入参特殊处理:


6、可选择配置多系统登录Smartbi:

7、验证单点登录是否成功:有以下几种方式验证

自建协议场景配置示例

场景1:统一登录平台携带token参数跳转到Smartbi,Smartbi回调统一登录平台接口校验并直接获取合法用户信息

    1. 原始需求描述:

在统一登录平台中,用户点击BI平台菜单时,前端会携带该 session 跳转到BI平台的 web 端。跳转url格式是:http:{ip}:{port}/bi/index.html?token=sessionId}&tenantId=3849234893
BI平台获取到token后,可以携带这个 sessionId 来调用一体化平台的接口。当 sessionId 有效时,便可以正常获取用户的唯一标识和用户名称。
请至钉钉文档查看「电子表格」

    1. Smartbi单点登录配置信息

场景2:金蝶云之家单点登录到Smartbi

适用类似场景:统一登录平台不携带token,需要先通过统一登录接口获取token,再基于token获取合法用户信息

  1. 原始需求描述

基于云之家开放平台,添加Smartbi为云之家的轻应用,并实现单点登录。
由于云之家轻应用有不同的授权级别,授权级别不同,获取接口的输入参数也是不同的,本示例以授权级别为app为例

  1. 统一登录获取token接口说明及Smartbi配置
    1. 接口定义 :获取accessToken
    2. smartbi配置

  1. 统一登录获取用户接口说明及Smartbi配置
    1. 接口定义:基于token获取用户信息
    2. smartbi配置:配置获取用户信息接口及入参等,重点注意几个参数的入参设置方式

场景3:需要使用重定向获取授权码,再基于授权码获取token,最后使用token获取用户信息。

  1. 原始需求描述

  1. Smartbi单点登录配置:启用前置授权请求

  1. 统一登录(基于原始需求,后面简称4A)用户授权接口说明及Smartbi配置
    1. 接口定义:
    2. smartbi配置:配置前置请求接口及入参相关信息
  2. 4A获取token接口说明及Smartbi配置
    1. 接口定义:
    2. smartbi配置:配置获取token接口及入参、接口返回相关信息
  3. 4A获取用户信息接口说明及Smartbi配置
    1. 接口定义:
    2. smartbi配置:配置获取用户接口及入参、接口返回/登录用户相关信息



参考接口文档:
《广西全面健康信息项目平台接口文档》
请至钉钉文档查看附件《EPPR-89888【中冶长天】统一登录需求-使用说明 - V1.0.doc》 EPPR-89888【中冶长天】统一登录需求-使用说明 - V1.0.doc