我创建了一个应用程序,其中我管理着三个级别的用户,例如“管理员” ,“ Sub Admin” 和“客户” strong>
现在,我要添加要从Firebase身份验证中删除的“删除子管理员”功能。
我找到了一些答案,但这仅用于 currentUser 。
我在文档中显示了deleteUser方法,但我认为该方法已删除或不推荐使用。
是否有其他解决方案替代了此方法?有任何线索吗?
感谢您的帮助。
答案 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();
}
}
});
}
});
上面的代码首先通过重新验证来检查用户是否已通过验证,如果任务成功,它将删除用户。