我可以将身份验证提供程序从 google 帐户更改为在 firebase 身份验证中匿名吗?

can I change authentication provider from google account to be anonymous in firebase authentication?

使用 Google 帐户作为身份验证提供程序的用户登录,如上图所示。我想当用户执行注销时,提供者应该从 Google 更改为匿名。所以我想做的是,当用户注销时,他们将是匿名的,但具有相同的用户 ID Bdf2LPraRhbnWhP24eiSN3vTQ5G3

我可以这样做吗?

我需要将其设为匿名,因为我希望该用户即使在注销后仍能在我的应用程序中看到一些内容。他们需要处于登录状态才能通过安全规则。

I want to make when the user performs log out, then the provider should change from google to be anonymous.

您无法自动执行此操作。用户注销后,创建的账号仍然存在,无法进行任何转换。

Firebase 允许您创建这些匿名帐户,以便您可以使用 Firebase 进行身份验证。这些只是临时帐户,可用于允许尚未注册的用户使用您的应用程序。确实可以使用Google将匿名帐户转换为永久帐户,但反之则不可用。

您也可以从 Google 以及 Firebase 注销用户,并完全删除 Firebase 帐户,但如果您尝试创建另一个匿名帐户,则新的 UID 将是产生。遗憾的是,无法为用户回收旧令牌。

because I want that user to still see some contents in my app even when they logout.

如果您希望用户即使在注销后也能看到某些内容,只需为未经身份验证的用户也显示该内容即可。如果您只想对特定用户进行限制,则应对该用户进行身份验证。