Как удалить аутентификацию пользователя и учетную запись пользователя в базе данных реального времени одновременно? - PullRequest
0 голосов
/ 20 января 2020

Я хочу создать функцию, где пользователь может удалить свою учетную запись. Если пользователь удаляет свою учетную запись. Вся их информация будет удалена, и аутентификация пользователя также будет удалена. Я создал функцию, но каким-то образом при аутентификации в Firebase электронная почта пользователя не удалялась.

enter image description here

На рисунке выше показано, что учетная запись была удалена, но внутри аутентификации учетная запись все еще не удаляется.

enter image description here

 delete.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    AlertDialog.Builder dialog = new AlertDialog.Builder(CustProfileActivity.this);
                    dialog.setTitle("Are you sure?");
                    dialog.setMessage("Deleting this account will result in completely removing your " +
                            " account from the system and you won't be able to access the app.");
                    dialog.setPositiveButton("Delete", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            progBar.setVisibility(View.VISIBLE);
                            FirebaseDatabase.getInstance().getReference().child("Customer").child(firebaseAuth.getCurrentUser().getUid()).removeValue();
                            currentUser.delete().addOnCompleteListener(new OnCompleteListener<Void>() {
                                @Override
                                public void onComplete(@NonNull Task<Void> task) {
                                    if (task.isSuccessful()){
                                        progBar.setVisibility(View.GONE);
                                        Toast.makeText(getApplicationContext(), "Account Deleted", Toast.LENGTH_SHORT).show();
                                        Intent intent= new Intent(getApplicationContext(),LoginActivity.class);
                                        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                                        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                                        startActivity(intent);
                                    } else {
                                        Toast.makeText(getApplicationContext(), task.getException().getMessage(), Toast.LENGTH_SHORT).show();
                                    }
                                }
                            });
                        }
                    });
                    dialog.setNegativeButton("Dismiss", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            dialogInterface.dismiss();
                        }
                    });
                    AlertDialog alertDialog = dialog.create();
                    alertDialog.show();
                }
            });


Я хочу добиться результата, при котором учетная запись пользователя будет удалена, включая их данные внутри Аутентификация в Firebase.

Ответы [ 2 ]

0 голосов
/ 20 января 2020

Удаление данных из базы данных реального времени также не приведет к удалению учетной записи, зарегистрированной в Firebase Authentication. Если вы хотите, чтобы пользователь мог удалить свою учетную запись , вам нужно будет вызвать FirebaseUser.delete () , как показано в документации .

См. Также: Как удалить пользователя Firebase из Android приложения?

0 голосов
/ 20 января 2020

На самом деле я не знал, что такое глубокая база для погружений. Но я думаю, вы можете использовать этот метод:

Создать облачную функцию. Эта функция будет делать, когда вы удаляете пользователя из базы данных реального времени, запускается функция удаления пользователя при аутентификации.

Вы можете использовать документацию. https://firebase.google.com/docs/database/extend-with-functions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...