使用GoogleAuthProvider重新认证用户不起作用

时间:2019-08-15 15:09:48

标签: java firebase google-signin

我需要重新验证用户身份才能删除其个人资料。我已经看到了这个答案How to re-authenticate a user on Firebase with Google Provider?,但对我来说不起作用。实际上,下面的代码仅在用户最近登录后才能正确删除。因此,在我的代码中,似乎user.reauthenticate(credential)无法正常工作。

public void OnDeleteProfile(View view){
    new AlertDialog.Builder(this)
    .setPositiveButton("Delete", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
            GoogleSignInAccount acct = GoogleSignIn.getLastSignedInAccount(getApplicationContext());
            AuthCredential credential = GoogleAuthProvider.getCredential(acct.getIdToken(),null);
            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) {
                        }
                    });

               }
            });

        }
    })
    .setIcon(android.R.drawable.ic_dialog_alert)
    .show();
}

0 个答案:

没有答案