Firebase使用Google帐户覆盖登录

Aub*_*mai 22 android facebook firebase firebase-authentication google-signin

在文档中似乎没有提到这一点,我发现的只有这个这个,我想在此证实:

如果现有帐户具有相同的电子邮件地址但使用其他凭据(例如密码或不可信提供商)创建,则出于安全原因,将删除先前的凭据.

如果用户通过Facebook或电子邮件/密码登录,稍后通过Google登录,则他们的帐户登录方式将转换为Google.它只发生在Google上,并且只有一个帐户的设置才有效.

它是否应该是这样的,有什么办法可以阻止它吗?

Fra*_*len 14

正如文档所述:某些电子邮件域具有可信赖的提供商.最突出的是:Google是@ gmail.com地址的可信赖提供商,因为它是这些电子邮件地址的唯一发行者.

如果用户首先使用Facebook注册他们的Gmail地址,并且稍后有来自Google提供商的相同gmail地址的注册,则后者注册被视为否决前者.如果用户稍后再次使用Facebook登录,则可以链接这两个帐户.

据我所知,防止这种情况的唯一方法是允许每个电子邮件地址使用多个帐户.

  • 当你的登录流程是谷歌然后是Facebook时,`getRedirectResult`只会抛出一个"auth/account-exists-with-different-credential"错误,这并不是很直观.如果你这样做,那么没有错误,谷歌认证只是取代了facebook.:( (3认同)
  • 那么这是一个特色?支持刚刚发给我:感谢您告诉我们您的疑虑.我们知道这个问题,并且已经将您的关注传达给了团队.这已经引起了正确的人的注意,并且正在被适当地优先考虑.我目前无法分享任何细节或时间表,但我们会考虑您的反馈意见. (2认同)
  • 有一个函数可以调用`FIRAuth.auth()?.fetchProviders(forEmail: email` (2认同)
  • 几乎四年后的今天,这仍然是一个问题。所以我再次报告了一个问题 - https://github.com/firebase/firebase-ios-sdk/issues/5344 @FrankvanPuffelen 你知道为什么 Google 不信任 Facebook 的电子邮件验证吗?现在信任 Apple Sign In 中提供的电子邮件,甚至 Gmail 地址。那么为什么 Facebook 电子邮件不被信任呢? (2认同)