我可以使用用户UID删除FIRAuth用户吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我可以使用用户UID删除FIRAuth用户吗?相关的知识,希望对你有一定的参考价值。
我在firebase auth中创建了用作Admin的用户。现在我想登录并使用管理员帐户通过使用FIRAuth用户UID删除其他帐户。如何在swift中实现?
答案
Firebase的客户端SDK只能删除当前经过身份验证的用户。它们不允许删除任何其他用户,也不允许删除由其UID标识的用户。
这意味着您无法实现管理功能,例如在Swift中删除任意用户。
相反,你将不得不use the Firebase Admin SDK to delete an arbitrary user或allow your iOS users to delete their own account。鉴于Admin SDK允许其用户执行的操作,它应仅在受信任的环境中使用,例如您控制的服务器或Cloud Functions for Firebase。
另一答案
您可以像这样删除/删除用户:
注意:某些对安全性敏感的操作(例如删除帐户,设置主电子邮件地址和更改密码)要求用户最近登录。
let credential: AuthCredential
user.reauthenticate(with:credential) { error in
if let error = error {
// An error happened.
showAlertWithErrorMessage(message: error.localizedDescription)
} else {
// User re-authenticated.
user.delete { error in
if let error = error {
// An error happened.
showAlertWithErrorMessage(message: error.localizedDescription)
} else {
// Account deleted.
Database.database().reference(fromURL: kFirebaseLink).child(kUser).child(userID).removeValue()
try! Auth.auth().signOut()
self.navigationController?.popToRootViewController(animated: true)
}
}
}
}
}else{
showAlertWithErrorMessage(message: "Try again later")
}
这样就可以在我的ios应用程序中实现删除用户功能。(从firebase身份验证和数据库两侧删除用户)
100%工作和测试
以上是关于我可以使用用户UID删除FIRAuth用户吗?的主要内容,如果未能解决你的问题,请参考以下文章