Android Firebase使用Google帐户覆盖登录
文档中似乎没有提到这一点,我发现的只是和,我想确认一下: 如果存在具有相同电子邮件地址但 使用其他凭据(例如密码或不受信任的凭据)创建 提供程序),出于安全原因,将删除以前的凭据 如果用户通过Facebook或电子邮件/密码登录,然后通过谷歌登录,他们的帐户登录方法将转换为谷歌。这只发生在谷歌上,并且只有一个帐户的设置是活动的Android Firebase使用Google帐户覆盖登录,android,facebook,firebase,firebase-authentication,google-signin,Android,Facebook,Firebase,Firebase Authentication,Google Signin,文档中似乎没有提到这一点,我发现的只是和,我想确认一下: 如果存在具有相同电子邮件地址但 使用其他凭据(例如密码或不受信任的凭据)创建 提供程序),出于安全原因,将删除以前的凭据 如果用户通过Facebook或电子邮件/密码登录,然后通过谷歌登录,他们的帐户登录方法将转换为谷歌。这只发生在谷歌上,并且只有一个帐户的设置是活动的 是否打算这样做?有没有办法阻止它?正如文档所述:某些电子邮件域有一个可信任的提供商。最重要的是:谷歌是@gmail.com地址的可信提供商,因为它是这些电子邮件地址的唯一
是否打算这样做?有没有办法阻止它?正如文档所述:某些电子邮件域有一个可信任的提供商。最重要的是:谷歌是@gmail.com地址的可信提供商,因为它是这些电子邮件地址的唯一发行人 如果一个用户首先在Facebook上注册了他们的gmail地址,然后又从谷歌供应商那里注册了同一个gmail地址,那么后者的注册将被视为推翻前者。如果用户稍后再次登录Facebook,这两个帐户可以链接 据我所知,防止这种情况发生的唯一方法是允许每个电子邮件地址有多个帐户 另请参见一些Firebase认证工程师的帖子:
FIRAuth.auth()?.fetchProviders(forEmail:email
当您的登录流是Google,然后是Facebook时,getRedirectResult
只会抛出一个“auth/account exists with different credential”
错误,这并不是很直观。如果您这样做的话,则不会出现错误,而Google auth只是取代了Facebook的身份验证。)(这在四年后的今天仍然是一个问题。所以我再次报告了一个问题:@FrankvanPuffelen你知道为什么谷歌不信任Facebook上的电子邮件验证,因为他们现在信任苹果登录中提供的电子邮件,甚至是gmail地址。那么为什么Facebook的电子邮件不可信呢?