tencent cloud

云开发 CloudBase

匿名登录

PDF
聚焦模式
字号
最后更新时间: 2025-12-31 11:53:09
CloudBase 匿名登录的所有逻辑均可由客户端代码主动执行,无需用户手动操作。在匿名登录状态下可正常的调用 CloudBase 的资源,开发者同时可以配合安全规则针对匿名用户制定对应的访问限制。

数量限制

每个 CloudBase 环境的匿名用户数量不超过 1000 万个

开通流程

开启匿名登录

1. 云开发平台,选择需要管理的环境。
2. 进入身份认证 > 登录方式页面。
3. 在登录方式列表中,选择匿名登录方式,点击开启

添加安全域名(可选)

Web 应用需要将域名添加到云开发平台的 安全来源列表中,否则将被识别为非法来源:

添加安全域名



登录流程

云函数中执行以下代码:
import cloudbase from '@cloudbase/js-sdk';

const app = cloudbase.init({
env: 'xxxx-yyy';
});

const auth = app.auth();

async function login(){
await auth.signInAnonymously();
const loginScope = await auth.loginScope();
// 如为匿名登录,则输出 true
console.log(loginScope === 'anonymous');
}

await login();

安全规则

匿名用户在安全规则中的auth.loginType值为ANONYMOUS,配合安全规则可以限制匿名用户的 云数据库云储存 的访问权限。比如下述代码展示的安全规则为:
云数据库匿名用户不可读写;
{
"read": "auth.loginType != 'ANONYMOUS'",
"write": "auth.loginType != 'ANONYMOUS'"
}
云存储所有用户可读,匿名用户不可写。
{
"read": "auth != null",
"write": "auth.loginType != 'ANONYMOUS'"
}

转化为正式用户

如果用户在匿名状态下产生了一些私有数据(例如游戏中获取了个人成就和装备),想将此匿名账号转化为正式账号长久持有。
针对这种需求,您可以进行匿名用户转正注册,即可将此匿名账号的私有数据转移到正式账号中。
转正示例参考:
1. 匿名登录。
const auth = app.auth();
await auth.signInAnonymously();
2. 进行某种方式的登录。
3. 获取 access_token 并进行转正注册。
const { accessToken } = await auth.getAccessToken();

await auth.signUp({
// 其他参数参考 auth.signUp
anonymous_token: access_token
});
另外可参考:账户关联


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈