用户集成相关问题

# 云开发的用户是什么概念?

在启用云开发的智能小程序中,每一个智能小程序的用户都会对应到云开发当前环境中的一个用户,无论该用户是否登录了宿主应用。在智能小程序端新增数据库记录或者上传文件时,都会将操作者在云开发环境中的用户 ID 记录到相应的资源上,以表示该数据的创建者。当在智能小程序端修改这些数据时,云开发会检查相应的权限,允许或者拒绝修改操作。通过这种方式,可以直接在智能小程序端操作云端数据,而无需在云函数(服务端)进行用户身份的识别和访问权限的控制。

# 如何获取用户的 openid 或 swanid 信息?

在云函数中,可以从函数的 context 参数中获取到。已登录的用户可以得到 openid,未登录的用户可以得到 swanid。注意:如果是从云函数中调用另一个云函数,将不会包含用户信息。

代码示例

exports.main = (event, context) => {
  let { OPENID, APPID } = cloud.getSwanContext() // 这里获取到的 openId 和 appId 是可信的
}

# 如果用户在使用智能小程序时,先未登录,后来登录,对应到云开发中是几个用户 ID?

两个。今后会提供用户合并的功能。

# 在什么情况下会进行访问权限控制?

当使用智能小程序端 SDK 对云数据库和云存储进行操作的时候,会进行该项检查。在云开发控制台和云函数内的操作,不会进行检查和权限控制,可以任意读写。

# 目前的访问权限控制是怎样的?

已登录用户可写、可修改作者为自己的数据,未登录用户可写、不可修改,所有用户可读。