我希望用户一次在一台设备上使用他们的凭据,避免使用相同的电子邮件和密码多次登录。我找到了 this来自 firebase 官方网站,但它与我正在尝试做的事情无关。
最佳答案
无法阻止用户在多个设备上进行身份验证。事实上:要知道同一用户在两台设备上,他们需要在两台设备上进行身份验证。
根据您使用的后端服务,可能只允许从一台设备访问资源。
例如,如果您的应用使用 Firebase 数据库,您可以在用户登录时将 InstanceID token 写入数据库。然后只有在没有 token 或 token 与最后一个 token 匹配时才允许写入如果用户在第二台设备上登录,您甚至可以警告他们,他们已经在从另一台设备访问系统,应该先从那里注销。
但这都是由问题案例造成的。
例如:您何时标记用户停止在一台设备上使用您的应用程序(即从数据库中删除 InstanceID token )?他们什么时候退出?这意味着他们每次想使用该应用程序时都必须登录,这是大多数用户不太喜欢的一种摩擦。
或者您会尝试自动检测他们是否停止使用该应用程序,例如什么时候进入后台?如果您因为错误、崩溃或网络故障而错过了那一刻,会发生什么?用户将无法通过其他设备使用该应用程序吗?
出于这些以及更多原因,我通常建议不要采用这种单一设备政策:它带来的麻烦多于它的值(value)。
另见:
关于android - 在 Firebase for android 中,每个用户一次只能登录一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48732295/