Firebase匿名用户会发生什么?

Ali*_*Ali 31 firebase firebase-authentication

我想知道我的应用程序用户会对他们使用匿名登录方法会发生什么.

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

我找到了这个答案,但实在是不可接受.如果您使用Web应用程序并使所有事情变得困难,匿名用户的数量将会非常快速增长.我甚至无法在仪表板中看到我的应用用户数量!!!!! 所以我该怎么做?我应该自己为我的数据开发一个仪表板,还是Firebase团队应该这样做?至少对于管理用户而言,我应该拥有的功能不仅仅是使用他们的电子邮件搜索用户,而且当您使用自定义登录时,您也无法做到这一点.

小智 14

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

FirebaseAuth.getinstance().currentuser?.delete()
Run Code Online (Sandbox Code Playgroud)

不会有匿名用户的堆积,并限制了应用程序中匿名用户的数量

  • 这是假设应用程序实际上已正确关闭。如果应用程序崩溃,这些用户的匿名帐户将不会被删除。 (2认同)

Kia*_*ana 13

匿名用户不会过期,并且目前没有任何自动清除方法.

Firebase不会自动删除它们,因为它实际上并不知道用户是否仍在存储链接到该登录的数据 - 只有应用创建者才会这样做.想象一下,如果你正在手机上玩益智游戏,并达到100级.那么当你明年去玩101级游戏时,所有进度都会丢失.Firebase不能仅仅假设用户在一年内处于非活动状态,这意味着可以删除该帐户.

但是,有一些工具应该有所帮助.

1)Admin SDKFirebase CLI列出用户.

2)链接多个auth提供者

3)Auth State Persistence

列出用户后,您可以检查每个用户是否没有任何其他提供程序,并且最近没有使用过,没有存储数据并删除它们.

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

通常,您还需要确保使用身份验证状态持久性,以确保不会创建超过必要的帐户.为每位新访问者创建一个帐户,而不是每次有人反复访问您的网页时,这将极大地帮助我们控制用户增长.


nlo*_*wen -5

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

由于 Firebase 不提供列出注册用户的方法,因此您必须确保在数据库中存储某种类型的用户列表。然后,您可以使用 node.js admin sdk获取用户数据,检查用户是否是匿名的,并查找用户的创建时间。出于性能原因,您可能希望将此信息存储在数据库的特殊区域中并一次检索全部信息。一旦您识别出过时的匿名用户,就可以轻松将其删除

  • Firebase 身份验证已具有带有上次登录时间戳的“已登录”值,如果登录处于非活动状态超过 x 天,请将其删除 (3认同)