是因为在Firestore的安全规则中,request.auth.token.name属性是不可用的。request.auth.token.name属性用于表示用户的名称,但在安全规则中,只能使用request.auth.uid属性来表示用户的唯一标识符。
安全规则是用于控制对Firestore数据库的访问权限的规则集合。它可以限制读取、写入和删除数据的操作,并根据用户的身份验证状态和其他条件来确定是否允许执行这些操作。
在Firestore的安全规则中,可以使用request.auth.uid属性来表示已经通过身份验证的用户的唯一标识符。该属性是一个字符串,可以用于识别特定的用户。使用request.auth.uid属性可以实现对特定用户的数据访问控制。
以下是一个示例安全规则,演示如何使用request.auth.uid属性来限制对特定用户数据的访问:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
// 只允许已经通过身份验证的用户读取和写入自己的数据
match /users/{userId} {
allow read, write: if request.auth.uid == userId;
}
}
}
在这个示例中,只有当请求的用户的uid与要访问的数据的userId匹配时,才允许读取和写入操作。
总结起来,Firestore安全规则无法检索request.auth.token.name属性,但可以使用request.auth.uid属性来实现对特定用户数据的访问控制。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云