在其他人拥有removeUser的Firebase版本中,我们只能使用电子邮件和密码来删除用户。有了新的Firebase版本,似乎只能删除用户,如果您已与该用户连接...但问题出在与管理员用户连接时,我试图删除其他用户。这是代码。从“管理员用户”重新验证用户x以删除用户x
final FirebaseUser user = mAuth.getCurrentUser();
AuthCredential credential = EmailAuthProvider
.getCredential(mail, postSnapshot.getValue(User.class).getPwdUser());
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> taskDeleted) {
if (taskDeleted.isSuccessful()) {
Toast.makeText(getApplicationContext(),
"Deleted user!", Toast.LENGTH_LONG).show();
}
}
});
}
});
但我不能删除的方法,因为在重新验证它抛出一个错误“所提供的凭证不对应于用户此前签署的。”任何人都知道我可以如何从其他用户身份进行重新验证?
最后的解决方案是从实际用户signout和signwitheamilAndPassword后,与已知用户名和密码,删除日登录用户,并与管理员用户登录后。 – kartGIS