Android Firebase通过电子邮件和Google帐户进行身份验证

Android Firebase通过电子邮件和Google帐户进行身份验证,android,firebase,firebase-authentication,firebaseui,google-account,Android,Firebase,Firebase Authentication,Firebaseui,Google Account,我正在使用Firebase UI在我的Android应用程序上实现用户身份验证,但我面临一个问题。 以下是场景: 用户使用其电子邮件地址创建帐户 用户从该帐户注销 同一个用户尝试使用他们的Google帐户登录,这恰好是他们用来创建具有电子邮件地址的帐户的同一电子邮件地址 用户成功登录并可以查看帐户中的数据(与步骤1中的帐户相同 用户注销 用户尝试使用电子邮件地址登录 用户收到未知错误,无法使用电子邮件地址登录。Google帐户一切正常,但使用电子邮件登录不再有效 我尝试使用web客户端查找实际错

我正在使用Firebase UI在我的Android应用程序上实现用户身份验证,但我面临一个问题。 以下是场景:

  • 用户使用其电子邮件地址创建帐户
  • 用户从该帐户注销
  • 同一个用户尝试使用他们的Google帐户登录,这恰好是他们用来创建具有电子邮件地址的帐户的同一电子邮件地址
  • 用户成功登录并可以查看帐户中的数据(与步骤1中的帐户相同
  • 用户注销
  • 用户尝试使用电子邮件地址登录
  • 用户收到
    未知错误
    ,无法使用电子邮件地址登录。Google帐户一切正常,但使用电子邮件登录不再有效
  • 我尝试使用web客户端查找实际错误,当尝试使用电子邮件地址登录时,出现以下错误:

    {
     "code":"auth/wrong-password",
     "message":"The password is invalid or the user does not have a password."
    }
    

    这是因为当用户第二次登录时,使用他的Google帐户,它会覆盖Firebase帐户中的数据。这意味着Google凭据仍然是默认凭据。这是因为一个明显的原因,Google帐户是一个受信任的来源,这就是为什么我们有这种行为


    要解决您的问题,您需要根据该电子邮件地址将这两个帐户链接到一个帐户中。

    我不明白“将这两个帐户链接到一个帐户中”是什么意思。这意味着当用户尝试使用其电子邮件和密码再次登录时(在被覆盖后),使用谷歌凭据“强制登录”。