Как удалить учетную запись пользователя firebase, если пользователь зарегистрировался по номеру телефона, используя android firebase auth ui? - PullRequest
0 голосов
/ 07 марта 2020

Приведенный ниже код работает для удаления учетной записи пользователя, когда пользователь регистрируется в Google, но не знает, как справиться, если пользователь регистрируется с номером телефона.

val currentUser = FirebaseAuth.getInstance().currentUser ?: return

val credential: AuthCredential? = when (currentUser.providerData[1].providerId) {
    "google.com" -> {

        val fireBaseContext = FirebaseAuth.getInstance().app.applicationContext
        val googleAccount = GoogleSignIn.getLastSignedInAccount(fireBaseContext)
        GoogleAuthProvider.getCredential(googleAccount?.idToken, null)
    }
    "phone" -> {

        // How to get the below params(verificationId, code), when we use firebase auth ui?
        PhoneAuthProvider.getCredential(currentUser.phoneNumber!!, "")
    }
    else -> return
}

currentUser.reauthenticate(credential!!)
    .addOnCompleteListener { reAuthTask ->

        if (reAuthTask.isSuccessful) {

            AuthUI.getInstance().delete(this)
                .addOnFailureListener { deleteTask ->

                    view.showSnackbar(deleteTask.message!!)
                }
        } else { //Handle the exception

            view.showSnackbar(reAuthTask.exception?.message!!)
        }
    }

1 Ответ

0 голосов
/ 08 марта 2020

Используя метод ниже, вы можете удалить текущего пользователя.

FirebaseUser currentUser= FirebaseAuth.getInstance().getCurrentUser();
currentUser.delete()
        .addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Log.d(TAG, "User account deleted.");
                }
            }
        });

Узнать больше

Вы можете удалить пользователя, используя функцию облака, просто передайте пользовательский идентификатор в ит.

admin.auth().deleteUser(uid)
.then(function() {
    console.log("Successfully deleted user");
})
.catch(function(error) {
    console.log("Error deleting user:", error);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...