# 业务系统通过OAuth2协议集成E10系统

来源快照：`result_data_new_260518.json`

- 来源 ID：`1177708516831125564`
- 模块：集成中心
- 目录：统一认证中心 - 应用系统集成
- space ID：`1158011075224911873`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# 一、功能背景及价值用途

当应用系统在与E10系统进行OAuth2认证集成时，需要了解该文档的内容，并根据OAuth2协议的接口规范进行相应接口的开发或调整。

# 二、功能概述以及使用说明

## 1、应用系统通过OAuth2集成E10系统准备

### 1.1、应用系统

#### 1.1.1、回调地址

对于需要通过OAuth2协议接入E10系统的应用系统，必须提供一个回调地址。这样一来，在实现与E10系统的单点登录过程中，E10系统便能够在认证完成后携带code参数重定向至该回调地址。

 

#### 1.1.2、人员关系

应用系统需要考虑系统用户与E10系统用户之间的对应关系，确保两个系统用户之间存在明确的对应关系。

应用系统如果需要获取E10系统的用户进行同步，可参考获取E10系统组织以及人员。

 

### 1.2、E10系统

#### 1.2.1、安全设置

若在系统安全-安全配置项中启用第三方系统地址验证功能，则必须在第三方系统地址列表中添加应用系统地址。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371375048704004&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

#### 1.2.2、开启OAuth2协议

需要在统一认证中心-认证协议管理中开启OAuth2协议。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371370981261315&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

将OAuth2协议接口地址给到应用系统。

 

#### 1.2.3、注册应用系统OAuth2应用

在认证协议管理中，可通过“快速创建应用”创建应用系统的OAuth2应用。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371375222571011&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

“业务系统的URL地址”配置项需设定应用系统的回调地址。

点击“保存并进入详细设置”，进入应用的详细设置页面，并将其中的应用标识(client_id)以及应用密钥(client_secret)提供给应用系统。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371375222571009&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

#### 1.2.4、共享范围

在应用的详细设置页面，特别是在共享范围页面，您需要维护用户权限，以确保只有授权的用户能够使用该应用进行认证登录。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371370981261312&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

#### 1.2.5、账号映射

认证应用默认是向业务系统提供用户的手机号码。 若需管理用户信息，需要在详细设置中的账号映射进行配置。通过这种方式，您可以设定哪些用户属性在通过该应用进行认证登录后，可以被共享给业务系统。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371375200231425&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

 

## 2、认证集成过程

### 2.1、OAuth2认证过程

![](https://weapp.eteams.cn/papi/file/preview?fileId=1180371370947207171&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

OAuth2授权码模式认证过程：

1.

业务系统将用户浏览器重定向到E10统一认证授权接口地址，携带应用标识(client_id)、授权类型(response_type)、回调 URI(redirect_uri)；

2.

E10系统若还未登录，将停留在E10登陆页面，用户登录E10系统；

3.

E10系统携带code重定向到业务系统回调地址(redirect_uri)；

4.

业务系统获取到授权码code之后，携带E10系统提供的client_id, client_secret, grant_type,code向授权Token接口发起请求；

5.

E10系统根据业务系统的code返回令牌access_token；

6.

业务系统使用令牌access_token向E10系统请求用户信息接口；

7.

E10系统返回此次登录的用户信息给到业务系统。

简单来讲，用户希望登入应用时，应用将用户重定向E10系统用户授权接口，用户登入E10系统，E10系统携带code返回给应用，应用携带此 code 到授权Token接口获取 token，再携带 token 到 用户信息接口获取用户信息，拿到用户信息也就表示此次单点登录的结束。

### 2.2、接口说明

OAuth2认证提供的请求授权接口、获取token接口、获取用户信息接口以及统一退出接口可参阅[OAuth2认证协议](https://weapp.eteams.cn/sp/ebdpage/view/freepass/1152863419640021002?id=1177709616502677614&space_id=1158011075224911873 "OAuth2认证协议")。

### 2.3、应用系统集成步骤

#### 2.3.1、应用系统获取E10系统OAuth2认证接口、应用标识以及应用密钥

通过“应用系统集成E10系统OAuth2认证准备”操作，应用系统可获取到E10系统的OAuth2认证接口地址，以及E10系统给应用系统注册的OAuth2应用标识以及应用密钥。

#### 2.3.2、应用系统构造授权URL，基于页面重定向发送授权请求获取授权码

应用系统根据[OAuth2认证协议-请求用户授权接口](https://weapp.eteams.cn/sp/ebdpage/view/freepass/1152863419640021002/page/1152863419640021002?id=1177709616502677614&freepass_doc=1&space_id=1158011075224911873 "OAuth2认证协议-请求用户授权接口")，构造E10系统授权URL，基于页面重定向方式跳转到授权URL地址，当E10系统登录之后，可携带授权码（code参数）回调跳转到应用系统传递的回调地址（redirect_uri）。

#### 2.3.3、应用系统获取到授权码后，发送授权Token接口请求获取令牌access_token

应用系统通过自身的回调地址（redirect_uri）获取到授权码code，请求E10系统[OAuth2认证协议-获取授权Token接口](https://weapp.eteams.cn/sp/ebdpage/view/freepass/1152863419640021002/page/1152863419640021002?id=1177709616502677614&freepass_doc=1&space_id=1158011075224911873 "OAuth2认证协议-获取授权Token接口")，通过授权码code置换到令牌access_token。

#### 2.3.4、应用系统获取到令牌access_token后，发送用户信息接口获取用户信息

应用系统获取到令牌access_token后，请求E10系统[OAuth2认证协议-获取用户信息接口](https://weapp.eteams.cn/sp/ebdpage/view/freepass/1152863419640021002/page/1152863419640021002?id=1177709616502677614&freepass_doc=1&space_id=1158011075224911873 "OAuth2认证协议-获取用户信息接口")，通过令牌access_token置换到E10人员的用户信息，获取到人员信息与自身系统人员进行匹配，登录自身系统。

### 2.4、验证

维护应用系统与 E10 系统之间的人员关系。访问应用系统时，将重定向至 E10 系统的授权地址。在 E10 系统登录完成后，可通过认证回调登录应用系统。
