Firebase предоставляет мощные серверные службы для создания масштабируемых веб- и мобильных приложений. Когда дело доходит до управления учетными записями пользователей, Firebase предлагает различные методы удаления пользовательских данных. В этой статье блога мы рассмотрим различные подходы к удалению пользователей в Firebase с помощью Firebase Admin SDK, дополненные разговорными объяснениями и примерами кода.
Метод 1: удаление пользователя по UID
Один простой способ удалить пользователя — по его уникальному идентификатору (UID). В следующем фрагменте кода показано, как удалить пользователя с помощью Firebase Admin SDK в Node.js:
const admin = require('firebase-admin');
admin.auth().deleteUser(uid)
.then(() => {
console.log('User successfully deleted!');
})
.catch((error) => {
console.error('Error deleting user:', error);
});
Метод 2. Удаление пользователя по электронной почте.
Если у вас есть адрес электронной почты пользователя, которого вы хотите удалить, вы можете использовать метод getUserByEmail, чтобы получить UID пользователя, а затем удалить его. пользователь, как показано ниже:
const admin = require('firebase-admin');
admin.auth().getUserByEmail(email)
.then((userRecord) => {
return admin.auth().deleteUser(userRecord.uid);
})
.then(() => {
console.log('User successfully deleted!');
})
.catch((error) => {
console.error('Error deleting user:', error);
});
Метод 3: пакетное удаление пользователей
В сценариях, когда вам необходимо удалить несколько пользователей одновременно, Firebase позволяет выполнять пакетные операции. Следующий код демонстрирует, как удалить нескольких пользователей по их UID:
const admin = require('firebase-admin');
const deleteUsers = async (userIds) => {
const batch = admin.auth().batch();
userIds.forEach((uid) => {
batch.delete(admin.auth().deleteUser(uid));
});
await batch.commit();
console.log('Users successfully deleted!');
};
deleteUsers(['uid1', 'uid2', 'uid3'])
.catch((error) => {
console.error('Error deleting users:', error);
});
Метод 4. Удаление пользователя по расписанию
Чтобы запланировать удаление пользователя на определенное время, вы можете использовать облачные функции Firebase и триггер onUserDelete. Этот метод позволяет выполнять дополнительные действия, например очистку связанных данных или отправку уведомлений, перед удалением пользователя.
// Cloud Functions code
exports.scheduledUserDeletion = functions.auth.user().onDelete((user) => {
// Perform additional actions before deleting the user
// ...
return admin.auth().deleteUser(user.uid)
.then(() => {
console.log('User successfully deleted!');
})
.catch((error) => {
console.error('Error deleting user:', error);
});
});
В этой статье мы рассмотрели различные способы удаления пользователей в Firebase с помощью Firebase Admin SDK. Мы рассмотрели удаление пользователей по UID, электронной почте, в пакетном режиме и даже планирование удаления с помощью облачных функций. Благодаря этим удобным примерам кода вы теперь имеете четкое представление о том, как удалять пользователей в Firebase, используя различные подходы. Не забывайте осторожно относиться к удалению пользователя, поскольку оно связано с конфиденциальными данными и соображениями безопасности.