Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Firebase使用Google帐户覆盖登录_Android_Facebook_Firebase_Firebase Authentication_Google Signin - Fatal编程技术网

Android Firebase使用Google帐户覆盖登录

Android Firebase使用Google帐户覆盖登录,android,facebook,firebase,firebase-authentication,google-signin,Android,Facebook,Firebase,Firebase Authentication,Google Signin,文档中似乎没有提到这一点,我发现的只是和,我想确认一下: 如果存在具有相同电子邮件地址但 使用其他凭据(例如密码或不受信任的凭据)创建 提供程序),出于安全原因,将删除以前的凭据 如果用户通过Facebook或电子邮件/密码登录,然后通过谷歌登录,他们的帐户登录方法将转换为谷歌。这只发生在谷歌上,并且只有一个帐户的设置是活动的 是否打算这样做?有没有办法阻止它?正如文档所述:某些电子邮件域有一个可信任的提供商。最重要的是:谷歌是@gmail.com地址的可信提供商,因为它是这些电子邮件地址的唯一

文档中似乎没有提到这一点,我发现的只是和,我想确认一下:

如果存在具有相同电子邮件地址但 使用其他凭据(例如密码或不受信任的凭据)创建 提供程序),出于安全原因,将删除以前的凭据

如果用户通过Facebook或电子邮件/密码登录,然后通过谷歌登录,他们的帐户登录方法将转换为谷歌。这只发生在谷歌上,并且只有一个帐户的设置是活动的


是否打算这样做?有没有办法阻止它?

正如文档所述:某些电子邮件域有一个可信任的提供商。最重要的是:谷歌是@gmail.com地址的可信提供商,因为它是这些电子邮件地址的唯一发行人

如果一个用户首先在Facebook上注册了他们的gmail地址,然后又从谷歌供应商那里注册了同一个gmail地址,那么后者的注册将被视为推翻前者。如果用户稍后再次登录Facebook,这两个帐户可以链接

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

另请参见一些Firebase认证工程师的帖子:


这是一项功能吗?刚刚发给我的支持:谢谢你让我们知道你的担忧。我们已经意识到这个问题,我已经向团队传达了您的担忧。这已经引起了正确的人的注意,并被适当地优先考虑。目前我无法分享任何详细信息或时间表,但我们会考虑您的反馈。有没有办法在其他登录之前提醒用户并停止google登录?有一个函数可以调用
FIRAuth.auth()?.fetchProviders(forEmail:email
当您的登录流是Google,然后是Facebook时,
getRedirectResult
只会抛出一个
“auth/account exists with different credential”
错误,这并不是很直观。如果您这样做的话,则不会出现错误,而Google auth只是取代了Facebook的身份验证。)(这在四年后的今天仍然是一个问题。所以我再次报告了一个问题:@FrankvanPuffelen你知道为什么谷歌不信任Facebook上的电子邮件验证,因为他们现在信任苹果登录中提供的电子邮件,甚至是gmail地址。那么为什么Facebook的电子邮件不可信呢?