【问题标题】:Firebase users authenticationFirebase 用户身份验证
【发布时间】:2021-07-31 09:01:37
【问题描述】:

在 iOS 应用上工作,目前应用有一些未来:

  • 使用电话号码或 Apple 登录/登录
  • 读取数据 现在我想将登录用户作为文档添加到 Firestore 集合“用户”中。我想在哪里存储来自 firestore 集合的最喜欢的文档。顺便说一句,应用内用户没有敏感信息。

我的第一个场景是:

  1. 用户登录。
  2. 应用程序向后端发送请求,该后端使用 uid 和收藏夹数组创建/更新文档。
  3. 当用户想要获取收藏列表或添加新的时,应用会发送带有 uid (Auth.auth().currentUser) 的请求,以检测当前用户。

但在 firebase 文档中,我们有这样的: 用户 ID,Firebase 项目独有。如果您有后端服务器,请勿使用此值对后端服务器进行身份验证。 顺便说一句,互联网上的许多指南都提供保存 uid 作为与后端通信的关键。

我还有另一个想法 - 保存电话号码或电子邮件地址而不是 uid。但我想这种情况很糟糕。

谁能解释我的最佳做法?

【问题讨论】:

    标签: swift firebase google-cloud-firestore


    【解决方案1】:

    主要区别在于 UID 用于区分一个用户和另一个用户。它是一个唯一标识符,您可以使用它来将文档或集合与该特定用户相关联,但这不用于对用户进行身份验证,这是通过称为 ID token 的 JWT 完成的,大多数 Firebase 都会处理它,并且被动解码。

    您可以将用户的 uid 共享给其他用户,以便应用了解哪些用户拥有数据集、团队中有哪些用户等。它不应该单独用于验证用户,但取决于您的服务,此信息可通过安全规则中的context.auth 属性或request.auth 资源获得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-18
      • 1970-01-01
      • 2023-03-09
      • 2015-12-29
      • 2021-12-04
      • 2021-12-19
      相关资源
      最近更新 更多