用户集成相关问题
云开发的用户是什么概念
在启用云开发的智能小程序中,每一个智能小程序的用户都会对应到云开发当前环境中的一个用户,无论该用户是否登录了宿主应用。在智能小程序端新增数据库记录或者上传文件时,都会将操作者在云开发环境中的用户 ID 记录到相应的资源上,以表示该数据的创建者。当在智能小程序端修改这些数据时,云开发会检查相应的权限,允许或者拒绝修改操作。通过这种方式,可以直接在智能小程序端操作云端数据,而无需在云函数(服务端)进行用户身份的识别和访问权限的控制。
如何获取用户的 openid 或 swanid 信息
在云函数中,可以从函数的 context
参数中获取到。已登录的用户可以得到 openid,未登录的用户可以得到 swanid。注意:如果是从云函数中调用另一个云函数,将不会包含用户信息。
代码示例
exports.main = (event, context) => {
// 这里获取到的 openId 和 appId 是可信的
let { OPENID, APPID } = cloud.getSwanContext()
}
如果用户在使用智能小程序时,先未登录,后来登录,对应到云开发中是几个用户 ID
两个。今后会提供用户合并的功能。
在什么情况下会进行访问权限控制
当使用智能小程序端 SDK 对云数据库和云存储进行操作的时候,会进行该项检查。在云开发控制台和云函数内的操作,不会进行检查和权限控制,可以任意读写。
目前的访问权限控制是怎样的
已登录用户可写、可修改作者为自己的数据,未登录用户可写、不可修改,所有用户可读。