Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
DCloud
uni-app
提交
0e15e0f9
U
uni-app
项目概览
DCloud
/
uni-app
2 个月 前同步成功
通知
716
Star
38705
Fork
3642
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
7
列表
看板
标记
里程碑
合并请求
1
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
uni-app
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
7
Issue
7
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0e15e0f9
编写于
3月 30, 2021
作者:
DCloud_Heavensoft
提交者:
Gitee
3月 30, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update docs/uniCloud/uni-id.md.
上级
350f64e0
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
59 addition
and
59 deletion
+59
-59
docs/uniCloud/uni-id.md
docs/uniCloud/uni-id.md
+59
-59
未找到文件。
docs/uniCloud/uni-id.md
浏览文件 @
0e15e0f9
...
...
@@ -14,7 +14,7 @@
`uni-id`
包括如下组成部分:
1.
云数据库
1.
云数据库
主表为
`uni-id-users`
表,保存用户的基本信息。扩展字段有很多,如实名认证数据、工作履历数据,开发者可以自由扩展。
...
...
@@ -22,13 +22,13 @@
所有
`uni-id`
的数据表,在uniCloud web控制台新建表的界面上,都可以选择这些数据表模板,直接建好。
2.
云函数
2.
云函数
提供一个名为
`uni-id`
的公共模块,该模块封装了一系列API,包括注册、登录、修改密码、设置头像等。
示例工程中还提供了一个
`user-center`
的云函数,演示在云函数中如何调用
`uni-id`
公共模块。
3.
前端调用
3.
前端调用
前端示例通过callfunction调用云函数
`user-center`
,在注册和登录时保存token。
...
...
@@ -1003,21 +1003,21 @@ exports.main = async function(event,context) {
return
res
}
```
### 创建uni-id实例@create-instance
> uni-id 3.0.7及以上版本
用法:
`uniID.createInstance(Object CreateInstanceParams);`
CreateInstanceParams内可以传入云函数context,
**主要用于在单实例多并发的场景(目前uniCloud还未支持,后续会提供)**
### 创建uni-id实例@create-instance
> uni-id 3.0.7及以上版本
用法:
`uniID.createInstance(Object CreateInstanceParams);`
CreateInstanceParams内可以传入云函数context,
**主要用于在单实例多并发的场景(目前uniCloud还未支持,后续会提供)**
```
js
// 云函数代码
const
uniID
=
require
(
'
uni-id
'
)
exports
.
main
=
async
function
(
event
,
context
)
{
const
uniIDIns
=
uniID
.
createInstance
({
// 创建uni-id实例,其上方法同uniID
context
:
context
exports
.
main
=
async
function
(
event
,
context
)
{
const
uniIDIns
=
uniID
.
createInstance
({
// 创建uni-id实例,其上方法同uniID
context
:
context
})
payload
=
await
uniIDIns
.
checkToken
(
event
.
uniIdToken
)
// 后续使用uniIDIns调用相关接口
if
(
payload
.
code
)
{
...
...
@@ -1029,11 +1029,11 @@ exports.main = async function(event,context) {
})
return
res
}
```
**为什么需要自行创建uni-id实例**
默认情况下uni-id某些接口会自动从全局context内获取客户端的PLATFORM(平台,如:app-plus、h5、mp-weixin)信息。但是在单实例多并发的场景下可能无法正确获取(全局对象会被后面的请求覆盖,可能会导致前面一次请求使用了后面一次请求的PLATFORM信息)。因此推荐在开启云函数单实例多并发后,自行为uni-id传入context。
```
**为什么需要自行创建uni-id实例**
默认情况下uni-id某些接口会自动从全局context内获取客户端的PLATFORM(平台,如:app-plus、h5、mp-weixin)信息。但是在单实例多并发的场景下可能无法正确获取(全局对象会被后面的请求覆盖,可能会导致前面一次请求使用了后面一次请求的PLATFORM信息)。因此推荐在开启云函数单实例多并发后,自行为uni-id传入context。
## 手机号码
...
...
@@ -2840,37 +2840,37 @@ uni-id-users表内存储的password字段为使用hmac-sha1生成的hash值,
// 当前角色拥有'your permission id'对应的权限
}
```
## 自定义token内容@custom-token
> uni-id 3.0.7及以上版本,且需要使用[uni-config-center](https://ext.dcloud.net.cn/plugin?id=4425)
自
`uni-id 3.0.0`
起,支持在token内缓存用户的角色权限。但是某些情况下开发者可能还希望缓存一些别的东西,以便在客户端能方便的访问(
**注意:不可缓存机密信息到token内**
)。
**用法**
在
`uni-config-center`
模块内的uni-id插件内创建
`custom-token.js`
内容如下:
```
js
module
.
exports
=
async
(
tokenObj
)
=>
{
// tokenObj为原始token信息结构如下
// {
// uid: 'abc', // 用户id
// role: [], // 用户角色列表
// permission: [] // 用户权限列表,admin角色的用户权限列表为空数组
// }
tokenObj
.
customField
=
'
hello custom token
'
// 自定义token字段
return
tokenObj
// 注意务必返回修改后的token对象
}
```
uni-id会自动加载custom-token.js进行处理,在所有生成token的操作(包括:登录、注册、token过期自动刷新、开发者自行调用createToken)执行时自动获取新token信息,并生成token。
**注意**
-
使用custom-token时自行调用createToken接口会变为异步操作,需使用
`await uniID.createToken(...)`
-
不要删除原始token内的字段
## 自定义token内容@custom-token
> uni-id 3.0.7及以上版本,且需要使用[uni-config-center](https://ext.dcloud.net.cn/plugin?id=4425)
自
`uni-id 3.0.0`
起,支持在token内缓存用户的角色权限。但是某些情况下开发者可能还希望缓存一些别的东西,以便在客户端能方便的访问(
**注意:不可缓存机密信息到token内**
)。
**用法**
在
`uni-config-center`
模块内的uni-id插件内创建
`custom-token.js`
内容如下:
```
js
module
.
exports
=
async
(
tokenObj
)
=>
{
// tokenObj为原始token信息结构如下
// {
// uid: 'abc', // 用户id
// role: [], // 用户角色列表
// permission: [] // 用户权限列表,admin角色的用户权限列表为空数组
// }
tokenObj
.
customField
=
'
hello custom token
'
// 自定义token字段
return
tokenObj
// 注意务必返回修改后的token对象
}
```
uni-id会自动加载custom-token.js进行处理,在所有生成token的操作(包括:登录、注册、token过期自动刷新、开发者自行调用createToken)执行时自动获取新token信息,并生成token。
**注意**
-
使用custom-token时自行调用createToken接口会变为异步操作,需使用
`await uniID.createToken(...)`
-
不要删除原始token内的字段
# 迁移指南@migration
...
...
@@ -2900,14 +2900,14 @@ uniCloud admin可以平滑升级到uni-id 3.0.0。如果要缓存角色权限到
受第一步影响app/init内无法获取用户信息,可以额外调用uniID的getUserInfo获取
可以参考此次提交进行调整:
[
uniCloud admin
](
https://github.com/dcloudio/uniCloud-admin/commit/8359d699aacb8f7d074fce9aa82a36474cb6e7df
)
#### 使用uni-config-center@uni-config-center
> uni-id 3.0.7及以上版本
从插件市场导入支持uni_modules的uni-id,会自动安装依赖的uni-config-center到uni_modules内。如果此前并没有使用uni-config-center可以直接将uni-id的config.json移至
`uni-config-center/uni-id/config.json`
即可(可以参照插件市场的uni-id示例项目)
-
uni-id会优先使用uni-config-center内添加的配置
#### 使用uni-config-center@uni-config-center
> uni-id 3.0.7及以上版本
从插件市场导入支持uni_modules的uni-id,会自动安装依赖的uni-config-center到uni_modules内。如果此前并没有使用uni-config-center可以直接将uni-id的config.json移至
`uni-config-center/uni-id/config.json`
即可(可以参照插件市场的uni-id示例项目)
-
uni-id会优先使用uni-config-center内添加的配置
-
如果批量上传后报“请在公用模块uni-id的config.json或init方法中内添加配置项”,请重新上传一次
`uni-config-center`
# FAQ
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录