管理用户
创建用户
开发者可以调用以下登录方式,登录或者创建一个用户:
用户类型
用户分为内部用户、外部注册用户、匿名用户:
用户类型 | 角色 | 用户数限制 | 用户信息 |
---|---|---|---|
内部用户 | 固定的「默认内部用户角色」,可分配自定义角色 | 受套餐限制,参考 计费文档 | 系统保存 |
外部注册用户 | 固定的「默认外部用户」角色 | 不限用户数 | 系统保存 |
匿名用户 | 固定的「默认访客」角色 | 不限用户数 | 系统不保存 |
获取当前登录的用户
auth 实例请参考 SDK 初始化
您可以使用 auth.currentUser
属性或者 auth.getCurrentUser()
方法来获取当前登录的用户,该方法会返回当前登录用户的 User
实例。如果用户未登录,则返回 null
:
const app = cloudbase.init({
env: "xxxx-yyy"
})
const auth = app.auth()
// 进行登录后...
// 获取用户信息
const user = auth.currentUser
// 或者
// const user = await auth.getCurrentUser()
获取用户个人资料
您可以通过 User
对象的各个属性来获取用户的个人资料信息:
const user = auth.currentUser
let uid, name, gender, created_from
if (user) {
// 云开发唯一用户 id
uid = user.uid
// 昵称
name = user.name
// 性别
gender = user.gender
// 创建来源
created_from = user.created_from;
}
更新用户个人资料
您可以使用 User.update
方法来更新用户的个人资料信息。例如:
const user = auth.currentUser
user
.update({
name: "Tony Stark",
gender: "MALE"
})
.then(() => {
// 更新用户资料成功
});
刷新用户资料信息
对于一个多端应用,用户可能在其中某个端上更新过自己的个人资料信息,此时其它端上可能需要刷新信息:
const user = auth.currentUser;
// 刷新用户信息
user.refresh().then(() => {
// 刷新后,获取到的用户信息即为最新的信息
const {
username,
gender
} = user;
});