vue/firebase 的新手。我能够查找如何从身份验证中提取“当前用户”数据没问题,但尝试编写一个可组合的 js,我可以传入任何用户 ID(不一定是当前用户),它将返回用户对象或至少 displayName .
我可以在主题参考中找到的所有文档/视频获取当前用户仅不是其他用户的信息。从谷歌文档它说我应该能够在“检索用户数据”部分中做到这一点。最接近 Vue 代码的模型似乎是“Node.Js”,但它不起作用。
这是我在 getUserById 中得到的
import { getAuth } from 'firebase/auth' const getUserById = (u) => { // u = user id const userData = null getAuth() .getUser(u) .then((userRecord) => { // See the UserRecord reference doc for the contents of userRecord. console.log(`Successfully fetched user data: ${userRecord.toJSON()}`); userData = userRecord }) .catch((error) => { console.log('Error fetching user data:', error); }); return { userData } } export default getUserById
我得到的错误是 getUser 不是一个函数。我尝试将 getUser 添加到导入但同样的错误。
无法在 Firebase 的客户端 API 中通过其 UID 查找任何用户的信息,因为这会带来安全风险。Admin SDK 中有一个 API 可以通过用户的 UID 查找用户,但只能在受信任的环境(例如您的开发机器、您控制的服务器或 Cloud Functions/Cloud Run)上使用,而不是在客户端代码。
如果您在应用程序中需要此类功能,您可以将 Admin SDK 中的功能包装在您随后保护的自定义端点中,或者让每个用户将信息写入云数据库(例如实时数据库或 Firestore)并从中读取那里。