Firebase身份验证Android:删除任何身份验证的用户

时间:2018-09-25 05:46:25

标签: android firebase firebase-authentication

我创建了一个应用程序,其中我管理着三个级别的用户,例如“管理员” “ Sub Admin” “客户” strong>

现在,我要添加要从Firebase身份验证中删除的“删除子管理员”功能。

我找到了一些答案,但这仅用于 currentUser

我在文档中显示了deleteUser方法,但我认为该方法已删除或不推荐使用。

是否有其他解决方案替代了此方法?有任何线索吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码删除经过身份验证的用户:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
AuthCredential credential = EmailAuthProvider.getCredential("email", "password");

user.reauthenticate(credential).addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        user.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    Toast.makeText(MainActivity.this, "User deleted", Toast.LENGTH_SHORT).show();
                    }
                }
            });

   }
});

上面的代码首先通过重新验证来检查用户是否已通过验证,如果任务成功,它将删除用户。