更新了重新认证用户的方法

Sha*_*ain 3 firebase swift firebase-authentication

我一直在寻找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.
  }
}
Run Code Online (Sandbox Code Playgroud)

我从编译器收到如下错误和警告:

错误:

初始化之前使用的变量“凭据”

警告:

不建议使用“ reauthenticate(with:completion :)”:对于Objective-C,请使用reauthenticateAndRetrieveDataWithCredential:completion :;对于Swift,请使用reauthenticateAndRetrieveData(WithCredential:completion :)。

有没有人举一个更新方法的例子?

Sah*_*nda 6

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.
            }
        })
Run Code Online (Sandbox Code Playgroud)

你得到的错误,因为你没有初始化的凭证 你必须初始化AuthCredential第一

这些凭证可以从

EmailAuthCredential

Facebook身份凭证

GithubAuthCredential

GoogleAuthCredential

PhoneAuthCredential

PlayGamesAuthCredential

TwitterAuthCredential

根据您的身份验证方法初始化变量,例如,如果您选择了电子邮件,则可以像

var credential: AuthCredential = EmailAuthProvider.credential(withEmail: "email", password: "pass")
Run Code Online (Sandbox Code Playgroud)