三方单点登录集成(Oauth2)
本案例基于OAuth2授权码客户端模式,用于指导平台开发者集成三方单点登录,基于此案例也可集成其他单点登录服务端。此示例包括:
- 单点组织/人员功能升级包。
- 单点组织/人员同步、单点配置。
- 组织同步代码。
- 人员同步代码。
- 单点登录实现代码。
- 系统前台变量设置。
请注意:平台前端和后端必须是3.0.0版本,且为2024-05-17后的版本。如没有此版本,请联系客服人员。
此文档仅提供基础示例,用户需自行实现相关业务,如需客服支持,请购买VIP或集成实施服务。
功能升级包
点击“附件”获取
单点组织同步
平台使用中间表同步组织,再通过中间表手动或自动同步至公司、部门表。
- “同步组织机构”按钮:从第三方获取组织,并写入“单点组织管理”中间表。
- “挂接系统公司”按钮:选择中间表组织数据,创建系统公司数据。
- “解除挂接系统公司”按钮:选择已挂接组织数据,删除系统公司数据。
- “挂接系统部门”按钮:选择中间表组织数据,创建系统部门数据。
- “解除挂接系统部门”按钮:选择已挂接组织数据,删除系统部门数据。
单点人员同步
平台使用中间表同步组织人员,再通过中间表手动或自动同步至人员、账号表。
- “同步系统人员”按钮:从第三方获取组织人员,并写入“单点人员管理”中间表。
- “创建系统人员并开通账号”按钮:选择中间表组织人员数据,创建系统人员和账号数据。
- “移除系统人员”按钮:选择已挂接组织人员数据,删除系统人员和账号数据。
单点及组织人员同步代码
点击“附件”获取
单点及组织人员同步配置
- RBAC application.yml增加如下配置
oauth2:
# 单点登录客户端配置
client:
# 单点登录客户端域名&系统入口
clientDomain: https://develop.jecloud.net
# 服务端提供的客户端ID
clientId: 1000198
# 客户端授权码校验的url
clientValidCodeUrl: /je/rbac/oss/oauth2/default/checkCode
# 客户端access_token校验的url
clientValidAccessTokenUrl: /je/rbac/oss/oauth2/default/checkAccessToken
# 单点服务端单点的域名&系统入口
serverAuthorizeDomain: http://xxx.sgcc.com.cn:8080
# 单点服务端获取授权码的url
serverAuthorizeUrl: /isc_sso/oauth2.0/authorize
# 单点服务端授权码的key,默认是code,但也有服务端更换为其他key的情况
serverAuthorizeCodeKey: ticket
# 是否需要state参数,如果为true,则校验state参数
serverRequireState: true
# none,fixed or random. 如果为none,则不校验state参数,如果为fixed,则固定state值,如果为random,则随机生成state值
serverStateStrategy: random
# 固定state值,如果serverStateStrategy为fixed,则必填
serverFixedState: 123456
# 从单点服务端获取access_token
serverGetAccessTokenUrl: /isc_sso/oauth2.0/accessToken
# 从单点服务端获取用户信息
serverGetUserByCodeUrl: /isc_sso/oauth2.0/profile
# 单点注销地址
serverLogoutUrl: /isc_sso/logout
# 客户端与服务端用户映射字段
userFieldMapping:
# 用户ID字段映射
userIdField: userId
# 用户名字段映射
userNameField: name
# 用户编码字段映射
userCodField: userCode
# 用户手机字段映射
userPhoneField:
# 跳转页面配置
page:
pc:
pcIndexUrl: /#/je/home/4ed173de683246e88d920e4a3a54cad4
pcSingleUrl: /#/je/single/#{funcId}
pcLoginUrl: /je/rbac/oss/oauth2/default/redirectToOssLogin?entryType=pc
h5:
h5IndexUrl: /app#/
h5SingleUrl: /app#/pages/single/#{funcId}
h5LoginUrl: /app#/pages/login/login
# 组织同步IP或域名
orgSyncDomain: http://127.0.0.1
# 组织同步接口
orgSyncUrl: /isc_frontmv_serv/baseorg/getQuoteDepartmentsByConditionAndOrderBy
# 用户同步接口
userSyncUrl: /isc_frontmv_serv/user/getUsersByorgId
- gateway application.yml增加如下配置
oauth2:
client:
enable: true
clientDomain: https://develop.jecloud.net
redirectToServerLoginUrl: /je/rbac/oss/oauth2/default/redirectToOssLogin
增加系统变量
最后编辑: 刘利军 文档更新时间: 2024-08-29 09:50 作者:刘利军