使用 Firebase Anonymous Auth 作为应用程序中的唯一身份验证方法
Using Firebase Anonymous Auth as only authentication method in app
我有以下基于 Firebase 后端的移动应用场景:
- 两个或多个移动应用程序实例通过中央服务(可信)相互通信。这些应用程序通过交换共享秘密来配对,例如通过扫描二维码或输入配对码。
- 用户是匿名的,即不需要(或不可能)注册。从本质上讲,它是特定设备上的特定应用程序与同上配对(相对于用户对用户)配对。
- 交换的信息是敏感的,但没有内在价值:必须可以相信信息来自给定设备,并且必须可以相信信息已到达预期设备,而不是冒充设备。但是应用实例的信息丢失并不是一个关键问题,例如。如果应用程序被删除或设备被破坏(需要重新配对的烦恼,但不是关键问题)。
Firebase Anonymous Auth 似乎非常适合这种情况 - 但文档暗示它只能用作临时解决方案,直到用户创建实际帐户。使用匿名身份验证作为解决方案的唯一身份验证方法有什么缺点吗?我看到的替代方案是使用基于令牌的自定义登录或可能 email/password auth.
的某种黑客攻击
Are there any drawbacks to using anonymous auth as the sole authentication method for the solution?
除非用户卸载应用程序,否则不会。
The documentation hints that it should only be used as a temporary solution until users create an actual account.
为什么要临时解决?这是因为匿名帐户不会在应用程序卸载后持续存在。如果用户卸载应用程序,本地保存的所有内容都将被删除,包括标识该帐户的匿名身份验证令牌。遗憾的是,无法为用户收回该令牌。
The alternatives I see are some kind of hack using a custom token-based login or perhaps email/password auth.
恕我直言,最好的方法是使用匿名身份验证,但也让用户可以 link 使用电子邮件和密码或任何其他提供商(如 Google、Facebook、 Instagram等。
我有以下基于 Firebase 后端的移动应用场景:
- 两个或多个移动应用程序实例通过中央服务(可信)相互通信。这些应用程序通过交换共享秘密来配对,例如通过扫描二维码或输入配对码。
- 用户是匿名的,即不需要(或不可能)注册。从本质上讲,它是特定设备上的特定应用程序与同上配对(相对于用户对用户)配对。
- 交换的信息是敏感的,但没有内在价值:必须可以相信信息来自给定设备,并且必须可以相信信息已到达预期设备,而不是冒充设备。但是应用实例的信息丢失并不是一个关键问题,例如。如果应用程序被删除或设备被破坏(需要重新配对的烦恼,但不是关键问题)。
Firebase Anonymous Auth 似乎非常适合这种情况 - 但文档暗示它只能用作临时解决方案,直到用户创建实际帐户。使用匿名身份验证作为解决方案的唯一身份验证方法有什么缺点吗?我看到的替代方案是使用基于令牌的自定义登录或可能 email/password auth.
的某种黑客攻击Are there any drawbacks to using anonymous auth as the sole authentication method for the solution?
除非用户卸载应用程序,否则不会。
The documentation hints that it should only be used as a temporary solution until users create an actual account.
为什么要临时解决?这是因为匿名帐户不会在应用程序卸载后持续存在。如果用户卸载应用程序,本地保存的所有内容都将被删除,包括标识该帐户的匿名身份验证令牌。遗憾的是,无法为用户收回该令牌。
The alternatives I see are some kind of hack using a custom token-based login or perhaps email/password auth.
恕我直言,最好的方法是使用匿名身份验证,但也让用户可以 link 使用电子邮件和密码或任何其他提供商(如 Google、Facebook、 Instagram等。