在firebase数据库中创建用户

在firebase数据库中创建用户,firebase,firebase-realtime-database,firebase-security,Firebase,Firebase Realtime Database,Firebase Security,我正在制作一个android应用程序,我是firebase的新手。我想在用户注册电子邮件和密码后在数据库中创建新用户。 我将安全规则设置为: { "rules": { "users": { "$user_id":{ ".read": "auth != null && auth.uid == $user_id", ".write":"auth != null && auth.uid == $user

我正在制作一个android应用程序,我是firebase的新手。我想在用户注册电子邮件和密码后在数据库中创建新用户。 我将安全规则设置为:

{
  "rules": {
     "users": {
       "$user_id":{
          ".read": "auth != null && auth.uid == $user_id",
          ".write":"auth != null && auth.uid == $user_id"
       }

     }
  }
}
现在的问题是,当我想在数据库中添加用户对象(用户配置文件)时,由于安全规则,我不能这样做,因为不允许用户在用户节点中写入。 顺便说一下,我的数据库结构是root/users


在安全性不允许的情况下,如何在节点用户中添加新用户?

您的规则允许用户写入自己的节点,这似乎是您想要的。如果您的代码不起作用,请编辑您的问题以包括。正如您所说,规则允许用户写入自己的节点,但首先我需要使用以下代码创建一个用户节点:mDatabase.child(“用户”).child(userId).setValue(userData)想法是在“users”中创建一个用户节点,但由于用户无法写入用户节点,那么我如何创建所有用户呢?当您写入/删除键/路径下的值时,会自动创建键/路径。因此,即使还没有
/users
节点,您的代码也可以正常工作。试试看。只要您的
userId
是当前Firebase身份验证用户的UID,就会创建路径。