应用侧的单点登录处理(以myBuilder为例)

典型单点登录工作流程(以Web SSO为例)

1. 首次访问:用户访问应用A

2. 重定向认证:应用A发现用户未登录,重定向到认证中心

3. 用户认证:用户在认证中心登录

4. 颁发令牌:认证中心验证成功后创建令牌并返回给用户

5. 访问应用A:用户带着令牌访问应用A,应用A向认证中心验证令牌

6. 访问应用B:用户访问应用B时,应用B同样重定向到认证中心

7. 自动登录:认证中心发现已有有效会话,直接颁发令牌给应用B

这里以应用A=myBuilder为例,看看myBuilder是如何处理单点登录的规则的。

首先,myBuilder提供一个单点登录的GET请求网址,格式如下:

http://{myBuilderHost}/sso?ssoToken={ssoToken}&ssoFrom={ssoFrom}&code=base.auth&method=ssoLogin&ssoRedirect={ssoRedirect}

主要参数说明

参数说明
ssoToken外部系统、认证中心回传过来的token
ssoFrom外部系统、认证中心的来源标识,用于区分不同的来源,采用不同的处理规则
code业务接口编码,定位处理单点登录的业务接口
method业务接口方法,定位处理单点登录的业务接口方法
ssoRedirect登录完成后跳转的地址

单点登录接口的处理规则如下:

1. 后台根据ssoToken参数向外部系统获取用户信息(后台验证ssoToken有效)

2. 判定用户信息在myBuilder是否存在(base_user表)

3. 如果用户不存在则创建新用户,包括:默认租户、机构、角色(该步骤实现了账号同步)

4. myBuilder用户信息存在后,创建内部token

5. 返回登录信息给myBuilder前端

以下是分配token的关键代码

单点登录信息的参数

参数说明
tokenmyBuilder的内部令牌
userId用户ID,base_user表
userName用户名,base_user表
fullName姓名,base_user表
email邮箱,base_user表
erpId员工号,base_user表
tenantId租户ID,base_user表
orgId机构ID,base_org表,base_org_user表
orgCode机构编码,base_org表,base_org_user表
orgName机构名称,base_org表,base_org_user表

token是关键返回参数

小结

以上就是myBuilder单点登录的对接过程,其中ssoFrom参数,可以判定不同系统采用不用的处理规则,保证灵活性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值