【问题标题】:How do I getuser by displayName using firebase admin?如何使用 firebase admin 通过 displayName 获取用户?
【发布时间】:2021-05-21 03:41:00
【问题描述】:

在使用 firebase-admin 时,我正在尝试在注册过程中检查用户名是否已经存在。似乎没有 getuserbydisplayname 函数。我尝试使用 getUser 函数并像这样传入 displayName,但它不接受。

        admin.auth().getUsers([{ 
                displayName: username 
            },]).then((getUsersResult) => {
                if(getUsersResult.users.length > 0){
                    console.log("User already exists.");
            }
        })
        .catch((error) => {
          console.log('Error fetching user data:', error);
        });

文档说只接受 uid、电子邮件或电话。似乎唯一的另一种方法是列出所有用户并检查他们中的任何一个是否具有相同的显示名称,但这似乎真的效率低下。我也可以创建另一个数据库并引用它,但它似乎也效率低下。我应该如何做到最好?

【问题讨论】:

  • 嘿,对不起,我忘记投票了,我最终按照您的建议创建了一个包含用户个人资料信息的附加数据库。谢谢!

标签: node.js firebase-authentication firebase-admin


【解决方案1】:

在 Firebase Admin SDK(也没有在其他 SDK)中,无法通过显示名称访问用户。您必须遍历所有用户,并逐个检查他们的显示名称,直到找到您想要的。

或者(并且更常见)您可以维护自己的用户个人资料信息数据库,并在那里执行查询。

【讨论】:

    猜你喜欢
    • 2023-01-20
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多