一段时间后删除Firebase匿名用户

rex*_*rex 13 firebase angularfire firebase-authentication

我使用匿名身份验证允许我的用户无需登录即可使用该应用.但是,Firebase似乎无限期地保留这些匿名用户ID.有没有办法自动清除这些或设置某种过期规则?我不希望这些一次性使用ID永远存在,并使来自提供商的实际用户数据混乱.

Kaa*_*mel 6

不幸的是,这是一个"内存泄漏"(用户泄漏?)由于没有合理的方法强制匿名用户进行转换,这些匿名用户ID很快就会成为没有特定目的的僵尸(我能想到).此外,单个真实用户可能(忘记地)以匿名用户身份登录,再次,在将他们的电子邮件链接到之前的版本之后,然后在尝试链接到他们的电子邮件时感到沮丧.总的来说,我发现当前的匿名用户实现不切实际,或者至少远非理想.

目前,我计划为一个给定的用户/设备提供一个随机但唯一的电子邮件地址,用于登录匿名用户,而不是使用内置的匿名登录(已禁用).在我看来,需要设置一个设置来告诉Firebase在注销时删除匿名用户ID(无论如何它们都无用)和/或在预定义的时间之后.此外,能够使用相同的匿名用户ID再次登录,直到到期时间(例如通过保存令牌等)可能是有用的.最后,尝试链接已经在使用的电子邮件应该只需通过验证步骤将匿名用户ID与现有的电子邮件/密码用户ID合并即可.


boj*_*eil 0

匿名用户可以是您将其升级为非匿名用户之前的起点(想象一下电子商务网站,其中匿名用户将商品添加到购物车中,然后在结帐时升级为 Google 或电子邮件/密码用户;在此如果您可能不想丢失用户的购物车)。正如所解释的,如果您想要将匿名用户的数据保留到升级的用户,这可能会很有用。如果您希望清除匿名用户,则没有自动方法可以做到这一点。但是,一旦您注销匿名用户或登录非匿名用户,匿名用户的状态就会丢失。