用户管理
用户类型
云开发提供三种用户类型,分别适用于不同的业务场景:
| 用户类型 | 角色 | 用户数限制 | 用户信息 | 创建方式 | 登录方式 | 适用模式 |
|---|---|---|---|---|---|---|
| 组织成员 | 在组织架构内的用户 支持分配自定义角色 对应旧版用户体系「内部用户」 | 受套餐限制 参考 计费文档 | 系统保存 | - 前往 组织架构 页面新增 - 通过 HTTP API 新增 | 登录方式 | 仅传统模式 |
| 注册用户 | 通过任意注册方式注册的用户 固定「注册用户」角色 对应旧版用户体系「外部用户」 | 不限用户数 | 系统保存 | - 前往 用户管理 页面新增 - 用户通过 用户注册 自主注册 | 登录方式 | 通用 |
| 匿名用户 | 固定的「默认访客」角色 | 不限用户数 | 系统不保存 | 无需注册 | 匿名登录 | 通用 |
模式说明
PG 模式不支持「组织成员」和「组织架构」相关功能。 PG 模式下所有登录用户均为"注册用户",且用户数据存储在数据库 auth.users 表中,可直接 SQL 查询。完整说明见 PG:身份认证。
用户类型说明
组织用户(仅传统模式):适用于组织内部成员,如企业员工、团队成员等。组织用户可以分配自定义角色,拥有更细粒度的权限控制。在 云开发平台/身份认证/组织架构 页面创建的用户为组织用户。
注册用户:适用于应用的终端用户,如 C 端客户、社区成员等。注册用户具有固定的默认注册用户角色,不受用户数限制。在 云开发平台/身份认证/用户管理 页面手动创建的用户为注册用户。
匿名用户:适用于无需身份验证的临时访问场景,系统不保存用户信息,用户退出后无法追溯身份。
用户信息管理
获取当前登录用户
您可以通过 auth.currentUser 属性或 auth.getCurrentUser() 方法来获取当前登录用户的信息。
使用方式
import cloudbase from '@cloudbase/js-sdk';
const app = cloudbase.init({
env: 'your-env-id',
});
// 获取 auth 实例
const auth = app.auth();
// 用户登录后,获取当前用户信息
const user = auth.currentUser;
// 或者使用异步方法
// const user = await auth.getCurrentUser()
if (user) {
console.log('当前用户 UID:', user.uid);
} else {
console.log('用户未登录');
}
返回值
该方法返回当前登录用户的 User 实例。如果用户未登录,则返回 null。
💡 提示:
auth实例的初始化方式请参考 SDK 初始化