Android 如何从代码中禁用firebase项目的用户帐户?

Android 如何从代码中禁用firebase项目的用户帐户?,android,firebase,firebase-authentication,Android,Firebase,Firebase Authentication,我可以从控制台(firebase网页)成功禁用项目的用户帐户,但应用程序中的用户如何在需要时通过代码禁用您自己的用户帐户。此外,我在firebase的新文档中没有找到帮助。firebase的回应-support@google.com: 谢谢你伸出援手。很抱歉,这么久才回复你。 目前,没有明确的API来禁用用户帐户。现有的解决方法是为用户实现“禁用”标志,允许您禁用/启用帐户。请注意,此标志将存储并维护在Firebase数据库中。您可以将其与安全规则结合使用,以便在禁用帐户后,只能将管理员的元数据

我可以从控制台(firebase网页)成功禁用项目的用户帐户,但应用程序中的用户如何在需要时通过代码禁用您自己的用户帐户。此外,我在firebase的新文档中没有找到帮助。

firebase的回应-support@google.com:

谢谢你伸出援手。很抱歉,这么久才回复你。
目前,没有明确的API来禁用用户帐户。现有的解决方法是为用户实现“禁用”标志,允许您禁用/启用帐户。请注意,此标志将存储并维护在Firebase数据库中。您可以将其与安全规则结合使用,以便在禁用帐户后,只能将管理员的元数据写入用户帐户。

回答这个问题有点旧。但是对于那些寻找相同答案的人来说,我的答案会给他们一个想法

使用管理SDK

Firebase admin(node.js)-不适用于移动平台-能够通过使用禁用/删除用户。要禁用用户,请将disable属性设置为TRUE

注意:如果您的应用程序是 基于浏览器的应用程序

使用实时数据库规则

另一个选项是通过在实时数据库中设置Users表来限制用户对数据库的访问(读/写)。您可以在该表中添加一个标志字段(活动),例如:

{
  "users" : {
    "3sFGw6zlr8VylNuvmCWd9xG1CQ43" : {
      "active" : true,
      "address" : "#123, City",
      "createdBy" : "2016-12-20",
      "mobile" : "xxxxxxx"
    },
    "posts" : {
    }
}
在上面的示例中,“3sFGw6zlr8VylNuvmCWd9xG1CQ43”是firebase身份验证生成的uid。这是使用firebase用户配置文件加入此自定义用户表的关键。通过正常的数据库写入操作,活动字段可以轻松设置

此标志字段将用于检查此帐户是否可以访问数据库记录。请参见下面的示例:

{
  "rules": {
    ".read": "auth !== null && root.child('users/' + auth.uid).child('active').val()==true",
    ".write": "auth !== null && root.child('users/' + auth.uid).child('active').val()==true",
  }
} 
此规则将检查用户是否已登录,并且标志字段是否处于活动状态。否则,用户将无法读取或写入数据库。在用户登录页面上,您还可以检查登录用户的此标志字段,如果活动字段为false,则注销该用户,这样用户将无法登录到系统


编辑:您可以使用云功能(AdminSDK)在那里可用。试着抽出一些时间来阅读云功能。Firebase云函数是实时数据库非常有用的工具

是否可以注册一个新用户,并在初始注册时启用“禁用”,然后在发送电子邮件以确认用户的电子邮件时,单击链接“用户处于活动状态”@FamicTech,您可以为此使用电子邮件验证标志emailVerified是您需要查找的标志。