How to bulk delete Firebase anonymous users

后端 未结 7 2117
小鲜肉
小鲜肉 2020-12-16 03:27

Due to my probable misuse of anonymous authentication (see How to prevent Firebase anonymous user token from expiring) I have a lot of anonymous users in my app that I don\'

7条回答
  •  星月不相逢
    2020-12-16 04:08

    This code sample uses the Firebase Admin SDK for Node.js, and will delete any user that has no providerData, which means the user is anonymous:

    function deleteAnonymousUsers(nextPageToken) {
     adminApp
        .auth()
        .listUsers(20, nextPageToken)
        .then(function(listUsersResult) {
          listUsersResult.users.forEach(function(userRecord) {
            if (userRecord.providerData.length === 0) { //this user is anonymous
             console.log(userRecord); // do your delete here
             adminApp.auth().deleteUser(userRecord.uid)
                .then(function() {
                    console.log("Successfully deleted user");
                })
                .catch(function(error) {
                    console.log("Error deleting user:", error);
                });
            }
          });
          if (listUsersResult.pageToken) {
            // List next batch of users.
            deleteAnonymousUsers(listUsersResult.pageToken);
          }
        })
        .catch(function(error) {
          console.log('Error listing users:', error);
        });
    }
    

提交回复
热议问题