首页 > 解决方案 > 使用 firebase.auth() 获取特定用户的个人资料或使用自定义集合来存储和检索个人资料信息

问题描述

我期待看到某种功能来获取“任何”用户的个人资料信息(“currentUser”除外)。就像是

firebase.auth().getUser(displayName)

或者

firebase.auth().getUser(uid)

我找到了下面的文档,似乎没有办法使用 firebase.auth() 来实现这一点。

https://firebase.google.com/docs/reference/js/firebase.auth.Auth.html

所以我得出结论,实现此类功能的唯一方法是将您自己的用户/个人资料信息存储在集合中并查询该集合。这是正确的还是我错过了什么?

感谢经验丰富的 firebase/firestore 开发人员提供的任何帮助。

Ps 我正在使用 react-native。

标签: firebasefirebase-authenticationgoogle-cloud-firestore

解决方案


这对于 Admin SDK 来说是可能的,但对于客户端 SDK 来说是不可能的,而且这很可能是故意的,以限制使用客户端 SDK 从前端获取用户信息的可能性。

例如,使用 Node.js Admin SDK,您可以调用getUser()getUserByEmail()方法。

如果您需要在前端获取用户信息,您可以编写一个Callable Cloud Functionuid ,将所需用户的or传递给该函数,email并调用这些 Admin SDK 方法之一并返回到前端一个或UserRecord方法返回的更多属性。


推荐阅读