1

我有以下基于 Firebase 后端的移动应用场景:

  • 两个或多个移动应用程序实例通过中央服务(可信)相互通信。应用程序通过交换共享密钥进行配对,例如通过扫描二维码或输入配对码。
  • 用户是匿名的,即不需要(或不可能)注册。本质上,它是特定设备上的特定应用程序与同上对应物配对(相对于用户对用户)。
  • 交换的信息是敏感的,但没有内在价值:必须可以相信信息来自给定的设备,并且必须可以相信信息已经到达预期的设备而不是模拟设备。但是,应用程序实例的信息丢失不是关键问题,例如,如果应用程序被删除或设备被破坏(需要重新配对的烦恼,但不是关键问题)。

Firebase Anonymous Auth 似乎非常适合这种情况 - 但文档暗示它只能用作临时解决方案,直到用户创建实际帐户。使用匿名身份验证作为解决方案的唯一身份验证方法有什么缺点吗?我看到的替代方案是使用基于令牌的自定义登录或电子邮件/密码身份验证的某种黑客攻击。

4

1 回答 1

4

使用匿名身份验证作为解决方案的唯一身份验证方法有什么缺点吗?

除非用户卸载应用程序,否则没有。

文档提示它应该只用作临时解决方案,直到用户创建一个实际帐户。

为什么要临时解决?这是因为匿名帐户不会在应用程序卸载后持续存在。如果用户卸载应用程序,本地保存的所有内容都将被删除,包括标识该帐户的匿名身份验证令牌。不幸的是,没有办法为用户收回该令牌。

我看到的替代方案是使用基于令牌的自定义登录或电子邮件/密码身份验证的某种黑客攻击。

恕我直言,最好的方法是使用匿名身份验证,但也让用户可以将他们的帐户与电子邮件和密码或任何其他提供商(如 Google、Facebook、Instagram 等)相关联。

于 2021-10-30T11:05:09.150 回答