> ## Documentation Index
> Fetch the complete documentation index at: https://blog.pig4cloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Client

OAuth2 终端管理界面用于配置和管理OAuth2客户端的相关参数，这些参数对应于 `sys_oauth_client_details` 表中的字段，是实现OAuth2认证和授权的核心配置。

[OAuth 2.0 协议详解](https://fugangqiang.github.io/posts/web/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3OAuth2.0%E5%8D%8F%E8%AE%AE.html)

## 基础配置参数

### 客户端标识

对应 前端配置客户端参数比如默认 pig:pig (客户端端Id:密钥)
![56wrZk](https://minio.pigx.vip/oss/202509/56wrZk.png)

#### 客户端端Id (client\_id)

* **字段说明**: 客户端的唯一标识符
* **对应数据库字段**: `client_id`
* **作用**: 在OAuth2流程中标识不同的客户端应用
* **配置要求**: 必填项，需要保证全局唯一性
* **示例**: `pig`

#### 密钥 (client\_secret)

* **字段说明**: 客户端访问密钥
* **对应数据库字段**: `client_secret`
* **作用**: 验证客户端身份的凭证

### 域配置

#### 域 (scope)

* **字段说明**: 客户端申请的权限范围
* **对应数据库字段**: `scope`
* **作用**: 定义客户端可以访问的资源范围
* **可选值**:
  * `read`: 读取权限
  * `write`: 写入权限
  * `trust`: 信任权限
  * 自定义权限域
* **配置格式**: 多个权限用逗号分隔，如 `read,write`
* **示例**: `server` (如截图所示)

## 授权配置

### 授权模式 (authorized\_grant\_types)

* **字段说明**: 客户端支持的OAuth2授权模式
* **对应数据库字段**: `authorized_grant_types`
* **可选模式**:

| 授权模式                        | 使用场景                   |
| --------------------------- | ---------------------- |
| implicit (简化模式)             | 已经废弃                   |
| refresh\_token (刷新模式)       |                        |
| client\_credentials (客户端模式) | 服务到服务之间简单的认证           |
| authorization\_code (授权码模式) | 开放平台，提供给第三方登录          |
| password (密码模式)             | 高度信任的客户端（比如 pigx-ui登录） |
| mobile (验证码模式)              | 高度信任的客户端（比如 pigx-ui登录） |

## 时效性配置

### 令牌时效 (秒)

* **字段说明**: 访问令牌的有效时间
* **对应数据库字段**: `access_token_validity`
* **默认值**: 43200 秒 (12小时)
* **配置建议**:
  * 根据安全需求调整
  * 移动应用可适当延长
  * 高敏感应用应缩短

### 刷新时效 (秒)

* **字段说明**: 刷新令牌的有效时间
* **对应数据库字段**: `refresh_token_validity`
* **默认值**: 2592000 秒 (30天)
* **配置说明**:
  * 通常比访问令牌时效更长
  * 用于获取新的访问令牌
  * 过期后需要重新授权

## 安全属性配置

### 验证码开关

* **配置选项**:
  * **开**: 启用验证码验证
  * **关**: 关闭验证码验证

### 允许同时在线

* **字段说明**: 是否允许同一用户同时在线
* **配置选项**:
  * **是**: 允许多会话并存
  * **否**: 只允许单一会话

### 前端密码加密

* **字段说明**: 前端登录是否对密码进行加密传输
* **作用**: 提高传输过程中的安全性
* **配置选项**:
  * **是**: 允许多会话并存
  * **否**: 只允许单一会话

### 重定向URI (web\_server\_redirect\_uri)

* **字段说明**: 授权完成后的重定向地址
* **对应数据库字段**: `web_server_redirect_uri`
* **作用**: 在授权码模式和简化模式中使用
* **安全要求**:
  * 必须是预先注册的URI
  * 支持HTTPS协议
  * 防止重定向攻击

### 资源ID (resource\_ids)

* **字段说明**: 客户端可访问的资源服务器标识
* **对应数据库字段**: `resource_ids`
* **作用**: 限制客户端访问特定的资源服务器
* **配置格式**: 多个资源ID用逗号分隔

### 权限 (authorities)

* **字段说明**: 客户端拥有的Spring Security权限
* **对应数据库字段**: `authorities`
* **作用**: 基于角色的访问控制
* **示例**: `ROLE_CLIENT`, `ROLE_TRUSTED_CLIENT`

### 自动批准 (autoapprove)

* **字段说明**: 是否自动批准授权请求
* **对应数据库字段**: `autoapprove`
* **配置选项**:
  * `true`: 自动批准所有权限
  * `false`: 需要用户手动确认
  * `read`: 自动批准读权限
  * `write`: 自动批准写权限
