Skip to main content

Oauths2用户对接

UIC支持基于标准OAuth2协议,从而实现业务系统到UIC的单点登录功能。 本文主要包含以下内容:

  • 认证说明 - OAuth2协议的简单认证流程时序图说明,以及交互参数
  • 操作步骤 - 从新建开始配置一个Oauth2用户对接方法
  • 参数说明 - 对Oauth2用户对接配置中的特殊参数进行说明
  • FAQ - 常见问题以及其对策

认证说明

OAuth 2.0 是一个行业的标准授权协议。OAuth 2.0 专注于简化客户端开发人员,同时为 Web 应用程序,桌面应用程序,手机和客厅设备提供特定的授权流程。 OAuth 2.0定义了四种授权方式:

  • 授权码模式(authorization code)
  • 简化模式(implicit)
  • 密码模式(resource owner password credentials)
  • 客户端模式(client credentials)

UIC默认使用 授权码模式(authorization code) ,一个典型的认证流程如下:

  1. 用户打开客户端以后,客户端要求用户给予授权。
  2. 用户同意给予客户端授权。
  3. 客户端使用上一步获得的授权,向认证服务器申请令牌。
  4. 认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
  5. 客户端使用令牌,向资源服务器申请获取资源。
  6. 资源服务器确认令牌无误,同意向客户端开放资源。

操作步骤

  1. 在 OAuth2 中注册一个Client,用作单点登录使用。
  2. 用户对接 中 新增OAuth2认证方式

img

  1. 配置 基础配置 ,完成OAuth2基础参数配置完成用户认证
  2. 配置 映射配置 ,将OAuth2认证返回中的参数映射为UIC中的对应参数
  3. 配置 同步配置 ,对OAuth2登录的个人信息进行同步模式等信息设置
  4. 配置 租户配置 ,设定OAuth2账号默认同步的租户
  5. 完成 用户对接 配置,确认对应对接方式为 启用 状态
  6. 在UIC 登录中选择对应的登录方式,即可使用OAuth2认证登录

认证流程

img

参数说明

基础设置

img

参数配置参数说明
OAuth2认证URLOAuth2 authorization Server URL,即OAuth2授权服务器的URL地址;
Client ID/SecretOAuth2 中已注册的客户端的id、Secret
Redirect URL对应OAuth2认证的重定向回调地址,默认为平台账号认证地址 https://account.dtstack.com;实际需要根据具体访问地址修改;
获取Access Token URLOAuth2获取Access Token URL地址,例如:https://ip:port/oauth/token
Response TypeOAuth2认证返回的类型,可参考 RFC 3.1.1 Response Type
获取用户信息 URLOAuth2用户信息URL,例如:https://ip:port/user/me
Access Token字段名由于不同OAuth2返回值可能存在字段名称的区别,因此需要填入OAuth2返回Json中Access Token字段名。

映射设置

在映射设置中,需要将OAuth2返回值中对应的具体参数填写到输入框中以映射到具体的UIC参数中。 以如下OAuth2返回Json内容为例:

{
"nickName":"超级管理员",
"accountOpenCode":"1",
"grantType":"authorization_code",
"authorities":[
"ROLE_SUPER"
],
"username":"admin@host.com",
"status":1
}
JSONCopied!

若超级管理员需要同步单点登录服务中 username 字段作为UIC的 账号字段,则在对应输入框内填入 username 即可。其他参数同理。