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

Firebase身份验证中的用户和设备关联,firebase,flutter,firebase-authentication,Firebase,Flutter,Firebase Authentication,我们正在开发一个应用程序,使用Flatter+Firebase身份验证,我们正在使用Firebase身份验证的电话身份验证。我们希望将用户与设备(电话)绑定,因为电话号码是便携的 例: 用户(U1)拥有手机(M)并使用电话认证注册(用户id将在OTP验证后创建) 比方说,在手机(M)被转移到另一个用户,他在我们的应用程序中唱歌之后,他将获得用户(U1)的详细信息 我们正在考虑将用户与设备(设备标识符)建立某种关联,这样,对于任何用户,如果deviceId发生更改,我们都可以向用户提出一些挑战

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

例:

  • 用户(U1)拥有手机(M)并使用电话认证注册(用户id将在OTP验证后创建)

  • 比方说,在手机(M)被转移到另一个用户,他在我们的应用程序中唱歌之后,他将获得用户(U1)的详细信息

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

    到目前为止,我们还没有发现任何与使用Firebase身份验证登录/注册期间的用户和设备关联相关的内容。有人能帮忙吗


    简而言之,我们能否在用户使用firebase登录/注册期间存储一些额外信息?

    firebase文档明确指出:

    仅使用电话号码进行身份验证虽然方便,但不如其他可用方法安全,因为拥有电话号码可以在用户之间轻松转移。此外,在具有多个用户配置文件的设备上,任何可以接收SMS消息的用户都可以使用设备的电话号码登录到帐户

    如果你在应用程序中使用基于电话号码的登录,你应该提供更安全的登录方法,并告知用户使用电话号码登录的安全权衡

    您完全可以存储phonenumber-to-UID关联的附加信息。例如,将这种精确的关系存储在数据库(如Cloud Firestore或Realtime数据库)中,将允许您查找现有用户是否使用了电话号码并对此采取行动。采取什么样的具体行动,当然取决于你