Firebase身份验证中的用户和设备关联

时间:2020-09-17 11:34:05

标签: firebase flutter firebase-authentication

我们正在使用Flutter + Firebase身份验证开发应用程序,我们正在使用Firebase Auth的电话身份验证。我们希望将用户与设备(电话)绑定,因为电话号码是便携式的。

例如:

  1. 用户(U1)具有手机(M)并使用电话Auth进行注册(用户ID将在OTP验证后创建)

  2. 让我们说在某人将手机(M)转移给另一个用户之后,他确实在我们的应用中唱歌,他将获得用户(U1)详细信息。

我们正在考虑将用户与设备(设备标识符)建立某种关联,以便对于任何用户,如果deviceId得到更改,我们可以向用户提出一些挑战(例如问题/或他的KYC详细信息)。这样可以防止帐户被接管。

到目前为止,在使用Firebase身份验证的登录/注册过程中,我们还没有发现任何与用户和设备关联的内容。有人可以帮忙吗?

简而言之,我们可以使用Firebase在用户登录/注册期间存储一些额外的信息吗?

1 个答案:

答案 0 :(得分:1)

Firebase文档明确声明了此security concern

仅使用电话号码进行身份验证虽然方便,但与其他可用方法相比,其安全性较低,因为可以在用户之间轻松转移电话号码的拥有权。此外,在具有多个用户个人资料的设备上,任何可以接收SMS消息的用户都可以使用设备的电话号码登录帐户。

如果您在应用中使用基于电话号码的登录,则应将其与更安全的登录方法一起提供,并告知用户使用电话号码登录的安全性折衷。

您绝对可以为电话号码与UID关联存储其他信息。例如,将这种精确的关系存储在Cloud Firestore或Realtime Database之类的数据库中,将允许您查看现有用户是否使用了电话号码并对此采取措施。当然,要采取什么确切的措施。