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)
,一个典型的认证流程如下:
- 用户打开客户端以后,客户端要求用户给予授权。
- 用户同意给予客户端授权。
- 客户端使用上一步获得的授权,向认证服务器申请令牌。
- 认证服务器对客户端进行认证以后,确认无误,同意发放令牌。
- 客户端使用令牌,向资源服务器申请获取资源。
- 资源服务器确认令牌无误,同意向客户端开放资源。
操作步骤
- 在 OAuth2 中注册一个Client,用作单点登录使用。
- 在 用户对接 中 新增OAuth2认证方式
- 配置 基础配置 ,完成OAuth2基础参数配置完成用户认证
- 配置 映射配置 ,将OAuth2认证返回中的参数映射为UIC中的对应参数
- 配置 同步配置 ,对OAuth2登录的个人信息进行同步模式等信息设置
- 配置 租户配置 ,设定OAuth2账号默认同步的租户
- 完成 用户对接 配置,确认对应对接方式为 启用 状态
- 在UIC 登录中选择对应的登录方式,即可使用OAuth2认证登录
认证流程
参数说明
基础设置
参数配置 | 参数说明 |
---|---|
OAuth2认证URL | OAuth2 authorization Server URL,即OAuth2授权服务器的URL地址; |
Client ID/Secret | OAuth2 中已注册的客户端的id、Secret |
Redirect URL | 对应OAuth2认证的重定向回调地址,默认为平台账号认证地址 https://account.dtstack.com;实际需要根据具体访问地址修改; |
获取Access Token URL | OAuth2获取Access Token URL地址,例如:https://ip:port/oauth/token |
Response Type | OAuth2认证返回的类型,可参考 RFC 3.1.1 Response Type |
获取用户信息 URL | OAuth2用户信息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
即可。其他参数同理。