作者:手机用户2502927203 | 来源:互联网 | 2022-12-05 18:45
我一直在寻找Firebase文档,并找到了重新验证用户身份的方法,如下所示。
let user = Auth.auth().currentUser
var credential: AuthCredential
// Prompt the user to re-provide their sign-in credentials
user?.reauthenticate(with: credential) { error in
if let error = error {
// An error happened.
} else {
// User re-authenticated.
}
}
我从编译器收到如下错误和警告:
错误:
初始化之前使用的变量“凭据”
警告:
不建议使用“ reauthenticate(with:completion :)”:对于Objective-C,请使用reauthenticateAndRetrieveDataWithCredential:completion :;对于Swift,请使用reauthenticateAndRetrieveData(WithCredential:completion :)。
有没有人举一个更新方法的例子?
1> Sahil Mancha..:
let user = Auth.auth().currentUser
var credential: AuthCredential
user?.reauthenticateAndRetrieveData(with: credential, completion: {(authResult, error) in
if let error = error {
// An error happened.
}else{
// User re-authenticated.
}
})
你得到的错误,因为你没有初始化的凭证
你必须初始化AuthCredential第一
这些凭证可以从
EmailAuthCredential
Facebook身份凭证
GithubAuthCredential
GoogleAuthCredential
PhoneAuthCredential
PlayGamesAuthCredential
TwitterAuthCredential
根据您的身份验证方法初始化变量,例如,如果您选择了电子邮件,则可以像
var credential: AuthCredential = EmailAuthProvider.credential(withEmail: "email", password: "pass")