历史版本8 :类Oauth2单点登录插件配置实例 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 目的

结合客户实际的配置文档信息,介绍插件具体的配置步骤和参数。希望降低插件使用用户的配置成本,助力用户自行完成相关配置


1.2 应用场景

介绍Oauth 2认证和自定义认证两种模式下,具体的参数配置方法

2. Oauth2认证模式实例编辑

Oauth 2认证作为一种通用的认证协议,客户侧需要有统一认证平台。可实现在统一认证平台中,所有完成认证的业务系统之间,进行跨域的单点登录和单点登出,无需重复登录

2.1 具体配置

Oauth 2认证模式下,首先,需要在插件的初始参数步骤配置中,获取到登录统一认证平台的后,携带的code参数;接下来,在令牌申请步骤中,通过上一步获取的code参数,得到access_token参数;最后,在用户信息步骤中,通过上一步获取的access_token参数,得到用户信息

由于信息安全的缘故,以下配置中,部分参数用XXX代替

2.1.1 初始参数

1、配置文档信息

获取code
请求说明
请求方式:get 方式
请求路径:http://[ip]:[port]/sso/oauth/authorize?response_type=code&client_id=[client_id]&redirect_uri=[redirect_uri]

参数说明

参数

参数类型

必须

说明

response_type

String

固定值:code

redirect_uri

String

回调地址

client_id

String

自建应用编号

返回说明

参数

参数类型

必须

说明

code

String

认证授权码

2、插件实际配置

配置说明

Client id、Client Secret,客户给出,此处用XXX代替

Token name:code。与配置文档中的response_type一致

认证接口地址:${"http://IP/sso/oauth/authorize?response_type=code&client_id="+client_id +"&redirect_uri=IP2"}

1、认证接口地址中的IP和IP2分别为客户提供的实际业务中的统一认证平台地址和重定向地址;

2、具体配置中的写法规则:

(1)认证接口地址整体结构与配置文档信息中的请求路径一致;

(2)${}的写法,表示{}中的内容,有参数引用或者公式计算;

(3)“”中的内容,为固定内容(如地址中的"http://IP/sso/oauth/authorize?response_type=code&client_id="、"&redirect_uri=IP2"

(4)参数引用,格式为:+参数(如地址中+client_id ;client_id后面的“+”,用于拼接后面的内容


按照上述写法规则,认证接口地址也可以写成:

${"http://IP/sso/oauth/authorize?response_type=code&client_id=XXX&redirect_uri=IP2"} ——将client_id写成了确定值XXX,所以可以囊括在“”中


${"http://IP/sso/oauth/authorize?response_type=code="+client_id +"&redirect_uri”=+requestURL} ——将redirect_uri写成了引用值requestURL,格式为:+requestURL。可以动态识别客户首先访问的决策系统或报表地址

2.1.2 令牌申请

1、配置文档信息

通过code获取access_token

请求方式:get方式

请求路径:http:///[ip]:[port]/sso/oauth/accessToken?client_id=[client_id]&client_secret=[client_secret]&grant_type=authorization_code&redirect_uri= [redirect_uri]&code=[code]

参数说明

参数

参数类型

必须

说明

grant_type

String

授权模式,固定值:authorization_code

redirect_uri

String

回调地址

client_id

String

自建应用编号

client_secret

String

自建应用客户端密钥

code

String

认证请求成功返回的code

返回说明

参数
参数类型
说明

access_token

String

访问令牌

token_type

String

令牌类型,bearer类型,大小写不敏感

expires_in

String

过期时间,单位/毫秒,页面可设置

refresh_token

String

更新令牌,可选,用即将过期token换取新token

scope

String

指权限范围,可选,此处为read

2、插件实际配置

配置说明

请求地址:

get

${"http://IP/sso/oauth/accessToken?client_id=XXX&client_secret=XXX&grant_type=authorization_code&redirect_uri=IP2&code="+code}

请求头、请求体无需配置

请求结果:access_token:access_token


1、请求地址整体结构与配置文档信息中的请求路径一致;

2、“”中的内容,为固定内容,此处为:http://IP/sso/oauth/accessToken?client_id=XXX&client_secret=XXX&grant_type=authorization_code&redirect_uri=IP2&code=

3、code为引用初始参数步骤中获取的参数值,此处写法为:+code

2.1.3 用户信息

1、配置文档信息

通过access_token获取用户信息

请求方式:get方式

请求路径:http://[ip]:[port]/sso/oauth/userInfo?access_token=[access_token]

参数说明

参数

参数类型

必须

说明

access_token

String

访问令牌

返回说明

参数
参数类型
说明

loginName

String

登录用户账号

更多用户信息

String

通过页面自定义配置返回

2、插件实际配置

配置说明

请求地址:

get

${"http://IP/sso/oauth/userInfo?access_token="+access_token}

请求头、请求体无需配置

请求结果:fr_login_name:uid,其中参数值uid,为客户侧提供的登录用户值


1、请求地址整体结构与配置文档信息中的请求路径一致;

2、“”中的内容,为固定内容,此处为:http://IP/sso/oauth/userInfo?access_token="

3、code为引用令牌申请步骤中获取的参数值,此处写法为:+access_token


2.2 效果展示

访问帆软决策系统时,跳转至客户侧的统一认证平台。登录成功后,再跳转回帆软决策系统

111111111111.gif

3.自定义认证模式实例编辑

3.1 期望效果

客户部署了蓝凌OA平台,希望可以直接打开OA系统中集成的报表,不需再次输入帆软系统的账号密码;

背景:客户的帆软决策平台和蓝凌OA的访问地址主域名一致,且蓝凌OA中部署了SSO组件,支持 ltaptoken 认证。

3.2 具体配置

客户登录蓝凌OA后,会在域名的cookie中,记录一个用户名生成的token。在主域名一致的情况下,可以通过插件读取并解析出用户名;

通过参数获取的方式实现

配置说明

参数名:fr_login_name

参数值:${LtpaToken(cookie(request, "LtpaToken"))}

里层的 LtpaToken 表示从cookie中,获取的参数名。
外层的 LtpaToken 表示,按照 Ltpatoken 逻辑解析出用户名。

不同客户有不同的参数加解密逻辑,视客户的具体情况,进行参数值的配置