Delete all users from Firebase Auth
Using the Firebase Admin SDK is really easy and the recommended way to perform such tasks on your Firebase data. This solution is unlike the other makeshift solutions using the developer console.
I just put together a Node.js (https://nodejs.org/en/download) script to delete all users in your Firebase authentication. I have already tested it by deleting ~10000 users. I simply ran the following Node.js code.
To setup Firebase Admin SDK
Create a new folder. Run the following in terminal
npm init
npm install firebase-admin --save
Créer un fichier index.js
var admin = require('firebase-admin');
var serviceAccount = require("/path/to/service/accounts/private/key/json/file");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "/url/to/your/database"
});
function deleteUser(uid) {
admin.auth().deleteUser(uid)
.then(function() {
console.log('Successfully deleted user', uid);
})
.catch(function(error) {
console.log('Error deleting user:', error);
});
}
function getAllUsers(nextPageToken) {
admin.auth().listUsers(100, nextPageToken)
.then(function(listUsersResult) {
listUsersResult.users.forEach(function(userRecord) {
uid = userRecord.toJSON().uid;
deleteUser(uid);
});
if (listUsersResult.pageToken) {
getAllUsers(listUsersResult.pageToken);
}
})
.catch(function(error) {
console.log('Error listing users:', error);
});
}
getAllUsers();
Steps to follow:
- Go to your Firebase project -> Project Settings -> Service Accounts.
- Click on
Generate new Private Keyto download the JSON file. Copy the path to JSON file and replace it in the code below in the path to service accounts private key json file. - Also, copy the
databaseURLfrom the settings page. Replace it in the code. - Copy and paste the code in
index.js. - Run in terminal
node index.js.