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 即可。其他参数同理。