我希望能够通过uid以编程方式从Firebase中删除用户帐户,但我只能将其从数据库中删除。
可以在 swift4 上获得类似的内容吗?:
Task<Void> task = FirebaseAuth.getInstance().deleteUser(uid)
.addOnSuccessListener(aVoid -> System.out.println("Successfully deleted user."))
.addOnFailureListener(e -> System.err.println("Error updating user: " + e.getMessage()));
答案 0 :(得分:4)
所以根据this answer
Firebase的客户端SDK只能删除当前经过身份验证的用户。它们不允许删除任何其他用户,也不允许删除由其UID标识的用户。
您当前可以delete a user签名:
let user = Auth.auth().currentUser
user?.delete { error in
if let error = error {
// An error happened.
} else {
// Account deleted.
}
}
如果您想通过UID删除用户,则需要使用Firebase Admin SDK
您可以delete a user使用Firebase Admin SDK,如下所示:
admin.auth().deleteUser(uid)
.then(function() {
console.log("Successfully deleted user");
})
.catch(function(error) {
console.log("Error deleting user:", error);
});
如果您想通过UID删除用户,我的建议是执行以下操作。
答案 1 :(得分:-1)
只需在FirebaseUser对象上调用delete即可从firebase身份验证数据库中删除用户。
FirebaseUser user = firebaseAuth.getCurrentUser();
user.delete();
但如果用户最近未经过身份验证,则可能会要求重新进行身份验证。