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

Posted

技术标签:

【中文标题】无法重新授权用户更改电子邮件或重置密码(Firebase .. Swift)【英文标题】:Cannot re auth user to change email or reset password (Firebase.. Swift) 【发布时间】:2019-07-17 04:25:03 【问题描述】:

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

我在尝试重新验证用户身份以更改其电子邮件和/或密码时在 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?” (又名'可选()>')

【问题讨论】:

【参考方案1】:

看起来reauthenticate函数返回一个元组,所以你得改一下代码:

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

【讨论】:

以上是关于无法重新授权用户更改电子邮件或重置密码(Firebase .. Swift)的主要内容,如果未能解决你的问题,请参考以下文章

Drupal 6如何防止特定用户的自动密码恢复和重置

如何更改通过电子邮件发送的重置密码 VIEW? [关闭]

Django Social Auth - 我无法重置通过Facebook签名的用户的密码

Laravel 更改密码重置特定令牌的令牌持续时间

设置更改mysqlroot密码,连接mysql,mysql常用命令

Parse Server 上的自定义重置密码系统