Как удалить другого пользователя с помощью функций Firebase? - PullRequest
0 голосов
/ 06 августа 2020

Насколько я понимаю, один пользователь не может удалить другого пользователя в firebase. Из предыдущего topi c я узнал, что могу использовать для этого функции firebase. У каждого пользователя есть документ в облачной базе данных (путь: /users/userPhoneNumber/{age,height,...}). После удаления документа я хочу удалить пользователя из аутентификации firebase. Я знаю, как отловить изменение в облачной базе данных firebase с помощью функции (хотя я не уверен, как отловить удаление), но у меня возникла проблема, как я могу удалить пользователя? Я использую Java для моей стороны приложения и javascript для моей стороны функций. Насколько я понимаю, у пользователя должно быть установлено приложение на телефоне, чтобы удалить его аутентификацию.

1 Ответ

3 голосов
/ 06 августа 2020

Поскольку идентификатор документа Firestore пользователя является номером телефона пользователя, вы можете написать облачную функцию следующим образом, используя методы Admin SDK getUserByPhoneNumber() и deleteUser().

exports.deleteUser = functions.firestore
    .document('users/{userPhoneNbr}')
    .onDelete(async (snap, context) => {
        
        try {
            
            const userPhoneNbr = context.params.userPhoneNbr;
            const userRecord = await admin.auth().getUserByPhoneNumber(userPhoneNbr);
            await admin.auth().deleteUser(userRecord.uid);
            return null;
            
        } catch (error) {
            
            // ....
            
        }

    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...