From dad744d71a8af8e221856757acf08121142ebf4c Mon Sep 17 00:00:00 2001 From: linju Date: Thu, 3 Jun 2021 17:35:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=8Cuni-id=E6=B3=A8?= =?UTF-8?q?=E5=86=8Capi=E7=9A=84=E5=86=85=E7=BD=AE=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/uniCloud/uni-id.md | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/docs/uniCloud/uni-id.md b/docs/uniCloud/uni-id.md index e23b31aa5..18a5453fe 100644 --- a/docs/uniCloud/uni-id.md +++ b/docs/uniCloud/uni-id.md @@ -373,8 +373,8 @@ function hasPermission(token, permission) { ``` 注意:**在uniCloud admin中,封装了可视化的用户、权限、角色的管理,新增删除修改均支持。**无需自己维护。[详见](https://uniapp.dcloud.net.cn/uniCloud/admin?id=mutiladmin) - -**如果需要管理多端的用户,建议使用type在uni-id-users表内进行区分,不要分多个表** + +**如果需要管理多端的用户,建议使用type在uni-id-users表内进行区分,不要分多个表** # uni-id的API列表@api @@ -415,7 +415,13 @@ exports.main = async function(event,context) { 默认情况下uni-id某些接口会自动从全局context内获取客户端的PLATFORM(平台,如:app-plus、h5、mp-weixin)信息。但是在单实例多并发的场景下可能无法正确获取(全局对象会被后面的请求覆盖,可能会导致前面一次请求使用了后面一次请求的PLATFORM信息)。因此推荐在开启云函数单实例多并发后,自行为uni-id传入context。 ### 用户注册 @register +用户注册就是将客户端用户输入的用户名和密码,经服务端校验: +1. 用户名是否与已经注册的用户名重复,如果重复就返回错误 +2. 加密密码 +3. 生成token +最后将`用户名` `密码` `token`存储到数据库并返回token的过程 +如上操作uni-id的注册api内部会自动完成 用法`uniID.register(Object RegisterParams)` **注意** @@ -466,7 +472,15 @@ exports.main = async function(event,context) { username, password } = event - // username、password验证是否合法的逻辑 + //自己额外增加的校验密码规范的逻辑(可选) + //强弱密码校验,密码至少包含大写字母,小写字母,数字,且不少于6位 + if(!/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{6,16}$/.test(password)){ + return { + code: 401, + msg: '密码至少包含大写字母,小写字母,数字,且不少于6位' + } + } + // 自动验证用户名是否与已经注册的用户名重复,如果重复会直接返回错误。否则会自动生成token并加密password存储username、password、token到数据表uni-id-users,并返回如上响应参数 const res = await uniID.register({ username, password @@ -2932,14 +2946,14 @@ uniCloud admin可以平滑升级到uni-id 3.0.0。如果要缓存角色权限到 - uni-id会优先使用uni-config-center内添加的配置 - 如果批量上传后报“请在公用模块uni-id的config.json或init方法中内添加配置项”,请重新上传一次`uni-id` - -**uni-id配置优先级** - -1. `uniID.init`、`uniID.createInstance`传入的配置(此配置不会对clientDB依赖的uni-id生效,不推荐使用) -2. uni-config-center内配置的`uni-id/config.json`(推荐使用的配置方式) -3. uni-id插件下配置的config.json(已不推荐使用的配置方式) - -以上三个配置不会进行合并,优先级高的先生效 + +**uni-id配置优先级** + +1. `uniID.init`、`uniID.createInstance`传入的配置(此配置不会对clientDB依赖的uni-id生效,不推荐使用) +2. uni-config-center内配置的`uni-id/config.json`(推荐使用的配置方式) +3. uni-id插件下配置的config.json(已不推荐使用的配置方式) + +以上三个配置不会进行合并,优先级高的先生效 #### 忽略用户名邮箱大小写@case-sensitive -- GitLab