Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从firebase中删除用户_Javascript_Database_Firebase_Firebase Security - Fatal编程技术网

Javascript 从firebase中删除用户

Javascript 从firebase中删除用户,javascript,database,firebase,firebase-security,Javascript,Database,Firebase,Firebase Security,我正在尝试以编程方式从firebase中删除用户。removeuser方法接受两个参数:电子邮件和密码。现在电子邮件不难发现,因为它存储在auth变量中,当创建用户时,我正在将它添加到数据库中。但是,我应该如何从用户那里找到密码 创建用户时,我会将生成的md5_散列信息与该用户一起添加到数据库中。但是,我无法将此值转换回真实密码 我显然也不想在数据库中存储真正的密码,因为这只是在问问题 所以我想知道,在如何通过编程从数据库中删除一个用户以及他的密码方面,我有没有什么明显的遗漏?(为什么我甚至需要

我正在尝试以编程方式从firebase中删除用户。removeuser方法接受两个参数:电子邮件和密码。现在电子邮件不难发现,因为它存储在auth变量中,当创建用户时,我正在将它添加到数据库中。但是,我应该如何从用户那里找到密码

创建用户时,我会将生成的md5_散列信息与该用户一起添加到数据库中。但是,我无法将此值转换回真实密码

我显然也不想在数据库中存储真正的密码,因为这只是在问问题

所以我想知道,在如何通过编程从数据库中删除一个用户以及他的密码方面,我有没有什么明显的遗漏?(为什么我甚至需要他的密码来删除他?)


编辑:为了澄清,我只允许管理员删除用户,所以他有一个在我的firebase中创建的每个用户的列表。让用户删除自己的用户帐户仍然不是那么容易,因为(我认为)firebase哈希算法不是公开的,所以我无法检查他是否输入了正确的密码。

firebase Simple Login是一项建立在firebase基础上的服务,它提供了通过常用方式验证用户的有用原语

按照设计,Firebase Simple Login不允许您以编程方式访问用户密码,因为它只会增加用户密码未被安全处理或存储的风险。今天,只有两种方法可以用来删除电子邮件/密码哈希映射,它们要么通过使用电子邮件和密码的客户端API,要么通过位于
https://.firebaseio.com

请记住,当使用电子邮件/密码登录时,Firebase Simple login只是在电子邮件地址和密码哈希之间创建一个新的映射,但不会在Firebase中存储任何信息。还要注意,没有办法“黑名单”用户id,因此如果删除映射,用户可以重新创建它


如果要禁止/阻止用户,更好的方法是在Firebase中创建“黑名单”用户的新列表,然后使用安全规则确保该用户在列表中(即,如果
root.child('blocked-users').hasChild(auth.uid)
,则阻止用户).

如果我们的应用程序将多个帐户关联到一个帐户(如facebook、twitter和简单登录),但无法通过编程方式从应用程序端删除帐户,这对我们的应用程序是一个很大的限制。