# 客户端管理功能 - - - ## 版本 >= 5.X ## 客户端管理页面 ![输入图片说明](https://foruda.gitee.com/images/1690961819029076660/c44374ac_4959041.png "屏幕截图") ### 客户端管理字段说明 | 字段名称 | 取值说明 | 注意事项 | |----------------|----------------------------|--------------------------------| | 客户端id | 由后端生成,用于前端登录校验以及接口数据加密 | 无法修改,不要删除默认数据,否则会报错 | | 客户端key | 前端自定义 | 无法修改,不要删除默认数据,否则会报错 | | 客户端秘钥 | 前端自定义 | 无法修改,不要删除默认数据,否则会报错 | | 授权类型 | 密码认证、短信认证、邮件认证、小程序认证、第三方认证 | 根据授权类型判断当前客户端是否支持该登录方式 | | 设备类型 | PC端、APP端 | | | Token活跃超时时间 | 自定义 | 指定时间无操作则过期(单位:秒),默认30分钟(1800秒) | | Token固定超时时间 | 自定义 | 指定时间必定过期(单位:秒),默认七天(604800秒) | ### 前后端使用新的客户端id 步骤如下: 1. 前端管理页面生成新的客户端id。 2. 将新的客户端id复制到前端配置文件。 ![输入图片说明](https://foruda.gitee.com/images/1690962894318847386/133d2f90_4959041.png "屏幕截图") ## 新增自定义客户端 ### 步骤一:新增客户端数据(例如增加小程序端) ![输入图片说明](https://foruda.gitee.com/images/1690965463070099188/baeb4441_4959041.png "屏幕截图") ![输入图片说明](https://foruda.gitee.com/images/1690965508836621042/df06248f_4959041.png "屏幕截图") ### 步骤二:配置前端请求头信息 需要在全局请求头 header 中增加 cientid
确保客户端所有请求都携带此id 可参考项目 `request.ts` ![输入图片说明](https://foruda.gitee.com/images/1690965768235114596/980b88d2_4959041.png "屏幕截图") `VITE_APP_CLIENT_ID` 即配置文件中的客户端id。 **重点:不同客户端登录获取到的token不同与其他端不互通(例如: app登录获取到的token无法用于pc端接口查询)** ## 新增自定义登录方式授权类型 **重点说明: 不要单独增加登录接口 系统全局统一只有一个登录接口 只需增加不同的鉴权方式即可** 如何调试使用登录看这里 -> [关于登录调试步骤](/questions/login_step.md) ### 步骤一:新增字典数据 ![输入图片说明](https://foruda.gitee.com/images/1690968849418013624/3b28417e_4959041.png "屏幕截图") ![输入图片说明](https://foruda.gitee.com/images/1690968865819397010/64529fad_4959041.png "屏幕截图") ### 步骤二:新增/修改客户端数据 ### 步骤三:后端新增认证策略 新增策略实现类实现 `IAuthStrategy` 接口。
![输入图片说明](https://foruda.gitee.com/images/1690972828588111954/7614a4c5_4959041.png "屏幕截图") 参照已有策略实现类实现自定义参数校验登录方法逻辑。
![输入图片说明](https://foruda.gitee.com/images/1718951146945578143/789c80e4_1766278.png "屏幕截图") **注意修改 `@Service` 名称保证规范性** ![输入图片说明](https://foruda.gitee.com/images/1718951179571300385/8db730b9_1766278.png "屏幕截图") `LoginBody` 校验参数(可自定义)
![输入图片说明](https://foruda.gitee.com/images/1718951237123374392/f7840db2_1766278.png "屏幕截图") 例如 扩展小程序登录参数 只需要继承 `LoginBody
![输入图片说明](https://foruda.gitee.com/images/1718951283931895761/e6348be5_1766278.png "屏幕截图")` 校验分组(可自定义)
![输入图片说明](https://foruda.gitee.com/images/1718951343601334215/8ef404b4_1766278.png "屏幕截图")