Firebase - 我是否应该在特定情况下停止使用匿名身份验证? (另外,如何删除用户)

时间:2016-10-05 21:21:16

标签: firebase firebase-authentication firebase-cloud-messaging

好的,我有两个与此相关的问题。

我知道至少有四次这样问过,但我的问题略有不同。

问题1:

我为我的应用程序使用Anonymous Auth(在应用程序安装时使用我的服务器对用户进行一次身份验证,而不再使用)。匿名身份验证仅在Android设备上完成,因此他们可以访问Firebase数据库和存储。我有经典的“1000+匿名用户”问题,许多人似乎最终结束。 (我实际上有22个用户MAX。)

可能的解决方案: 我知道你不能批量删除匿名用户,但是,如果我将所有用户ID(全部匿名)复制到一个文件中并将其读入我的node.js服务器,我可以以编程方式一次一个地登录所有用户ID并删除它们?此解决方案仅 这一次“删除这1000个用户”问题。在那之后,我到达下一个阻止这种情况再次发生的问题。

问题2:

我使用匿名身份验证的原因是因为此应用程序是政府办公室的紧急通知应用程序,其中22位用户处于绝对最大值。这些设备需要不停地监听通知。我使用FCM发送实际警报,但如果用户的电子邮件/密码/ google /任何登录状态进入“已注销”状态,该设备是否仍会收到FCM通知?

我问的原因是,我可能不需要使用匿名身份验证。我使用它是因为我需要绝对100%确定无论用户做什么(没有安装我的应用程序或没有网络连接)他们得到通知。匿名身份验证允许我保证当他们进入我的应用程序时,他们可以访问数据库。

同样,我认为我做错了。

要点:

我有一个Firebase数据库,用于存储用户发送的“警报对象”。用户(最多22个)将这些警报直接从他们的Android设备发送到数据库。我的node.js服务器一直在监听变化。当它看到更改时,它会起作用,然后将FCM通知发送给在该通知上列为收件人的所有用户。在Android方面,这些用户匿名向Firebase数据库进行身份验证。但是,当他们安装应用程序时,他们会输入我在Firebase数据库中预先登录的用户名/密码(使用我制作的前端Web应用程序并在我的nodejs服务器上托管)。这种匿名身份验证在我的情况下是否必要,或者我可以让他们使用Firebase进行电子邮件/密码身份验证,并且仍然可以保证他们会收到警报。

好的,这个问题太长了,我会在这里停止。提前谢谢。

2 个答案:

答案 0 :(得分:5)

您不必担心这一点,Firebase身份验证独立于FCM;您唯一需要担心的是令牌过期(this question中所述)。

所以,是的,您可以放弃匿名身份验证,如果会话过期也没问题。

答案 1 :(得分:2)

<@> @ Jaime的答案仍然是我选择的答案,但我只是想添加一个我刚刚用于(排序)批量删除的方法。主要是因为我在做完之后觉得很聪明,而且我并不聪明。

我下载了一个鼠标自动化应用程序,可让您记录鼠标点击,然后自动重播。我刚刚弹钢琴时删掉了近1000名用户。

我使用了Macro Recorder,它就像一个魅力。只是在我的控制台中记录了一些删除用户的迭代,将其设置为重复500次并走开。

我知道这不是一个非常技术性的答案,但它节省了我小时单调鼠标点击所以希望其他寻找批量删除方法的人也会从中受益。我讨厌这样一个事实:没有批量删除,真的需要一种方法。它只花了大约20次手动删除才意识到有些应用可以做我正在做的事情。