【问题标题】:Firebase Authentication Android : Delete Any Authenticated User [duplicate]Firebase Authentication Android:删除任何经过身份验证的用户[重复]
【发布时间】:2018-09-25 05:46:24
【问题描述】:
我创建了一个应用程序,我管理着三个级别的用户,例如 “Admin”、“Sub Admin” 和 “Customers”强>
现在我正在添加我想从 Firebase 身份验证中删除的“删除子管理员”功能。
我找到了一些答案,但这仅适用于 currentUser。
我在文档中展示了deleteUser 方法,但我认为它已被删除或弃用。
是否有任何其他解决方案可以替代此方法?有什么线索吗?
您的帮助将不胜感激,谢谢。
【问题讨论】:
标签:
android
firebase
firebase-authentication
【解决方案1】:
您可以使用此代码删除经过身份验证的用户:
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
AuthCredential credential = EmailAuthProvider.getCredential("email", "password");
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) {
if (task.isSuccessful()) {
Toast.makeText(MainActivity.this, "User deleted", Toast.LENGTH_SHORT).show();
}
}
});
}
});
上面的代码首先通过重认证来检查用户是否被认证,如果任务成功则删除用户。