如何从其他用户删除Firebase身份验证用户?

时间:2020-08-09 01:49:05

标签: java android firebase-authentication

我有一个管理员用户,必须能够从中删除用户,但是我在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
        }
    });
}

1 个答案:

答案 0 :(得分:0)

一个用户帐户无法从Android客户端代码中删除另一个用户帐户。相反,您将需要做的事情要复杂得多。您将需要调用在后端运行的代码,将要删除的用户UID传递给它,然后使用Firebase Admin SDKdelete the user account。您可能还应该保护此终结点,以使任何人都不能随意删除其他用户的帐户。