【发布时间】:2019-10-17 03:23:02
【问题描述】:
我看到 Firestore 的“身份验证”部分中的每个用户都有一行包含他们的数据。我是否能够在此表中查询用户并添加列,或者创建一个新的用户集合,该集合具有从身份验证部分的用户到集合中的用户的一对一映射?如果是后者,是否有任何方法既可以创建新用户帐户又可以在集合中创建相应文档作为单个事务的一部分?
【问题讨论】:
标签: firebase-authentication google-cloud-firestore
我看到 Firestore 的“身份验证”部分中的每个用户都有一行包含他们的数据。我是否能够在此表中查询用户并添加列,或者创建一个新的用户集合,该集合具有从身份验证部分的用户到集合中的用户的一对一映射?如果是后者,是否有任何方法既可以创建新用户帐户又可以在集合中创建相应文档作为单个事务的一部分?
【问题讨论】:
标签: firebase-authentication google-cloud-firestore
Firestore 没有“身份验证”部分。 Firestore 只允许您在其数据库中读取和写入数据。 Firebase 身份验证是一种不同的产品,它以完全独立于 Firestore 的方式跟踪登录用户。您无法使用 Firestore 在 Firebase 身份验证中查询用户。事实上,您甚至无法使用移动客户端库查询身份验证(因为这可能会给您的应用程序带来安全漏洞)。
如果您想查询应用中的所有用户,您可能需要安排每个用户在 Firestore 的某个集合中编写一个文档,以便 Firestore 客户端库查询。
【讨论】:
您可以将 Cloud Functions 与 Admin SDK 一起使用。创建一个 http 端点或一个在 admin.auth 查询的 http Callable。但这不是安全的。最好的方法是在使用 functions.auth.user().onCreate 创建用户时注册一个 Firestore 文档
【讨论】: