如何使云 Firestore 身份验证 Uid 与用户 ID 匹配



在 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。

最新更新