当前位置: 首页 > 知识库问答 >
问题:

Firebase匿名用户会怎么样?

魏威
2023-03-14

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

Firebase文档非常糟糕,没有解释所有的事情,希望开发者自己去发现。我在它的旧版本文档中发现,匿名会话将根据登录中设置的到期时间到期

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

共有3个答案

龙景澄
2023-03-14

可能有一个云函数。检查:delete-unused-outs-cron

此功能在特定时间后删除未使用的帐户。这对非匿名用户也可能有所帮助。

如果您只想删除匿名用户或仅检查它们(例如,在与普通用户不同的非活动时间之后删除),则可以通过检查来识别它们:

const inactiveUsers = result.users.filter(
        user => {
            isAnonymous = user.providerData.length == 0;
            //do something when anonymous
        });

解鸿运
2023-03-14

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

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

将不会有匿名用户与此叠加,并限制应用程序中匿名用户的数量

訾旭
2023-03-14

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

Firebase不会自动删除它们,因为它不知道用户是否仍在存储与该登录名链接的数据——只有应用程序创建者知道。想象一下,如果你在手机上玩益智游戏,达到100级。然后当你明年玩101级时,所有进度都将丢失。Firebase不能仅仅假设用户一年不活跃意味着该帐户可以被删除。

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

1) 管理员开发工具包

2)链接多个身份验证提供者

3)授权状态持久性

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

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

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

 类似资料:
  • 我有以下场景:使用firebase Auth对用户进行匿名身份验证。然后,他用电子邮件和密码登录到一个现有的账户。然后,他再次从账户中注销。现在,我想重新创建他以前使用过的匿名帐户。 是否可以在设备上本地存储匿名凭据,并在以后再次登录匿名帐户时使用它们?我想保存访问/刷新令牌就足够了,但是firebase auth是否为此提供了API?

  • 我正在创建一个Android游戏,它有一个排行榜,可以显示用户分数以及他们的姓名,个人资料图片和分数作为列表项。 后来,我决定删除谷歌登录实现的游戏,以增加进入游戏页面的用户流量。但与此同时,我想让用户进行身份验证(出于安全考虑),而不要求他们点击登录按钮(在这里发生了大量的下载)。所以我在Firebase身份验证部分找到了匿名身份验证选项。 我的问题是,当我在整个游戏中只在匿名登录时中继时,我是

  • 将匿名帐户转换为永久帐户的文档指出了流程的3个步骤,但是步骤2似乎违反了步骤1。 当用户注册时,完成用户身份验证提供者的登录流程,直到(但不包括)调用其中一个身份验证提供者。用方法来表示。例如,获取用户的Google ID令牌、Facebook访问令牌或电子邮件地址和密码 获取新身份验证提供程序的身份验证凭据:

  • 这是帐户链接代码。匿名用户已登录。

  • null 这些页面配置为我启用了无效会话选项来处理经过身份验证的用户:。如果我注释掉该选项,那么除了步骤#10-看到请求的会话ID无效(#9),但没有启动新会话并执行重定向(#10)之外,上面描述的所有内容都完全相同。 为什么?我可以做什么来保留无效会话选项,但正确地处理匿名用户,即不被重定向?或者这是不可能的,我将不得不单独处理经过身份验证的用户?如果有人能帮助我理解这里发生的事情,并为我指明解

  • 我们使用的是带有Spring Security性的Spring MVC。 该网站应可供匿名用户使用,包括首选项设置(例如打开或关闭页面上的筛选器)。 如果匿名用户在第二天返回(在新会话中),应记住这些首选项。 匿名用户可以随时选择注册配置文件(用户/密码组合),以前匿名用户设置的所有首选项都应存储在新的配置文件中。 或者,匿名用户可以选择使用已注册的配置文件登录,并且应该向他们提供将匿名设置的首选