【问题标题】:What happens to Firebase anonymous users?Firebase 匿名用户会怎样?
【发布时间】:2016-12-06 05:58:04
【问题描述】:

我想知道我为他们使用匿名登录方法的应用用户会发生什么。

Firebase 文档确实很糟糕,并没有解释所有内容,并希望开发人员自己找出答案。 我在其旧版本文档中发现匿名会话将根据已在登录和身份验证选项卡中设置的到期时间到期,但即使没有提到这意味着会话结束或者这意味着用户 ID 也将从我的应用用户列表或究竟发生了什么?

我找到了this answer,但这确实是不可接受的。如果你做一个 web 应用程序并让每件事都变得困难,那么匿名用户的数量将会增长得非常快。 我什至无法在我的仪表板中看到我的应用程序用户数量!!!!!!! 所以我该怎么做?我应该自己为我的数据开发仪表板还是 Firebase 团队应该这样做?至少在管理用户方面,我应该拥有更多的权力,而不仅仅是使用他们的电子邮件搜索用户,当你使用自定义登录时,你也不能这样做。

【问题讨论】:

  • 这是一个很好的问题,我也想要一个答案。我有 1000 多个匿名用户,因为我无法使用我的应用程序使用电子邮件/密码。我需要匿名。我有 22 个实际用户,但其中有 1000 多个用户 ID。

标签: firebase firebase-authentication


【解决方案1】:

匿名用户不会过期,目前没有任何自动清除它们的方法。

Firebase 不会自动删除它们,因为它并不真正知道用户是否仍在存储与该登录名相关联的数据 - 只有应用创建者才知道。想象一下,如果您在手机上玩益智游戏,并达到 100 级。那么当您明年去玩 101 级时,所有进度都丢失了。 Firebase 不能仅仅假设用户一年不活动就意味着该帐户可以被删除。

不过,有几个工具应该会有所帮助。

1) Admin SDK & Firebase CLI 列出用户。

2)Linking multiple auth providers

3)Auth State Persistence

列出您的用户后,您可以检查每个用户是否没有任何其他提供程序、最近没有使用过、没有存储数据以及delete them

不过,更好的做法是确保每个用户只创建一个帐户。如果您创建一个匿名帐户来帮助用户在登录前存储数据,您可能需要考虑提示他们链接身份验证提供商(如 Google 或电子邮件)。如果您关联帐户,而不是创建新帐户,则可以避免活跃用户放弃帐户。

一般来说,您还需要确保使用身份验证状态持久性来确保创建的帐户不会超过必要的数量。为每个新访问者创建 1 个帐户,而不是每次有人重复访问您的页面时创建 1 个帐户,这将大大有助于控制用户增长。

【讨论】:

    【解决方案2】:

    就我而言,我在用户不知情的情况下使用匿名登录方法进行身份验证。 每次用户离开应用时,删除匿名用户 -

    FirebaseAuth.getinstance().currentuser?.delete()
    

    不会有匿名用户的叠加,限制应用内匿名用户的数量

    【讨论】:

    • 这是假设应用程序实际上已正确关闭。如果应用程序崩溃,这些用户的匿名帐户不会被删除。
    【解决方案3】:

    如果您希望将匿名用户从您的用户列表中删除,您必须编写一个服务来为您执行此操作。

    由于 firebase 不提供列出注册用户的方法,因此您必须确保在数据库中存储了某种用户列表。然后你可以使用 node.js admin sdk 到get user data,检查user is anonymous,找到when the user was created。出于性能原因,您可能希望将此信息存储在数据库的一个特殊区域中并一次检索所有信息。一旦您确定了一个过时的匿名用户,他们就可以是easily deleted

    【讨论】:

    • 这是删除问题。
    • 您希望匿名用户会发生什么?
    • 我应该能够轻松管理我的用户,无论是否匿名。对于用户,也许我可以在删除后设置到期时间。
    • 如果您正在寻找比 Firebase 控制台提供的更多功能,则必须使用 admin API
    • Firebase 身份验证已经有一个带有上次登录时间戳的“登录”值,如果登录超过 x 天处于非活动状态,请将其删除
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-21
    • 2017-05-07
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2017-10-22
    • 2017-01-31
    相关资源
    最近更新 更多