当我第一次使用Google帐户登录时,请使用Facebook帐户登录Firbase返回" ERROR_ACCOUNT_EXISTS_WITH_DIFFERENT_CREDENTIAL" 这是正确的,因为我从firebase控制台禁用了签名多凭据选项。
首次使用Facebook帐户登录时会出现问题。 提供者是正确的,UserInfo显示Facebook用户帐户信息。但电子邮件未经过验证。
FirebaseUser user = getFirebaseUser();
user.isEmailVerified() // is false
当我登录Google帐户时会出现非常奇怪的行为。
第一个firebase没有返回相同的凭证异常。因为我已经通过facebook帐户登录。并且Firebase删除了facebook帐户,但我已经通过facebook帐户登录了。
从user.getProviderData()
移除的Facbook用户信息
我检查了Firebase控制台。显示我通过Facebook登录
答案 0 :(得分:1)
查看此帖子,了解为何未验证Facebook电子邮件:Firebase Facebook auth: email verified always false
如果您要考虑验证Facebook电子邮件,可以使用Admin SDK admin.auth().updateUser(uid, {emailVerified: true})
将Facebook电子邮件设置为已验证。点击此处了解详情:https://firebase.google.com/docs/auth/admin/manage-users#update_a_user
查看此帖子,了解Google登录后Facebook帐户取消关联的原因:Authentication using Facebook at first and then Google causes an error in Firebase for Android