首页 > 解决方案 > 使用自定义令牌登录匿名用户会删除匿名状态

问题描述

firebase 身份验证中匿名用户的确切定义是什么?

当我signInAnonymously()显然打电话给用户时isAnonymous: true。但是,如果我通过 admin sdk 为用户创建自定义令牌,然后使用该 customToken (使用signInWithCustomToken(token))再次登录,则用户不再是isAnonymous.

这是一个错误还是有意的?是否有任何解决方法可以保持该匿名状态?

标签: firebasefirebase-authentication

解决方案


firebase 身份验证中匿名用户的确切定义是什么?

这是一个没有附加个人身份的用户帐户。它只是识别出某人(可能是同一个人)随着时间的推移在特定设备上使用该应用程序。

但是,如果我通过 admin sdk 为用户创建自定义令牌,然后使用该 customToken 再次登录(使用 signInWithCustomToken(token)),则用户不再是匿名用户。

当您登录新帐户时,以前的帐户总是会立即退出。这适用于所有类型的帐户,与匿名身份验证无关。一次只能有一个用户登录。

这是一个错误还是有意的?

按预期工作。

是否有任何解决方法可以保持该匿名状态?

不,在您登录新帐户后,匿名帐户将被注销。如果您想用已知身份升级该匿名帐户,则应考虑通过将匿名帐户转换为永久帐户来将新身份链接到现有匿名帐户。这将保留帐户,但将不再是匿名的(因为它现在包含一些身份信息)。


推荐阅读