繁体   English   中英

Firebase 使用email登录后google登录报错:密码无效或用户没有密码

[英]Firebase Sign-in with email after google sign-in has error : The password is invalid or the user does not have a password

我正在为我的 iOS 应用程序使用 Firebase 身份验证服务。 我想使用 email 或谷歌登录提供商登录应用程序。 我应用了 firebase intractions

我可以使用 email 和密码登录。 然后我可以使用 Firebase 退出方法退出:

Auth.auth().signOut()

后来,我可以成功地与谷歌签约和退出。 当我使用 email 和密码重新验证时,返回此消息:

密码无效或用户没有密码。

我无法使用 email 登录。

在 Firebase 控制台上,用户帐户符号从邮件更改邮件 去谷歌谷歌 . 因此,我只能与 Google 登录提供商签约,而不是 email。

我无法解决这个问题。 我的错是什么? 下面是我的代码部分。

此外,当我在 firebase 控制台上重置密码时,我可以使用其中两个登录。 两个图像一起出现在控制台上: 图片 我该如何解决这个麻烦?

谢谢!

在 AppDelegate.swift 中:

func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error!) {

    if let error = error {
        log.debug("Error Google Sign-in: \(error)")
        return
    }

    guard let authentication = user.authentication else { return }
    let credential = GoogleAuthProvider.credential(withIDToken: authentication.idToken,
                                                   accessToken: authentication.accessToken)

    Auth.auth().signInAndRetrieveData(with: credential) { (authResult, error) in

        if let error = error {
            log.error(error)
            return
        }
        // User is signed in
    }
}

这是注销按钮操作:

@IBAction func logout_TouchUpInside(_ sender: Any) {

    do {
        try Auth.auth().signOut()
        GIDSignIn.sharedInstance().signOut()

    } catch let error {
        log.error(error.localizedDescription)

    }
    log.info("After  logout current user: \(String(describing: Auth.auth().currentUser))")
}

这仅适用于按照此处所述进行验证的电子邮件和密码帐户:

https://github.com/firebase/firebaseui-web/issues/122#issuecomment-291528845

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM