gpt4 book ai didi

Swift - Firebase - 删除用户帐户(身份验证)

转载 作者:行者123 更新时间:2023-11-30 10:55:16 24 4
gpt4 key购买 nike

我正在尝试删除已使用 Twitter 登录/验证的用户帐户->从 Firebase Auth 中删除它。

当他按下按钮时,就会执行此代码。我设法再次登录并从 Twitter 捕获用户名/用户 ID,但我仍然收到此消息:

error: Error Domain=FIRAuthErrorDomain Code=17014 "This operation is sensitive and requires recent authentication. Log in again before retrying this request." UserInfo={NSLocalizedDescription=This operation is sensitive and requires recent authentication. Log in again before retrying this request., error_name=ERROR_REQUIRES_RECENT_LOGIN} Optional("This operation is sensitive and requires recent authentication. Log in again before retrying this request.")

TWTRTwitter.sharedInstance().logIn(completion: { (session, error) in
if (session != nil) {
print("signed in as \(session?.userName)");
print("signed in as \(session?.userID)");
let user = Auth.auth().currentUser
user?.delete { error in
if let error = error {
// An error happened.
print("error: \(error)")
} else {
print("deleted")
}
}
Auth.auth().currentUser?.delete(completion: { (err) in
print(err?.localizedDescription)
})
} else {
print ("session is nil")
}
})

如何从代码中删除用户的身份验证帐户? (不支持云功能)?

谢谢

最佳答案

不知道直接用Auth.auth()咨询时用户丢失的原因。当前用户?但是,正确的做法是使用完成后产生的 session 变量。在此示例中,我使用电话号码进行身份验证,但它对应于相同的内容。

    let credential = PhoneAuthProvider.provider().credential(
withVerificationID: "some string",
verificationCode: "some string")

Auth.auth().signInAndRetrieveData(with: credential) { (authResult, error) in
if error != nil {
//do something
}
authResult?.user.delete(completion: { _ in
//do something...
})
}

在您的代码中,您必须从 session 变量中调用删除方法。

关于Swift - Firebase - 删除用户帐户(身份验证),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54040657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com