🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 简介 * 一个中大型系统,往往会对接多个系统。很多系统之间的资源是相互隔离的,无法互相访问 * 比如提供给A客户端调用的接口,B客户端则无法访问该接口 * 支持对多个系统进行校验认证的,资源隔离的系统,称之为多终端认证系统 ## 如何使用多终端认证 ### 拼接出客户端请求头 * 访问后端管理->客户端管理,查看列表,主要关注`客户端`编码和`客户端密钥` ![](https://img.kancloud.cn/e0/84/e084c2e3ff47431367bb2d76eb2e0e3c_3124x1134.png) * 我们将两者以分号分割,并且转成base64串;例如`admin:SCewmm`最终转换的base64串则为`YWRtaW46U0Nld21t` * 将base64串作为值放到请求头中,请求头的key值为`Authorization`,调用接口 * 除此之外所有接口本身还需要`jpower-auth`请求头,值为从登录接口中获取 ### 配置资源规则 * 在nacos或者工程本地的yml中增加如下配置 ![](https://img.kancloud.cn/94/63/9463d05ee2bdff7996fb8a07f6025fc7_1686x1446.png) * 下图配置表示:指定资源路径 /core/user/** 的所有请求只能由clientCode为admin申请到的token才可以访问 ~~~ jpower: auth: client: #开启需要校验的客户端,值写数据库的clientCode即可 - code: admin #需要客户端校验的URL path: - /core/user/** ~~~ * 这样一来便可实现同一个系统下所有对接的系统,配置客户端的资源访问权限。