# Scope配置

来源快照：`result_data_new_260518.json`

- 来源 ID：`1177710587081400353`
- 模块：集成中心
- 目录：统一认证中心 - 后台管理配置 - 认证应用管理
- space ID：`1158011075224911873`
- 原文链接：未提供
- 产品基线：未提供

## 正文

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

OIDC认证协议最初默认支持的scope为openid，它仅返回人员的账号映射规则，不支持返回人员的其他属性信息。通过Scope配置，用户可自行设置并约定支持哪些scope以及这些scope所对应的claims属性。应用系统在进行OIDC授权时，可传递对应的scope以获取相应的人员claims属性信息。

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

## 1、OIDC认证依据scope返回人员信息

在进行OIDC认证授权时，系统会依据授权接口所传递的scope参数值，将人员信息返回给业务系统。

OIDC认证授权地址：**/papi/sso/oidc/authorize?****scope=openid****& response_type=code&client_id=[client_id]&redirect_uri=[callback]**  
---  
  
scope参数值必须包含openid值，当实际OIDC授权成功后，系统会将与账号映射规则对应的人员信息作为id属性返回给业务系统。此外，scope参数值除了openid值之外，还可以传递Scope配置中所设置的“Scope名称”值。在实际OIDC授权通过后，系统会将该scope对应的claims属性返回给业务系统。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824269322944512&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、Scope配置说明

进入认证应用管理/应用设置-Scope页面，可以设置scope授权范围控制，限制授权请求的用户属性范围。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824256496263174&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.1、Claims设置

功能说明：维护Scoope可以返回的人员信息字段。

点击Claims设置齿轮，打开Claims设置页面，系统级数据默认展示，可添加\编辑\删除自定义的Claim数据：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824260698955785&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)

 

列表说明：

**列表展示**| **说明**  
---|---  
Claim| 展示人员属性对应的Claim字段名  
人员属性| 展示选择的人员属性  
系统级| 展示是否是系统级的Claim  
  
 

列表行菜单说明：

**列表行菜单**| **说明**  
---|---  
【查看】| 点击可进入查看Claims页面，仅能查看数据，不可编辑  
【编辑】| 点击可进入编辑Claims页面，可以编辑数据  
【删除】| 点击有确认提示，若确认可删除当前的Claim数据  
  
注意：

系统级的Claim，只有查看菜单，不允许编辑、删除；

自定义的Claim且已被Scope使用，行菜单没有删除，也无法勾选批量删除。

 

快捷搜索以及高级搜索说明：

**快捷搜索以及高级搜索**| **说明**  
---|---  
快捷搜索| 可根据Claim模糊搜索数据  
高级搜索| 高级搜索中可通过以下查询条件进行搜索：Claim、人员属性、系统级  
  
 

#### 2.1.1、新建Claims

点击+按钮进入新建Claims窗口

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824265095086087&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)

配置说明：

**配置项**| **说明**  
---|---  
人员属性| 必填项，文本浏览框，可以在“选择人员信息字段”中选择所需要的人员属性  
Claim| 必填项，选择人员属性后可自动带出对应的Claim字段名，可以自定义，不允许重复，只允许以字母开头，由字母、数字、下划线_ 组成  
  
 

#### 2.1.2、编辑Claims

自定义的Claim，行菜单点击【编辑】，打开编辑Claims窗口，可以编辑人员属性和Claim。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824264935202830&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)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824252159852555&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.1.3、删除Claims

自定义的Claim，行菜单点击【删除】，弹窗提示信息，若确定，可删除当前Claim数据。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824260825284615&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)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824260825284612&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)

勾选Claim，会出现批量删除按钮，点击可弹出提示信息窗口，若确定可删除勾选的Claim：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824260825284618&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.1.4、Claims设置人员属性支持选择人员基本资料中扩展属性

Claims设置人员属性可支持选择人员基本资料中的扩展属性。

需要在组织架构设置-人员卡片设置，启用高级定制。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824252167741453&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)

在表单设计器中增加所需要的扩展属性：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824264935202820&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)

人员基本资料中可设置这个扩展属性：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824269372776452&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)

 

OIDC认证应用，Claims设置，“选择人员信息字段”中可选择到这个扩展属性：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824260698955790&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.1.5、Claims设置人员属性支持选择人员个人信息中扩展属性

Claims设置人员属性可支持选择人员个人信息中的扩展属性。

需要在人事档案-自定义字段设置中，设置个人信息自定义字段：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824265095086100&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)

在表单设计器中设置所需要的扩展信息：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824252167741446&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)

人员个人信息中可维护这个扩展属性：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824252159852546&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)

 

OIDC认证应用，Claims设置，“选择人员信息字段”中可选择到这个扩展属性：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824256512507907&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、Scope配置

功能说明：控制人员属性授权范围。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824265094053891&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)

列表说明：

**列表展示**| **说明**  
---|---  
Scope名称| 展示设置的Scope名称  
Claims| 展示Scope对应的Claims  
系统级| 展示是否是系统级的Scope  
  
 

列表行菜单说明：

**列表行菜单**| **说明**  
---|---  
【查看】| 点击可进入查看Scope页面，仅能查看数据，不可编辑  
【编辑】| 点击可进入编辑Scope页面，可以编辑数据  
【删除】| 点击有确认提示，若确认可删除当前的Scope数据  
  
**注意：系统级的Scope默认展示，只有查看菜单，不允许编辑、删除。**

 

快捷搜索以及高级搜索说明：

**快捷搜索以及高级搜索**| **说明**  
---|---  
快捷搜索| 可根据Scope名称模糊搜索数据  
高级搜索| 高级搜索中可通过以下查询条件进行搜索：Scope名称、系统级  
  
** **

####  2.2.1、新建Scope

点击+按钮打开新建Scope窗口

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824256334053390&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)

配置说明：

**配置项**| **说明**  
---|---  
Scope名称| 必填项，文本框，可自定义，不允许重复，只允许以字母开头，由字母、数字、下划线_ 组成，不允许设置中文以及特殊字符  
Claims| 文本浏览框，多选，选择Claims设置中维护的Claim  
描述| 非必填，可自行设置当前这个Scope的说明  
  
 

#### 2.2.2、编辑Scope

自定义的Scope，行菜单点击【编辑】，打开编辑Scope窗口，可以编辑Scope名称、Claims、描述信息。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824260825284609&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)

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824256496263178&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.3、删除Scope

自定义的Scope，行菜单点击【删除】，弹窗提示信息，若确定，可删除当前scope数据。

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824256334053388&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)

勾选scope，会出现批量删除按钮，点击可弹出提示信息窗口，若确定可删除勾选的scope：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824247805132806&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)

 

## 3、Scope使用示例

例如，需要将人员登录名、工号、姓名、别名、生日以及基本信息中的应用账号返回给业务系统。其中，人员登录名在账号映射规则中进行设置；工号直接采用 Scope 配置中的 job_num；姓名、别名和生日直接使用 Scope 配置中的 profile；基本信息中的应用账号需先在 Claims 中设置，再添加 Scope 配置。最终在进行 OIDC 认证授权时，可传递 scope 参数值为 openid job_num profile yyzh:

/papi/sso/oidc/authorize?**scope=openid%20job_num%20profile%20yyzh** &response_type=code&client_id=[client_id]&redirect_uri=[callback]  
---  
  
**注意：请求用户授权接口，scope参数，多个参数值必须用英文空格隔开。**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824252164915205&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)

最终返回给业务系统的人员信息：(注：scope 属性方面，若为 openid 则固定返回 id 属性；对于其他 scope 属性，其返回内容默认会置于 attributes 属性中。 )

* * *

{  
    **"msg"** : **"SUCCESS"** ,  
    **"code"** : **"0"** ,  
    **"attributes"** : {  
        **"birthday"** : **"Sat  Dec 05 00:00:00 CST 1998"**,  
        **"native_place"** : **"湖南省-邵阳市-邵阳县"** ,  
        **"job_num"** : **"TMM001"** ,  
        **"yyzh"** : **"app01@jyt.com"** ,  
        **"alias"** : **"null"** ,  
        **"username"** : **"田濛濛"**  
    },  
    **"id"** : **"tianmengmeng"** ,  
    **"status"** : **200**  
}

* * *

 

若解析 token 接口返回的 id_token 值，可解析人员返回的 JWT 中，除了 sub 信息之外，还有其他 scope 对应的人员属性：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1179824252200763400&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)
