【问题标题】:getting user id from phone number in flutter在颤动中从电话号码中获取用户ID
【发布时间】:2021-03-26 15:31:12
【问题描述】:

在应用程序中,该应用程序仅通过电话身份验证登录用户。 现在的问题是我可以从他的电话号码中获取用户 ID(虽然不是当前用户的用户 ID)。 我可以访问应用程序中的其他用户电话号码,并且我想获取他们的 ID 以供进一步使用。 是否有可能在后端与 firebase 一起颤抖?

【问题讨论】:

    标签: firebase flutter dart firebase-authentication


    【解决方案1】:

    根据电话号码或电子邮件地址查找用户的 UID 被视为敏感操作。出于这个原因,此类操作仅在 Admin SDK 中可用,这些 SDK 旨在用于受信任的环境,例如您的开发机器、您控制的服务器或 Cloud Functions。有关这些的更多信息,请参阅文档中looking up user data 中底部的两个代码示例。

    如果您想从客户端代码执行此类操作,您的两个主要选项是:

    1. 将所需的映射存储在云托管数据库中,例如 Firebase 的实时数据库或 Firestore,如 Huthaifa also answered。

    2. 在您通过 Admin SDK 查找用户的服务器或 Cloud Functions 上创建您自己的自定义 API。然后,您的客户端应用程序代码可以调用此自定义 API。

    在这两种情况下,您都可以完全控制您共享的数据,以及您如何保护访问。

    【讨论】:

    • Ankit,听听弗兰克的这个。相信他,我们都这样做,尤其是在他提到的安全点方面。祝你们有美好的一天!
    【解决方案2】:

    当然可以,有多种方法可以解决此问题,如果您发布用户模型的结构,或者您如何将它们存储在 firebase 中。

    您可以像以下示例一样运行简单的 Firebase 查询: FirebaseFirestore.instance.collection('users').where('phoneNumber', isEqualTo: thePhonenumberOftheuserYouwant2GetUIDfor).get()

    您还可以将每个用户的可用\可访问联系人存储在他们的用户文档中,当您的用户登录时,它会获取他们所有允许的用户号码。

    您为问题提供的信息越多,StackOverflow 可以为您提供的反馈越多。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2021-05-12
      • 1970-01-01
      相关资源
      最近更新 更多