Email Firebase'的安全漏洞;s简单的电子邮件&;密码登录?

Email Firebase'的安全漏洞;s简单的电子邮件&;密码登录?,email,login,firebase,firebase-security,firebasesimplelogin,Email,Login,Firebase,Firebase Security,Firebasesimplelogin,Firebase的简单登录功能包括 此功能非常有用,并且使用非常简单。然而,在我尝试将其实现到一个仅限客户端的web应用程序中时,我似乎发现了一个Firebase可以轻松解决的问题 然而,我很少相信自己,我总是认为自己是个白痴。所以我决定把它作为一个问题发布在这里,而不是直接联系Firebase,这样聪明的人可以纠正我,并为我提出聪明的方法来处理我遇到的看似问题 以下是我的想法: Firebase的电子邮件简单登录没有电子邮件确认功能,这是一个大问题。这意味着用户可以创建电子邮件和密码帐户,而无

Firebase的简单登录功能包括

此功能非常有用,并且使用非常简单。然而,在我尝试将其实现到一个仅限客户端的web应用程序中时,我似乎发现了一个Firebase可以轻松解决的问题

然而,我很少相信自己,我总是认为自己是个白痴。所以我决定把它作为一个问题发布在这里,而不是直接联系Firebase,这样聪明的人可以纠正我,并为我提出聪明的方法来处理我遇到的看似问题

以下是我的想法:

Firebase的电子邮件简单登录没有电子邮件确认功能,这是一个大问题。这意味着用户可以创建电子邮件和密码帐户,而无需实际控制电子邮件地址

这是一个常见的痛点,最流行的解决方案似乎是使用随机密码创建用户帐户,并立即向他们发送密码重置电子邮件,以便他们可以设置自己的密码,前提是他们能够控制电子邮件

但是,由于应用程序是客户端的,因此即使随机密码分配也必须在客户端完成。此外,这并不能阻止某人使用javascript命令简单地为自己创建一个具有已定义名称的用户帐户。(也就是说,用户仍然可以使用他们不拥有的电子邮件地址创建帐户。)

电子邮件确认对于构建安全的客户端webapp至关重要,我提出了一个简单的解决方案:

Firebase可以在简单登录仪表板中有一个可选设置,启用时,仅允许创建用户而无需使用有效密码。这样,用户就不能使用javascript代码通过其他人的电子邮件创建自己的帐户,开发者可以通过创建一个没有工作密码的用户,并向他们发送一封密码重置电子邮件,只允许使用有效电子邮件地址的帐户,从而真正创建一个安全的客户端应用程序

一、 以我有限的理解,我相信Firebase很容易实现这一点,但对开发人员来说非常重要。然而,如果已经有一种方法将帐户限制为有效的电子邮件地址,我也不会感到惊讶,我只是在装傻


请开导我

我认为这里不存在安全风险:Firebase只要求用户输入一个电子邮件地址来唯一标识他们。他们可以很容易地要求输入用户名,但这会导致更多的用户名冲突

如果您的应用程序希望通过该地址向用户发送电子邮件,则应验证该电子邮件地址。描述一个人是如何做到这一点的

我的Firebase应用程序都不会发送电子邮件,因此我并不在乎电子邮件地址是否有效。只是他们一致地识别同一个用户,就我所知,他们是这样做的


也就是说:如果Firebase能够按照您的建议验证电子邮件地址,那就太好了。他们似乎已经注意到了这一点。但正如我在开始时所说:我认为这不会提高Firebase简单登录的安全性。

相关:和。还有:@FrankvanPuffelen是的,我已经读过那篇文章了。没有客户端解决方案可以真正防止用户在浏览器控制台中创建伪造帐户@FrankvanPuffelen Firebase的简单登录实现假设输入的电子邮件地址不是用于区分用户的字符串(即,它不仅仅是用户名)。例如,自动检查电子邮件地址的基本有效性,向用户电子邮件地址发送密码重置电子邮件,等等。我认为将电子邮件地址视为简单的识别字符串是愚蠢的,即使firebase的实现也假设电子邮件是有效的…@FrankvanPuffelen是的,除非可以强制重置电子邮件密码,正如我提出的解决方案中所描述的,或者电子邮件确认已经实现,我不认为我会建议对身份验证使用电子邮件和密码。由于这个原因,我目前正在使用facebook auth……Firebase的简单登录实现假设输入的电子邮件地址不是用于区分用户的字符串(即,它不仅仅是用户名)。例如,自动检查电子邮件地址的基本有效性,向用户电子邮件地址发送密码重置电子邮件,等等。我认为将电子邮件地址视为简单的识别字符串是愚蠢的,即使firebase的实现也假定电子邮件是有效的。是的,我也看到过这篇博客文章,我已经在我最初的帖子中提到了这个方法。但是,此方法仍然无法阻止用户在ConsoleHMM中使用非随机密码创建自己的帐户。。。很好,我没想到密码会重置。我必须承认,我从未允许使用Firebase的电子邮件用户,只允许使用其他(基于OAuth的)用户。是的,除非可以强制重置电子邮件密码(如我提出的解决方案中所述),或者实施电子邮件确认,否则我不认为我会建议使用电子邮件和密码进行身份验证。由于这个原因,我目前正在使用FacebookAuth……facebook是我唯一没有启用的OAuth从今天的新闻来看,谷歌认证可能很快成为默认。