...
OAuth 2.0是一种开放授权协议,它允许用户授权第三方应用访问他们在另一个服务提供方上的数据,而无需分享他们的凭据(如用户名、密码)。这种协议非常适合用于实现单点登录(SSO),使用户在多个应用之间无缝切换,无需重复登录。OAuth2.0协议定义了四种授权模式,Smartbi主要支持授权码模式(Authorization 0协议定义了四种授权模式,Smartbi主要支持授权码模式(Authorization Code Grant)Grant)
前置条件:
1、统一登录平台使用OAuth 2.0协议的授权码模式,希望单点登录到Smartbi。
...
注意 |
---|
本扩展包是OAuth 2.0的新版本,和旧的OAuth 2.0扩展包不兼容 注:如果部署新的OAuth 2.0 V2,先把旧的扩展包禁用或者删除 |
名词解释
统一登录平台:统一登录平台是企业或组织用于集中管理用户身份认证与权限控制的系统,用户通过一次登录即可访问所有授权的内部或外部应用,无需重复输入账号密码。统一登录平台是企业或组织用于集中管理用户身份认证与权限控制的系统,用户通过一次登录即可访问所有授权的内部或外部应用,无需重复输入账号密码。
OAuth 2.0: 是统一登录平台实现身份认证与授权流程的核心协议之一, 是统一登录平台实现身份认证与授权流程的核心协议之一,统一登录平台可以使用OAuth 2.0或其它协议。
...
2.1、支持自定义配置分配给Smartbi服务器的应用ID(Client ID),应用密钥(Client Secret)
2.2、支持自定义灵活配置接口:包括:重定向统一登录地址、用授权码换取Access Token接口地址、用Access Token获取用户接口地址、统一注销地址
...
当应用范围中未包含需要单点登录处理的页面时,可通过"自定义"添加,添加到"自定义"中的页面,未登录时,也会正常跳转到"统一登录平台"的登录页面。
3、把第一步申请的应用ID及应用密钥添加到Smartbi单点登录配置中;后续接口调用时可直接引用
4、基于"统一登录平台"OAuth2接口配置文档,在Smartbi中依次配置单点登录接口信息。OAuth2接口配置文档,在Smartbi中依次配置单点登录接口信息。
4.1、依次配置1、依次配置"统一登录/获取授权码"接口、"用授权码换取Token"接口、"用Token获取用户"接口,这3个接口必须依次配置(下图示意其中一个接口)必须依次配置(下图示意其中一个接口)
可选择配置 "统一注销" 地址:当点击Smartbi注销按钮,需要同步注销统一登录平台时,可配置
...
- 随意增减参数个数
- 自定义参数名称,基于接口实际参数名称填写
- 选择入参设置方式:可设置到header,request(body)、cookie、session
- 入参设置方式说明:
- request/query:查询参数(Query Parameters),附加在URL的?后面,键值对形式,比如。
- request/body:请求体参数(Body Parameters):在请求体中传递,常见于POST、PUT等方法,默认是JSON格式。
- 默认会在请求头中添加:Content-Type:application/json
- 如果需要键值对格式,需要主动增加请求头参数:Content-Type:application/x-www-form-urlencoded
- 暂不支持XML格式。
- request/header:请求头参数(Headers):在HTTP头部中传递,如Content-Type用于设置请求体参数格式。
- cookie:Cookie参数:通过Cookie头传递,键值对拼接,如 。
- session:session参数,通过session传递,键值对拼接。
- 入参设置方式说明:
- 选择参数来源及参数值:
- 可配置静态值、动态时间戳、或者是应用ID、应用密钥、上个接口的返回值等可配置静态值、动态时间戳、或者是应用ID、应用密钥、上个接口的返回值等
- "上个接口返回"用来获取上一个接口的返回值,并传递到当前接口中,第一个接口获取token。
- "Smartbi单点地址"用来获取单点登录Smartbi时使用的Smartbi连接地址,一般在前置请求需要回调url时使用。
- 可配置静态值、动态时间戳、或者是应用ID、应用密钥、上个接口的返回值等可配置静态值、动态时间戳、或者是应用ID、应用密钥、上个接口的返回值等
...
5.3.1、当前只支持分配到固定的用户组或角色,不支持动态同步用户组。
6、可选择配置逃生通道:
6.1、逃生通道允许用户绕开oauth2登录协议,直接使用Smartbi账号密码登录,主要是解决oauth2服务异常、Smartbi单点登录配置错误等导致无法正常登录Smartbi的异常情况。
...
注意:在下一步单点登录验证成功前,不要禁用逃生通道,否则将无法正常登录Smartbi继续调整配置。
7、可选接口入参特殊处理:
7.1、当接口参数需要额外处理时使用,比如要特殊加密,或者在上一个接口的返回值+前缀后传给下一个接口等。
...
7.3、产品提供了灵活的扩展接口,通过接口入参的高级配置实现。
8、可选择配置多系统登录Smartbi:
8.1、当客户的统一登录体系还不完善,有多套统一登录应用需要单点登录同一套Smartbi应用时,可启用该配置。
...
8.3、为了减少各个统一登录应用的重复配置,提供了一键复制配置到其它应用的功能。
9、验证单点登录是否成功:有以下几种方式验证
9.1、通过第二步中添加的Smartbi访问入口,如果能正常单点登录到Smartbi,则成功。
...
基于oauth2的授权码模式接口使用流程,由于每个接口在不同项目中的具体配置参数不太一致,示例中会说明依据的接口说明,项目需要根据自己的接口说明做调整。
获取授权码接口
- 接口定义:
- smartbi配置:
用授权码换取Token接口
- 接口定义:
- smartbi配置:
用Token获取用户接口
- 接口定义:
- smartbi配置: