CloudBase 允许客户端在未登录的情况下调用 CloudBase 的资源,开发者可以配合安全规则限制未登录对资源的访问权限。
开通流程
步骤1:开启未登录
步骤2:添加安全域名(可选)
使用流程
步骤1:设置自定义安全规则,放通未登录访问
您需要使用自定义安全规则,来放通未登录模式下的资源访问。
说明
基于安全性的考虑,基础的四种权限设置下,均不允许未登录进行访问。
例如,您可以这样设置云数据库的权限:
{"read": "doc._openid==auth.openid || auth == null"}
步骤2:初始化 SDK 发起调用
import cloudbase from '@cloudbase/js-sdk';const app = cloudbase.init({env: 'xxxx-yyy';});
SDK 初始化完成后可以正常发起云开发资源的调用。
说明
1. tcb-js-sdk 在 1.9.0 版本(包含)之后支持在未登录模式下调用资源,之前的版本必须在登录有效期内进行资源调用。
2. 在未登录模式下写入的数据(云数据库、云存储),都将成为无主数据,即数据上不会自动包含相应的身份标识字段。
常见问题
匿名登录与未登录有什么区别?
从 C 端用户的角度来讲:
匿名登录和未登录在上手使用上没有任何区别,都无需注册。
未登录场景下无法产生私有数据,数据在所有未登录用户间共享,单个用户没有特征标识。
与匿名登录相比,未登录无法转为注册登录,未登录期间生成的数据无法自动的过渡到注册登录的用户上。
从应用开发者的角度来讲:
未登录模式是纯粹的无登录态访问,该模式下的访问都不会进入用户的追踪统计。
未登录的用户默认权限下无法使用任何 CloudBase 的服务和资源,需要通过安全规则对需要的资源访问进行放通。同时由于无法界定未登录用户的唯一性,在开发者自身的服务体系下也无法创建私有数据和个性化策略。
已经开启未登录开关但访问资源仍报权限错误?
因为未登录访问是一种低安全,公开的访问方式,为保证开发者云资源的安全性,系统限制需要同时开启未登录开关,以及显式地通过安全规则放通未登录模式的资源访问,未登录模式下才可以真正访问云资源,两步相互独立,又缺一不可。