在其他带有removeUser的Firebase版本中,我们只能使用电子邮件和密码删除用户。在新的 Firebase 版本中,似乎您只能删除与该用户连接的用户...但是当我与管理员用户连接并尝试删除其他用户时,问题就出现了。这是代码。
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();
}
}
});
}
});
但我无法获取删除方法,因为在重新验证时它会抛出错误“提供的凭据与之前登录的用户不对应”。有人知道我如何从其他用户处重新进行身份验证吗?
适用于 Android 的 Firebase SDK 只能删除当前登录的用户。因此,如果您知道用户的电子邮件+密码,则必须以该用户身份登录才能删除该帐户。
对于管理功能,您应该使用Firebase 管理 SDK,您应该在受信任的后端服务器上运行。身份验证功能目前仅在适用于节点的 Firebase 管理 SDK.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)