无法重新授权用户更改电子邮件或重置密码 (Firebase.. Swift)

Cannot re auth user to change email or reset password (Firebase.. Swift)

我无法对答案发表评论,所以我不得不问这个问题,我很抱歉。

我在 Xcode 上收到 错误 当我试图重新验证用户身份以便更改他们的电子邮件和/或密码时。

这是我写的代码。


    var credential: AuthCredential

    let user = Auth.auth().currentUser
            // re authenticate the user
        user?.reauthenticate(with: credential) { error in
            if let error = error {
                // An error happened.
            } else {
                // User re-authenticated.
            }
        }


        }

我收到一条错误消息,指出 无法将类型“(_) -> ()”的值转换为预期的参数类型 'AuthDataResultCallback?'(又名 'Optional<(Optional, Optional) -> ()>')

看来reauthenticate函数returns是一个元组,所以你得改一下代码:

var credential: AuthCredential

let user = Auth.auth().currentUser

// re authenticate the user
user?.reauthenticate(with: credential) { (authDataResult, error) in
    if let error = error {
        // An error happened.
    } else {
        // Use `user` property of result to check is successful.
    }
}

AuthDataResultCallback

FIRAuthDataResult