# 客户端管理功能
- - -
## 版本 >= 5.X
## 客户端管理页面

### 客户端管理字段说明
| 字段名称 | 取值说明 | 注意事项 |
|----------------|----------------------------|--------------------------------|
| 客户端id | 由后端生成,用于前端登录校验以及接口数据加密 | 无法修改,不要删除默认数据,否则会报错 |
| 客户端key | 前端自定义 | 无法修改,不要删除默认数据,否则会报错 |
| 客户端秘钥 | 前端自定义 | 无法修改,不要删除默认数据,否则会报错 |
| 授权类型 | 密码认证、短信认证、邮件认证、小程序认证、第三方认证 | 根据授权类型判断当前客户端是否支持该登录方式 |
| 设备类型 | PC端、APP端 | |
| Token活跃超时时间 | 自定义 | 指定时间无操作则过期(单位:秒),默认30分钟(1800秒) |
| Token固定超时时间 | 自定义 | 指定时间必定过期(单位:秒),默认七天(604800秒) |
### 前后端使用新的客户端id
步骤如下:
1. 前端管理页面生成新的客户端id。
2. 将新的客户端id复制到前端配置文件。

## 新增自定义客户端
### 步骤一:新增客户端数据(例如增加小程序端)


### 步骤二:配置前端请求头信息
需要在全局请求头 header 中增加 cientid
确保客户端所有请求都携带此id 可参考项目 `request.ts`

`VITE_APP_CLIENT_ID` 即配置文件中的客户端id。
**重点:不同客户端登录获取到的token不同与其他端不互通(例如: app登录获取到的token无法用于pc端接口查询)**
## 新增自定义登录方式授权类型
**重点说明: 不要单独增加登录接口 系统全局统一只有一个登录接口 只需增加不同的鉴权方式即可**
如何调试使用登录看这里 -> [关于登录调试步骤](/questions/login_step.md)
### 步骤一:新增字典数据


### 步骤二:新增/修改客户端数据
### 步骤三:后端新增认证策略
新增策略实现类实现 `IAuthStrategy` 接口。

参照已有策略实现类实现自定义参数校验登录方法逻辑。

**注意修改 `@Service` 名称保证规范性**

`LoginBody` 校验参数(可自定义)

例如 扩展小程序登录参数 只需要继承 `LoginBody
`
校验分组(可自定义)
