我有一个管理员用户,必须能够从中删除用户,但是我在firebase文档中看到的方式是要删除的用户是否已登录;我已经从recycerView中获取了要删除的用户数据,已经获得了ID,电子邮件和密码,
在这部分代码中,我获得了要删除的用户数据:
lvClientes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
personaSelected = (Cliente) adapterView.getItemAtPosition(position);
sId = personaSelected.getUid();
nombreED.setText(personaSelected.getNombre());
sNombre = personaSelected.getNombre();
apellidoED.setText(personaSelected.getApellido());
sApellido = personaSelected.getApellido();
celularED.setText(personaSelected.getCelular());
sCelular = personaSelected.getCelular();
correoED.setText(personaSelected.getCorreo());
sCorreo = personaSelected.getCorreo();
valorED.setText(personaSelected.getValor());
sValor = personaSelected.getValor();
extP = personaSelected.getExtension();
sContrasena = personaSelected.getContrasena();
int post = 0;
if (extP.equals("+57")) {
post = 0;
} else if (extP.equals("+54")) {
post = 1;
} else if (extP.equals("+52")) {
post = 2;
} else if (extP.equals("+502")) {
post = 3;
}
extSP.setSelection(post);
}
});
在这一部分中,我从“实时数据库”中删除用户,如果成功删除了该用户,它将继续从“身份验证”中删除该用户:
//DELETE USER
private void Delete(){
fireData.child("Persona").child(sId).removeValue().addOnCompleteListener(new
OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
// THE METHOD / CODE TO REMOVE THE AUTHENTICATION USER MUST GO HERE
}
});
}
答案 0 :(得分:0)
一个用户帐户无法从Android客户端代码中删除另一个用户帐户。相反,您将需要做的事情要复杂得多。您将需要调用在后端运行的代码,将要删除的用户UID传递给它,然后使用Firebase Admin SDK至delete the user account。您可能还应该保护此终结点,以使任何人都不能随意删除其他用户的帐户。