我有以下基于 Firebase 后端的移动应用场景:
- 两个或多个移动应用程序实例通过中央服务(可信)相互通信。应用程序通过交换共享密钥进行配对,例如通过扫描二维码或输入配对码。
- 用户是匿名的,即不需要(或不可能)注册。本质上,它是特定设备上的特定应用程序与同上对应物配对(相对于用户对用户)。
- 交换的信息是敏感的,但没有内在价值:必须可以相信信息来自给定的设备,并且必须可以相信信息已经到达预期的设备而不是模拟设备。但是,应用程序实例的信息丢失不是关键问题,例如,如果应用程序被删除或设备被破坏(需要重新配对的烦恼,但不是关键问题)。
Firebase Anonymous Auth 似乎非常适合这种情况 - 但文档暗示它只能用作临时解决方案,直到用户创建实际帐户。使用匿名身份验证作为解决方案的唯一身份验证方法有什么缺点吗?我看到的替代方案是使用基于令牌的自定义登录或电子邮件/密码身份验证的某种黑客攻击。