错误:Firebase验证Google删除电子邮件密码验证

错误:Firebase验证Google删除电子邮件密码验证,firebase,firebase-authentication,firebase-security,firebaseui,Firebase,Firebase Authentication,Firebase Security,Firebaseui,我已经有用户使用电子邮件和密码注册 当用户注销,然后使用具有相同电子邮件的google登录时,使用来自Auth的相同用户ID登录成功,但电子邮件密码Auth消失(信封图标消失)。有点被取代了 我的登录应用程序有3个按钮: 用电话签到 使用电子邮件和密码登录 登录谷歌 假设我有一个用户已经注册了: 电邮:awesomeA@gmail.com 密码 然后用户A出于某种原因注销,然后使用谷歌再次登录,但使用相同的电子邮件(awesomeA@gmail.com) 在Console Auth中,用户ID

我已经有用户使用电子邮件和密码注册

当用户注销,然后使用具有相同电子邮件的google登录时,使用来自Auth的相同用户ID登录成功,但电子邮件密码Auth消失(信封图标消失)。有点被取代了

我的登录应用程序有3个按钮:

  • 用电话签到
  • 使用电子邮件和密码登录
  • 登录谷歌
  • 假设我有一个用户已经注册了: 电邮:awesomeA@gmail.com 密码

    然后用户A出于某种原因注销,然后使用谷歌再次登录,但使用相同的电子邮件(awesomeA@gmail.com)

    在Console Auth中,用户ID A与以前相同,但firebase Auth中的图标仅显示google,电子邮件密码Auth的图标消失


    注意:为什么我使用电子邮件密码作为主要身份验证?因为我的应用程序包含付款信息。因此,如果设备被盗,我希望使用firebase重新认证系统使其安全。因此,只要小偷不知道密码,他就不能使用虚拟钱包购买任何东西

    当你使用谷歌登录通过Firebase认证时,你将永远无法访问用户的密码。对于使用Firebase身份验证(Facebook、Twitter)的其他第三方登录也是如此。

    如果您使用SendEmailVerfication()向用户发送验证电子邮件,并且用户确认,则会将其添加到提供商中,而不是替换。基本上,拥有gmail电子邮件也意味着“已验证”。

    仅供参考,firebase技术具有名为“重新验证”的功能,用于在系统不知道密码是什么的情况下检查密码是否正确。那是你想要的重新认证功能吗?该方法需要Firebase凭据对象。。。当用户使用Google登录时,您需要知道如何构建凭证对象吗?不需要。。我的应用程序支持使用多个身份验证登录,当第一次登录电子邮件和密码,然后注销,然后再次登录,但使用谷歌,使用电子邮件和密码的身份验证被删除(图标信封消失)在这一点上,我不确定我是否理解你的问题。你能更新你的问题来添加更多的细节吗?也许可以用一些屏幕截图来显示你正在谈论的“图标信封”?另外,请说明您使用的平台(web、Android、iOS等)。最后,发布用户注销时运行的代码可能会有所帮助。谷歌认证是
    @gmail.com
    电子邮件地址的可信提供商。请看@Frank,但为什么我使用linking auth时,一切都正常?为什么不链接两个身份验证而不是删除电子邮件密码身份验证?真的那么难吗?或者admin.sdk中是否有任何api可用于链接身份验证?我已编辑了我的问题,以添加将电子邮件和密码作为主要身份验证的原因当您手动链接时,您可以确定这两个帐户(电子邮件/密码和谷歌凭据)都由同一用户拥有,因为这两个帐户都是由同一用户获得的。当你使用谷歌登录时,你知道该帐户已被验证,但你无法判断该电子邮件/密码帐户是否属于该验证用户。这就是它被覆盖的原因。嗯。。我明白了,这意味着我需要创建活动来重新链接电子邮件和密码,以确保之前注册的用户是同一用户。。谢谢bojeil,简短的问题如何识别用户是否在auth中有电子邮件和密码?