代码之家  ›  专栏  ›  技术社区  ›  Shane O'Seasnain

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

  •  2
  • Shane O'Seasnain  · 技术社区  · 6 年前

    我一直在找 Firebase Documentation 找到了重新验证用户身份的方法,如下所示。

    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.
      }
    }
    

    我从编译器得到一个错误和警告,如下所示:

    错误:

    初始化前使用的变量“credential”

    警告:

    “reaauthenticate(with:completion:)已弃用:请使用” 使用凭据重新验证和检索数据:完成:用于 Objor—C或 Swift的重新验证和检索数据(带凭证:完成:) 相反。

    有人有更新方法的例子吗?

    1 回复  |  直到 6 年前
        1
  •  4
  •   Sahil Manchanda    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.
                }
            })
    

    因为没有初始化,所以出现错误 凭据 必须初始化 AuthCredential 第一

    这些凭证可能不同

    EmailAuthCredential

    FacebookAuthCredential

    GithubAuthCredential

    GoogleAuthCredential

    PhoneAuthCredential

    PlayGamesAuthCredential

    TwitterAuthCredential

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

    var credential: AuthCredential = EmailAuthProvider.credential(withEmail: "email", password: "pass")