检索使用Firebase Auth注册的用户列表

use*_*646 5 android firebase firebase-authentication

我正在使用Firebase制作一个android聊天应用程序。到目前为止,我已经制作了一个普通的群聊应用。现在,我要使其成为一个单独的聊天应用程序,它将具有一个“用户”列表,当我们从该列表中选择一个人时,我们可以与他/她单独聊天。但是,我无法从Firebase获取此用户列表。我在Firebase身份验证用户界面中保留了Google登录和电子邮件登录选项。任何帮助,将不胜感激

boj*_*eil 6

如果您需要通过或查找用户uid,则可以使用Admin SDK来进行查找:emailphoneNumber

https://firebase.google.com/docs/auth/admin/manage-users

您甚至还可以下载所有用户:https : //firebase.google.com/docs/auth/admin/manage-users#list_all_users

您可能需要从Node.js后端服务器或通过具有Firebase功能的HTTP端点进行此操作。

此外,借助Admin SDK,您可以设置自定义用户属性,如果您要创建其他用户组,这可能会有所帮助:

https://firebase.google.com/docs/auth/admin/custom-claims

admin.auth().setCustomUserClaims(uid, {groupId: '1234'})


Asp*_*pen 6

Firebase Admin SDK 允许批量检索整个用户列表:

function listAllUsers(nextPageToken) {
  // List batch of users, 1000 at a time.
  admin.auth().listUsers(1000, nextPageToken)
    .then(function(listUsersResult) {
      listUsersResult.users.forEach(function(userRecord) {
        console.log('user', userRecord.toJSON());
      });
      if (listUsersResult.pageToken) {
        // List next batch of users.
        listAllUsers(listUsersResult.pageToken);
      }
    })
    .catch(function(error) {
      console.log('Error listing users:', error);
    });
}
// Start listing users from the beginning, 1000 at a time.
listAllUsers();
Run Code Online (Sandbox Code Playgroud)

注意:此 API 目前仅可用于 Admin Node.js SDK。

通过https://firebase.google.com/docs/auth/admin/manage-users


Na-*_*Hae 0

您无法从 Firebase 身份验证中检索所有经过身份验证的用户的数据,但只能获取当前用户。
为了获取注册用户的数据,您需要将其存储到数据库中,然后检索整个数组,或者您可以只保留身份验证标志,如果用户在所有用户表中注册,则可以设置或重置该身份验证标志,反之亦然。反之亦然。

正如@Jason 所提到的,您可以尝试 Admin SDK,因为文档中提到 listAllUsers() 可以检索批量用户数据。 详细的解释可以在这个线程中
找到。

  • 使用管理 SDK,您可以。请参阅 https://firebase.google.com/docs/auth/admin/manage-users (2认同)