【问题标题】:Updated approach to Reauthenticate a user更新了重新验证用户的方法
【发布时间】:2018-09-04 06:14:29
【问题描述】:

我一直在查看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.
  }
}

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

错误:

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

警告:

'reauthenticate(with:completion:)' 已弃用:请使用 reauthenticateAndRetrieveDataWithCredential:completion: for Objective-C 或 用于 Swift 的 reauthenticateAndRetrieveData(WithCredential:completion:) 而是。

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

【问题讨论】:

    标签: swift firebase firebase-authentication


    【解决方案1】:
    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")
    

    【讨论】:

    • 谢谢。在您给出的初始化示例中,“email”和“pass”占位符是什么?他们是做什么的?
    • 这些凭据用于重新验证用户。你能告诉我你第一次是如何验证用户的吗
    • 嗯.. 我认为您的意思是我需要处理我的工作流程。当我使用Auth.auth().createUser(withEmail: emailAddress, password: userPassword) 创建用户时,我可以使用文本字段来提供参数。为了使重新身份验证正常工作,我是否需要再次在应用程序中重新请求密码? Firebase 文档中并不清楚这一点。是否还会向用户的邮箱发送通知,通知他们他们的帐户已再次登录?他们必须点击邮件中的链接吗?
    • 用户已创建。我们只是在尝试重新认证。就像正常登录一样。所以他们不应该收到验证电子邮件。
    • 谢谢。我希望通过某种电子邮件对帐户进行身份验证,但实际上这只是用户再次登录的问题。
    猜你喜欢
    • 1970-01-01
    • 2011-06-20
    • 2017-02-24
    • 1970-01-01
    • 2015-07-06
    • 2018-04-30
    • 2016-11-10
    • 2016-06-14
    • 2021-10-02
    相关资源
    最近更新 更多