三方单点登录集成(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   作者:刘利军