在 Firestore 文档中,一种推荐的编写安全规则的方法是
service cloud.firestore {
match /databases/{database}/documents {
match /users/{userId} {
allow read, update, delete: if request.auth.uid == userId;
allow create: if request.auth.uid != null;
}
}
}
但是,当我创建一个用户时,userID 与 auth.uid 不同(两者都是随机字符串,但完全随机(。
如何使它们在创建新用户时自动匹配?
您显示的规则表明,文档的 ID 应与通过 Firebase 身份验证获取的用户 UID 一致。 这是标准做法。 如果你的代码没有同时编写文档,那么规则将无法按预期工作。 因此,您可以获取用户的 UID 并将其用作文档的 ID。