Skip to main content

OAuth2用户对接

本节介绍如何在UIC中配置对应OAuth2用户对接单点登录。

概述

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) ,一个典型的认证流程如下:

(A)用户打开客户端以后,客户端要求用户给予授权。 (B)用户同意给予客户端授权。 (C)客户端使用上一步获得的授权,向认证服务器申请令牌。 (D)认证服务器对客户端进行认证以后,确认无误,同意发放令牌。 (E)客户端使用令牌,向资源服务器申请获取资源。 (F)资源服务器确认令牌无误,同意向客户端开放资源。

Oauth2

操作步骤

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

参数说明

参数配置参数说明
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
}

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