【问题标题】:iOS: Relation between firestore authentication and databaseiOS:firestore 身份验证和数据库之间的关系
【发布时间】:2019-04-23 12:33:53
【问题描述】:

我正在使用 Firestore 数据库。我的应用没有供用户使用的 singup 选项。所以我需要从 Firestore 控制台添加用户。我对文件和身份验证的关系有以下问题:

  1. 我在身份验证部分使用电子邮件/密码创建了用户。
  2. 我在“表”中添加了三条记录和两条重复电子邮件的记录 身份证。
  3. 我使用身份验证用户登录并从中获取所有记录 “表”。

现在我有两条具有相同电子邮件 ID 的记录。那么如何识别哪些记录与经过身份验证的用户相关。

【问题讨论】:

  • 我的建议如下:(手动或以编程方式)在身份验证中创建一个用户,从中获得一个唯一的 UID。使用这个唯一的 uid 在您的用户集合中创建一个文档。当用户登录时,您只需打开相应的文档即可轻松获取用户信息:db.collection("users")。文档()。我无法真正了解您的方法,因为我不清楚您在“表格”中添加的原因和内容以及您最终如何使用同一电子邮件获得记录?
  • @Egghead Umm 我不想从应用程序创建用户。那就是问题所在。如果我从应用程序注册,那么它会正常工作,因为我会在创建用户时将 UID 添加到文档中。
  • 如果您在 console.firebase.google.com 上手动创建用户,您仍然会获得一个可以使用的 UID。您目前如何在 Firestore 中创建文档?
  • 手动点击添加收藏,然后点击添加文档,然后点击添加文件。
  • 所以你可以在那里添加生成的 UID 对吗?作为文档 ID:i.ibb.co/nRpqDBb/Screenshot-2019-04-23-at-15-00-41.png

标签: swift firebase google-cloud-firestore relationship


【解决方案1】:

根据我对您的问题的理解,您可以做几件事:

  1. 您可以使用以下方式匿名登录:

    Auth.auth().signInAnonymously() { (authResult, error) in
       // enter code here
    } 
    

第一次执行上述操作,并将 UID 存储在用户默认值中。 在这里,您将从 authResult 获取用户 ID。 同样在这里您不需要电子邮件 ID 或密码。

或者:

  1. 使用 deviceId 创建一个节点,以便您可以获取该特定设备的数据。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-16
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2014-08-10
    • 2019-08-14
    • 1970-01-01
    相关资源
    最近更新 更多