如何从Firebase列表视图中的管理员帐户中删除用户帐户?

时间:2019-10-19 16:00:33

标签: java android firebase-authentication

我已经创建了删除用户的代码。我创建了可以删除用户的管理功能。我已经创建了编码,但是后来我意识到只在用户数据库中删除了用户帐户,而未删除身份验证?如何在Firebase上通过身份验证删除用户数据库?

@Override
    public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, final int i) {

        myViewHolder.email.setText(custList.get(i).getEmail());
        myViewHolder.name.setText(custList.get(i).getName());
        myViewHolder.telephone_number.setText(custList.get(i).getTelephone_number());


        myViewHolder.btnDelete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                String email = custList.get(i).getEmail();
                String id = custList.get(i).getId();

                DatabaseReference dbCust = FirebaseDatabase.getInstance().getReference("Customer");
                dbCust.child(id).removeValue();

                //Toolbar
                // Remove the item on remove/button click
                custList.remove(i);
                /*
                    Parameters
                        position : Position of the item that has now been removed
                */
                notifyItemRemoved(i);

                /*
                    Parameters
                        positionStart : Position of the first item that has changed
                        itemCount : Number of items that have changed
                */
                notifyItemRangeChanged(i, custList.size());

                // Show the removed item label
                Toast.makeText(context, email + " has been removed", Toast.LENGTH_SHORT).show();

            }

        });

    }




1 个答案:

答案 0 :(得分:0)

仅当用户使用this从Android登录后,您才能删除该用户。

但是,如果要删除已登录或未登录的任何用户,则必须使用Admin Sdk

我认为,最简单的方法是将Cloud Functions与Admin Sdk一起使用。它可以侦听数据库更改。当您看到对用户的删除操作时,可以从身份验证中删除该用户。例如,请参见this